如何计算效应值(例如育种值)的准确性(accuracy)?

准确性指的是预测效应值与真值之间的相关系数。有时还会遇见一个概念——可靠性(reliability)。可靠性是准确性的平方,也就是说这二者度量的是一个事情。reliability其实就是遗传力,这句很重要!!!。遗传力主要用来计算选择响应(response to selection)。advisor说我的文章句子太多,不连贯,确实是这样LOL。
准确性的计算公式为:

公式1-accuracy.png

PEV是prediction error variances的缩写,意思是预测误差方差,预测误差是预测值与真值间的差,即:
公式2-pev.png

简书不支持公式真是淡疼!
\sigma a^2是加性方差。

预测差值的标准误(SED)是可以从Asreml中直接得到的,与PEV的关系是:

公式3-sed.png

我不知道上面这个公式怎么推导的。
所以有
公式4-pev2.png


在很长时间里我不知道(或者说模糊地知道)accuracy是怎么实现的。我知道公式,但在软件里分别和公式组分对应的部分是什么却不是很清楚,当然写这篇文字的时候是确定的。具体实现的途径有2:

  • 一是利用Asreml中的prediction直接得到SED后,再根据公式4得出PEV
fm_pred <- predict(fm_asr, classify = "Fam") #fm_asr是asreml()输出的对象, Fam是随机效应变量
SED <- fm_pred$predictions$avsed
  • 二是逐步得到PEV,每个预测值都有一个PEV,是预测值SE平方的均值,所以从预测函数得到的对象中提取出SE平方后再平均即可
fm_pred <- predict(fm_asr, classify = "Fam", present = "Plot") #注意!这里预测的时候是要矫正掉其他的随机效应(如Plot)
SE <- fm_pred$predictions$pvals$standard.error
PEV <-  SE^2 %>% mean

这里的PEV是一个向量,对应到每个水平上。
所以,总体上,PEVSEDSE的关系是

公式5-pev4.png

另外,在林元震老师的著作R与ASReml-R统计学中(P474)也涉及到accuracy的代码

SE <- fm_asr$vcoeff$random * fm_asr$sigma2 #效应值se乘以sigma

结果是一样的,但不知道是否合理。


如果没有Asreml可能需要更底层的计算(比如手动),这时PEV的计算更直观些:

公式6-pev3.png

于是有
公式7-reliability.png

C^{22}是方程组关联矩阵的逆矩阵的右下角块,d_i是块中的对角线元素。具体可查看Pro. Isik编写的教材P84Mrode, 2014的书P44

PEV就可以得到我们需要的准确性和可靠性值了。


这个问题在群中还被讨论过


accuracy_chat.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容