1、R包
想用R语言进行混合线性模型的求解,发现有很多包。
Asreml-R 但是要钱,没有
sommer
lme4
rrblup 返回BLUE, BLUP, 但是单随机效应。
2、举例
#use sommer
#estimate polygenic evariances
ans.Ad <- mmer(color~1,
random = ~vs(id,Gu=GA),
rcov = ~units,
data = DT)
summary(ans.Ad)
Gu表示方差协方差矩阵。等价于:
Dcom_ka<-decom(GA) #矩阵奇异值分解
d_squared<-sqrt(Dcom_ka$d)#开根号
kaz<-Dcom_ka$u%*%(diag(dim(D)[1])*d_squared)
DT$kaz<-kaz
ans.AD <- mmer(color~1,
random = ~vs(kaz),
rcov = ~units,
data = DT)
summary(ans.AD)
当然了也可以,自己代码求解方程。
推荐 https://www.jianshu.com/p/0847264c98a9
3、一些概念的梳理
1、我们为什么用混合线性模型?
因为存在随机效应和固定效应
2、求解混合线性模型主要是在做什么?
随机效应各项方差分量的估计和固定效应的估计。
3、随机效应的方差分量估计有哪些方法?
1)henderson3(期望平方和等于平方和的求解)
2)EML, REML。迭代求解sigma方
3)最小范数二次无偏估计
4、BLUP是什么?
不仅需要随机效应的方差分量,还想推断随机效应的值
网友评论