asreml怎样设定初始值

技术asreml怎样设定初始值asreml怎样设定初始值,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 背景一个朋友问我,如何固定asr

asreml的初始值如何设置,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。

00-1010有朋友问我asreml的初始值怎么定,现在分为单性状和多性状。为何要固定初始值:

1.由于人口少,估计的方差分量不准确,需要手动设置初始值,直接求解。

2.对于某些人口数据,估计的方差分量不收敛,因此需要手动修正初始为何要设定初始值:.

1、从头开始,模型长时间运行,根据先验信息手动设置初始值,迭代收敛速度更快。

2.在多性状分析中,模型不容易收敛,手动设置初始值更容易收敛和迭代。

00-1010以asreml包中的数据harvey为例进行演示。

库(asreml)

数据(哈维)

负责人(哈维)

小牛公畜坝线年龄为y1 y2 y3

1 101 Sire_1 0 1 3 192 390 224

2 102 Sire_1 0 1 3 154 403 265

3 103 Sire_1 0 1 4 185 432 241

4 104 Sire_1 0 1 4 183 457 225

5 105 Sire_1 0 1 5 186 483 258

106 sire _ 1015 177 469 267数据前三列为系谱数据,Line为固定因子,ageOfDam为协变量,Y1、Y2、Y3为三个字符。

1. 背景

#计算A的逆矩阵

ainv - asreml。Ainverse(harvey[,1:3])$ginv

主管(ainv)

# 1.单性状模型

mod1 - asreml(y1 ~ Line,random=~ ped(小腿),ginverse=list(小腿=ainv),data=harvey)

汇总(mod1)$varcomp结果如下:

汇总(mod1)$varcomp

伽马分量标准误差z比率约束

ped(小腿)!ped 2.144929 108.83588 106.37372 1.0231463阳性

r!方差1.000000 50.74101 86.63851 0.5856635正说明Va为108.83,ve为50.74,模型收敛。

2. 单性状设定初始值和固定初始值

设置初始值以便更好地收敛,并且不影响结果。

# 1.1.设置单个字符的初始值

mod - asreml(y1 ~ Line,random=~ ped(小腿),

ginverse=list(小腿=ainv),

起始值=T,

数据=哈维)

vc=mod$gammas.table

风险投资

价值=c(100,50)

风险投资

mod1.1 - asreml(y1 ~ Line,random=~ ped(小腿),

ginverse=list(小腿=ainv),

参数=vc,参数=vc,

数据=哈维)

汇总(mod1.1)$varcomp结果:

汇总(mod1.1)$varcomp

伽马分量标准误差z比率约束

彼得(加州

lf)!ped 108.83606 108.83606 106.37146 1.0231697   Positive
R!variance      1.00000   1.00000        NA        NA      Fixed
R!units.var    50.74109  50.74109  86.63707 0.5856742   Positive

2.3 单性状动物模型固定初始值

固定初始值,直接求解,asreml的结果方差组分状态为Fixed

# 1.2. 单性状固定方差组分
mod <- asreml(y1 ~ Line,random =~ ped(Calf),
ginverse = list(Calf=ainv),
start.values = T,
data=harvey)
vc = mod$gammas.table
vc
vc$Value = c(100,50)
vc$Constraint = rep("F",2)
vc
mod1.2 <- asreml(y1 ~ Line,random =~ ped(Calf),
ginverse = list(Calf=ainv),
G.param = vc,R.param = vc,
data=harvey)
summary(mod1.2)$varcomp

结果:

> summary(mod1.2)$varcomp
gamma component std.error z.ratio constraint
ped(Calf)!ped   100       100        NA      NA      Fixed
R!variance       50        50        NA      NA      Fixed

结果可以看出,方差组分变为了100,50,同时状态是Fixed,说明是固定方差组分的结果,这样计算的BLUP值就是我们想要的。

3. 多性状固定方差组分

3.1 运行多性状模型
# 2. 多性状模型
mod2 <- asreml(cbind(y1,y3) ~ trait + trait:Line,
random =~ us(trait):ped(Calf),
rcov = ~ (units):us(trait),
ginverse = list(Calf=ainv),data=harvey)
summary(mod2)$varcomp
> summary(mod2)$varcomp
gamma component std.error    z.ratio constraint
trait:ped(Calf)!trait.y1:y1 108.83746 108.83746 106.37437  1.0231549   Positive
trait:ped(Calf)!trait.y3:y1 -51.25056 -51.25056 166.86351 -0.3071406   Positive
trait:ped(Calf)!trait.y3:y3 499.55701 499.55701 500.53419  0.9980477   Positive
R!variance                    1.00000   1.00000        NA         NA      Fixed
R!trait.y1:y1                50.73993  50.73993  86.63929  0.5856457   Positive
R!trait.y3:y1               -21.53905 -21.53905 136.25598 -0.1580778   Positive
R!trait.y3:y3               273.13654 273.13654 410.03528  0.6661294   Positive
3.2 多性状模型固定方差组分
# 2.2 固定初始值
Va = c(108,-51,499)
Ve = c(50,-21,273)
mod2.2 <- asreml(cbind(y1,y3) ~ trait + trait:Line,
random =~ us(trait,init=Va):ped(Calf),
rcov = ~ units:us(trait,init=Ve),
start.values = TRUE,
ginverse = list(Calf=ainv),data=harvey)
vc = mod2.2$gammas.table
vc
vc$Value = c(Va,1,Ve)
vc$Constraint = c(rep("F",7))
vc
mod2.3 <- asreml(cbind(y1,y3) ~ trait + trait:Line,
random =~ us(trait,init=Va):ped(Calf),
rcov = ~ units:us(trait,init=Ve),
G.param = vc,R.param = vc,
ginverse = list(Calf=ainv),data=harvey)
summary(mod2.3)$varcomp

结果:

> summary(mod2.3)$varcomp
gamma component std.error z.ratio constraint
trait:ped(Calf)!trait.y1:y1   108       108        NA      NA      Fixed
trait:ped(Calf)!trait.y3:y1   -51       -51        NA      NA      Fixed
trait:ped(Calf)!trait.y3:y3   499       499        NA      NA      Fixed
R!variance                      1         1        NA      NA      Fixed
R!trait.y1:y1                  50        50        NA      NA      Fixed
R!trait.y3:y1                 -21       -21        NA      NA      Fixed
R!trait.y3:y3                 273       273        NA      NA      Fixed

4. 结论

  • 1,固定方差组分和设置方差组分方法类似, 不同的是constraintFixed

  • 2,设定方差组分时,先要运行start.values=T,这样就可以生产一个表格,进行修改value和contraint即可

  • 3,单性状和多性状设定方法类似

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/141703.html

(0)

相关推荐

  • C#打印源码的具体实现是怎样的

    技术C#打印源码的具体实现是怎样的本篇文章给大家分享的是有关C#打印源码的具体实现是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#打印源码也是打印

    攻略 2021年11月24日
  • 怎么用qt实现复制文件程序(qt设计中如何添加组件)

    技术怎么用QT制作一个简易的传输文件小工具本篇内容主要讲解“怎么用QT制作一个简易的传输文件小工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用QT制作一个简易的传输文

    攻略 2021年12月18日
  • ios15 beta2什么时候出(xsmax ios15建议更新吗)

    技术iOS 9适配中会遇到的问题有哪些这篇文章主要介绍iOS 9适配中会遇到的问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、NSAppTransportSecurityiOS9让所有

    攻略 2021年12月24日
  • 淘宝怎么评论,淘宝里怎么找到自己的评价

    技术淘宝怎么评论,淘宝里怎么找到自己的评价步骤一首先进入手机淘宝app步骤二进入淘宝页面登录自己的账号后淘宝怎么评论,点击“我的淘宝”步骤三在必选工具中点击“查看全部工具”步骤四在互动参与中选择“我的评价”步骤五在跳出的

    生活 2021年10月29日
  • Backbone.js Wine Cellar中CRUD的示例分析

    技术Backbone.js Wine Cellar中CRUD的示例分析小编给大家分享一下Backbone.js Wine Cellar中CRUD的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!您

    攻略 2021年11月24日
  • ORACLE rman备份报错RMAN-03009&ORA-19587&ORA-27072该怎么办

    技术ORACLE rman备份报错RMAN-03009&ORA-19587&ORA-27072该怎么办今天就跟大家聊聊有关ORACLE rman备份报错RMAN-03009&ORA-19587&ORA-27072该怎么办

    攻略 2021年12月1日