asreml 设定初始值 固定初始值

. 背景

一个朋友问我,如何固定asreml的初始值,现在分为单性状和多性状进行说明。
为何要固定初始值:
1,由于群体较小,估算的方差组分不准确,需要手动设定初始值,直接进行求解
2,有些群体数据,估算方差组分不收敛,需要手动固定初始值
为何要设定初始值:
1,从头进行估算,模型运行时间较长,根据先验信息,手动设定初始值,迭代收敛速度更快
2,多性状分析中,模型不容易收敛,手动设定初始值,更容易收敛和迭代

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

以asreml包中自带的数据harvey为例,进行演示。

> library(asreml)> data(harvey)> head(harvey)  Calf   Sire Dam Line ageOfDam  y1  y2  y31  101 Sire_1   0    1        3 192 390 2242  102 Sire_1   0    1        3 154 403 2653  103 Sire_1   0    1        4 185 432 2414  104 Sire_1   0    1        4 183 457 2255  105 Sire_1   0    1        5 186 483 2586  106 Sire_1   0    1        5 177 469 267

数据前三列为系谱数据,Line为固定因子,ageOfDam为协变量,y1,y2,y3为三个性状。

2.1 运行单性状动物模型

# 计算A逆矩阵ainv <- asreml.Ainverse(harvey[,1:3])$ginvhead(ainv)# 1. 单性状模型mod1 <- asreml(y1 ~ Line,random =~ ped(Calf),ginverse = list(Calf=ainv),data=harvey)summary(mod1)$varcomp

结果如下:

> summary(mod1)$varcomp                 gamma component std.error   z.ratio constraintped(Calf)!ped 2.144929 108.83588 106.37372 1.0231463   PositiveR!variance    1.000000  50.74101  86.63851 0.5856635   Positive

可以看到Va为108.83,Ve为50.74,模型收敛。

2.2 单性状动物模型设定初始值

设定初始值,是为了更好的收敛,不影响结果。

# 1.1. 单性状设定初始值mod <- asreml(y1 ~ Line,random =~ ped(Calf),              ginverse = list(Calf=ainv),              start.values = T,              data=harvey)vc = mod$gammas.tablevcvc$Value = c(100,50)vcmod1.1 <- asreml(y1 ~ Line,random =~ ped(Calf),              ginverse = list(Calf=ainv),              G.param = vc,R.param = vc,              data=harvey)summary(mod1.1)$varcomp

结果:

> summary(mod1.1)$varcomp                  gamma component std.error   z.ratio constraintped(Calf)!ped 108.83606 108.83606 106.37146 1.0231697   PositiveR!variance      1.00000   1.00000        NA        NA      FixedR!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.tablevcvc$Value = c(100,50)vc$Constraint = rep("F",2)vcmod1.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 constraintped(Calf)!ped   100       100        NA      NA      FixedR!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 constrainttrait:ped(Calf)!trait.y1:y1 108.83746 108.83746 106.37437  1.0231549   Positivetrait:ped(Calf)!trait.y3:y1 -51.25056 -51.25056 166.86351 -0.3071406   Positivetrait:ped(Calf)!trait.y3:y3 499.55701 499.55701 500.53419  0.9980477   PositiveR!variance                    1.00000   1.00000        NA         NA      FixedR!trait.y1:y1                50.73993  50.73993  86.63929  0.5856457   PositiveR!trait.y3:y1               -21.53905 -21.53905 136.25598 -0.1580778   PositiveR!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.tablevcvc$Value = c(Va,1,Ve)vc$Constraint = c(rep("F",7))vcmod2.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 constrainttrait:ped(Calf)!trait.y1:y1   108       108        NA      NA      Fixedtrait:ped(Calf)!trait.y3:y1   -51       -51        NA      NA      Fixedtrait:ped(Calf)!trait.y3:y3   499       499        NA      NA      FixedR!variance                      1         1        NA      NA      FixedR!trait.y1:y1                  50        50        NA      NA      FixedR!trait.y3:y1                 -21       -21        NA      NA      FixedR!trait.y3:y3                 273       273        NA      NA      Fixed

4. 结论

  • 1,固定方差组分和设置方差组分方法类似, 不同的是constraintFixed
  • 2,设定方差组分时,先要运行start.values=T,这样就可以生产一个表格,进行修改value和contraint即可
  • 3,单性状和多性状设定方法类似
    更多知识,欢迎关注我的公众号:R-breeding



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,585评论 4 365
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,923评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,314评论 0 248
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,346评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,718评论 3 291
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,828评论 1 223
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,020评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,758评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,486评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,722评论 2 251
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,196评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,546评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,211评论 3 240
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,132评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,916评论 0 200
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,904评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,758评论 2 274

推荐阅读更多精彩内容