我正在尝试为家庭数据实现EM算法,其中我假设我的观察具有多变量t分布。我每个家庭只有两个兄弟姐妹,所以所有家庭组都只有两个观察结果。基本上,我正在尝试遵循本文中的E(C(M步骤:https://pdfs.semanticscholar.org/9445/ef865c4eb1431f9cb2abdb5efc1c361172cc.pdf
但是,现在我不确定EM对于此类数据是否可行,因为我的相关矩阵Psi对于家庭应该是块对角线。
所以这里有一个R的例子,说明我的家庭是如何构建
的fam_id = sort(rep(1:5, 2))
Z= matrix(0, nrow = length(fam_id), ncol = length(unique(fam_id)))
colnames(Z) = unique(fam_id)
k = 1
i = 1
# Random effects dummy matrix
while (k <= ncol(Z)) {
Z[i:(i+1), k] = c(1, 1)
k = k +1
i = i+2
}
> Z
1 2 3 4 5
[1,] 1 0 0 0 0
[2,] 1 0 0 0 0
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
...
EM 算法在第 5 次迭代后窒息,说相关矩阵 Psi 不是:
solve.default(psi_hat( 中的错误: 系统在计算上是单数
的如果有人能对此有所了解,我会很高兴!
请在Statschange网站上查看此答案
https://stats.stackexchange.com/questions/76488/error-system-is-computationally-singular-when-running-a-glm
您可能会在第 5 次迭代中得到一个不可逆矩阵