||
大家好,我是飞哥。
「育种值的准确性是什么呢?为何要计算育种值的准确性呢?」育种值的准确性的大小可以反应育种值计算的准确性如何,如果准确性高,就说明计算育种值时依赖的信息多(比如亲子关系、同胞关系等),结果就可靠。
❝育种值也可以计算可靠性,它是准确性的平方
❞
另外,对于不同性状或者不同试验的BLUP值的准确性进行比较时,因为方差组分、标准误、BLUP值都不一样,没有一个标准,可以用准确性(accuracy)这个指标进行比较。
❝书籍:王金玉, 陈国宏. 《数量遗传与动物育种》. 东南大学出版社, 2004,P200,第四节:单性状BLUP育种值估计
❞
dat = data.frame(id=c(4,5,6),sire = c(1,3,3),dam=c(2,2,4),y=c(200,170,180))
dat
书中标准差为100,遗传力为1/3,可以计算出:加性方差组分:Va=100^2*(1/3)=3333.33,误差方差组分为:V3=6666.67,因为这里遗传力已知,我们可以设置方差组分固定,进行混合线性求解。
将数据因子:
for( i in 1:3) dat[,i] = as.factor(dat[,i]) # 转化为因子
str(dat)
上面公式中: 标准误的计算方法是:标准误se(BLUP) = sqrt(CiiVe),这里面dVe就是个体BLUP值的标准误,现在遗传评估软件可以直接得出se。所以准确性的公式为:r = sqrt(1 - (Cii*Ve)/Va) = sqrt( 1 - se^2/Va),可靠性是准确性的平方,所以可靠性的计算为1 - se**2/Va
注意,上面没有考虑近交系数的影响,完整的公式为:
这里的PEV是标准误的平方。
这里,我们固定方差组分:
va = 3333.33
ve = 6666.66
ped = dat[,1:3]
ainv = ainverse(ped)
inbreeding = attr(ainv,"inbreeding")
inbreeding
mode = asreml(y ~ 1, random=~ vm(id,ainv),residual = ~ idv(units), start.values = T,data=dat)
vc = mode$vparameters.table
vc[c(1,3),2] = c(va,ve)
vc[c(1,3),3] = c("F","F")
vc
这里,我们可以看到,方差组分设置好了,状态为F,Fixed固定。「进行混合线性模型求解」
mod1 = asreml(y ~ 1, random=~ vm(id,ainv),residual = ~ idv(units), G.param = vc, R.param = vc,data=dat)
summary(mod1)$varcomp
「进行BLUP值计算:」
summary(mod1,coef=T)$coef.random
inbreeding = attr(ainv,"inbreeding")
inbreeding
这里的:
library(tidyverse)
library(learnasreml)
blup = tiqu_blup(summary(mod1,coef=T)$coef.random)
head(blup)
blup %>% mutate(accur = sqrt(1 - std.error^2/((1+inbreeding)*va)),reli = accur^2)
上面,计算了每个个体的BLUP值、准确性和可靠性,结果和书中结果一致。
分割线
大家好,我是邓飞,一个持续分享的农业数据分析师,这里我将自己公众号的干货内容挑重点罗列一下,方便大家阅读和使用。
1,GWAS学习教程(快来领取 | 飞哥的GWAS分析教程),这个pdf是我将公众号的内容进行了汇总,更方便从头学习GWAS分析,里面配套了数据、代码和讲解。
2,农学人如何入门数据分析资料汇总(飞哥汇总 | 入门数据分析资源推荐),里面推荐了免费的教程,包括编程、统计和专业书籍。
3,数量遗传学电子书下载(数量遗传学,分享几本书的电子版)
4,R语言电子书线上书籍推荐(学习R语言这几本电子书就够了!)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-20 08:23
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社