2025年asreml-r 在运行中不收敛怎么办?

asreml-r 在运行中不收敛怎么办?在 asreml r 运行中 经常遇到模型不收敛的情况 这里我们介绍 3 种方法来解决不收敛的情况 导入数据和模型 library asreml load the package data harvey head harvey str harvey ped lt harvey 1 3 ainv lt asreml

大家好,我是讯享网,很高兴认识大家。

在asreml-r运行中,经常遇到模型不收敛的情况,这里我们介绍3种方法来解决不收敛的情况。

导入数据和模型

library(asreml) # load the package
data(“harvey”)
head(harvey)
str(harvey)

ped <- harvey[,1:3]
ainv <- asreml.Ainverse(ped)$ginv
head(ainv)

运行单性状模型y2

m1 <- asreml(y2 ~ Line, random = ~ ped(Calf), ginverse =list(Calf=ainv),data=harvey) summary(m1)$varcomp # ped is 0, R is 287

讯享网
讯享网ASReml: Thu Apr 06 17:23:38 2017 LogLik S2 DF wall cpu -264.4319 1474.0895 62 17:23:38 0.0 (1 restrained) -264.3059 1592.5437 62 17:23:38 0.0 (1 restrained) -264.2982 1600.8401 62 17:23:38 0.0 (1 restrained) -264.2977 1601.3686 62 17:23:38 0.0 (1 restrained) -264.2977 1601.4020 62 17:23:38 0.0 -264.2977 1601.4020 62 17:23:38 0.0 -264.2977 1601.4020 62 17:23:38 0.0 Finished on: Thu Apr 06 17:23:38 2017 LogLikelihood Converged 
gamma component std.error z.ratio constraint
ped(Calf)!ped 1.6e-06 2.e-03 4.e-04 5. Boundary
R!variance 1.0e+00 1.e+03 2.e+02 5. Positive

可以看到,ped的方差组分基本为0,残差R为287

plot(m1)

这里写图片描述
讯享网

运行单性状模型y3

讯享网m2 <- asreml(y3 ~ Line, random = ~ ped(Calf), ginverse =list(Calf=ainv),data=harvey) summary(m2)$varcomp # ped is 500, R is 410
ASReml: Thu Apr 06 17:22:03 2017 LogLik S2 DF wall cpu -239.6964 663.7311 62 17:22:03 0.0 -239.3469 591.8505 62 17:22:03 0.0 -239.0326 489.6240 62 17:22:03 0.0 -238.8604 365.1480 62 17:22:03 0.0 -238.8324 297.4237 62 17:22:03 0.0 -238.8306 275.3345 62 17:22:03 0.0 -238.8305 273.1609 62 17:22:03 0.0 -238.8305 273.1669 62 17:22:03 0.0 Finished on: Thu Apr 06 17:22:03 2017 LogLikelihood Converged 
gamma component std.error z.ratio constraint
ped(Calf)!ped 1. 499.5207 500.5071 0. Positive
R!variance 1.000000 273.1669 410.0170 0. Positive

可以看到ped为500,残差R为410

讯享网plot(m2)

这里写图片描述

运行双性状模型

1,直接运行

m_12 <- asreml(cbind(y2,y3)~trait, random = ~ us(trait):ped(Calf), ginverse = list(Calf=ainv), rcov = ~ units:us(trait),data=harvey) summary(m_12)$varcomp
讯享网ASReml: Thu Apr 06 17:22:07 2017 LogLik S2 DF wall cpu -597.9669 1.0000 128 17:22:07 0.0 (3 restrained) -571.8584 1.0000 128 17:22:07 0.0 (3 restrained) -543.2659 1.0000 128 17:22:07 0.0 -522.7403 1.0000 128 17:22:07 0.0 -517.3376 1.0000 128 17:22:07 0.0 -516.5146 1.0000 128 17:22:07 0.0 -516.4598 1.0000 128 17:22:07 0.0 -516.4590 1.0000 128 17:22:07 0.0 -516.4590 1.0000 128 17:22:07 0.0 Finished on: Thu Apr 06 17:22:07 2017 LogLikelihood Converged 
gamma component std.error z.ratio constraint
trait:ped(Calf)!trait.y2:y2 335.91633 335.91633 640.2366 0. Positive
trait:ped(Calf)!trait.y3:y2 -76.79937 -76.79937 383.5906 -0. Positive
trait:ped(Calf)!trait.y3:y3 546.65342 546.65342 459.3477 1. Positive
R!variance 1.00000 1.00000 NA NA Fixed
R!trait.y2:y2 1387.06671 1387.06671 635.5144 2. Positive
R!trait.y3:y2 219.37425 219.37425 343.8650 0. Positive
R!trait.y3:y3 238.55889 238.55889 382.3906 0. Positive

可以看到,模型收敛

2,增大迭代次数(maxit=1000)

m_12one <- asreml(cbind(y2,y3)~trait, random = ~ us(trait):ped(Calf),
ginverse = list(Calf=ainv),
rcov = ~ units:us(trait),data=harvey,
maxit = 1000)
summary(m_12one)$varcomp

3,用update函数

m_12two <- update(m_12) summary(m_12two)$varcomp
讯享网ASReml: Thu Apr 06 17:22:12 2017 LogLik S2 DF wall cpu -516.4590 1.0000 128 17:22:12 0.0 -516.4590 1.0000 128 17:22:12 0.0 -516.4590 1.0000 128 17:22:12 0.0 -516.4590 1.0000 128 17:22:12 0.0 Finished on: Thu Apr 06 17:22:12 2017 LogLikelihood Converged 
gamma component std.error z.ratio constraint
trait:ped(Calf)!trait.y2:y2 335.91632 335.91632 640.2367 0. Positive
trait:ped(Calf)!trait.y3:y2 -76.79938 -76.79938 383.5904 -0. Positive
trait:ped(Calf)!trait.y3:y3 546.65342 546.65342 459.3473 1. Positive
R!variance 1.00000 1.00000 NA NA Fixed
R!trait.y2:y2 1387.06671 1387.06671 635.5145 2. Positive
R!trait.y3:y2 219.37425 219.37425 343.8649 0. Positive
R!trait.y3:y3 238.55889 238.55889 382.3903 0. Positive

4,用init设置初始值

# 注意这里,us(trait,init=c(0,0.1,499))中,0是y2中ped的方差组分,0.1是协方差(未知,这里设置为0.1),499是y3的方差组分, # 同理rcov是两性状残差的方差组分 m_12 <- asreml(cbind(y2,y3)~trait, random = ~ us(trait,init=c(0,0.1,499)):ped(Calf), ginverse = list(Calf=ainv), rcov =~ units:us(trait,init=c(1601,0.1,273)),data=harvey) summary(m_12)$varcomp
讯享网ASReml: Thu Apr 06 17:22:13 2017 LogLik S2 DF wall cpu -520.4297 1.0000 128 17:22:13 0.0 (3 restrained) -518.3307 1.0000 128 17:22:13 0.0 (2 restrained) -517.1351 1.0000 128 17:22:13 0.0 -516.4907 1.0000 128 17:22:13 0.0 -516.4591 1.0000 128 17:22:13 0.0 -516.4590 1.0000 128 17:22:13 0.0 -516.4590 1.0000 128 17:22:13 0.0 Finished on: Thu Apr 06 17:22:13 2017 LogLikelihood Converged 
gamma component std.error z.ratio constraint
trait:ped(Calf)!trait.y2:y2 335.91632 335.91632 640.2368 0. Positive
trait:ped(Calf)!trait.y3:y2 -76.79937 -76.79937 383.5905 -0. Positive
trait:ped(Calf)!trait.y3:y3 546.65342 546.65342 459.3474 1. Positive
R!variance 1.00000 1.00000 NA NA Fixed
R!trait.y2:y2 1387.06672 1387.06672 635.5146 2. Positive
R!trait.y3:y2 219.37425 219.37425 343.8649 0. Positive
R!trait.y3:y3 238.55889 238.55889 382.3903 0. Positive
小讯
上一篇 2025-03-01 08:13
下一篇 2025-03-31 18:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/73177.html