ralgorithmmixed-modelsexpectation-maximization

EM algorithm for multivariate t mixed models


I'm trying to implement an EM algorithm for family data where I'm assuming my observations have a multivariate t distribution. I have only two siblings per family, so all of the family groups have only two observations. Basically I'm trying to follow the E(C)M steps in this article: https://pdfs.semanticscholar.org/9445/ef865c4eb1431f9cb2abdb5efc1c361172cc.pdf

However, now I'm not sure if EM is doable for this kind of data, since my correlation matrix Psi should be block diagonal for families.

So here's an R example of how my families are structured

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
...

The EM algorithm chokes after 5th iteration saying that the correlation matrix Psi is not:

Error in solve.default(psi_hat) : system is computationally singular

If anyone could shed some light to this, I'd be very happy!


Solution

  • Please check this answer in the Statschange website

    https://stats.stackexchange.com/questions/76488/error-system-is-computationally-singular-when-running-a-glm

    Your are probably ending up with a non invertible matrix in your 5th iteration