5 replies [Last post]
Offline
Joined: 07/31/2009

I want to transform the results of a correlated-factor model into multivariate Cholesky form.

Loehlin (1996) [1] gives the formulae for a bivariate case, but I wonder if anyone has a reference or pseudo-code for the multivariate case?

My end goal is to set the correlations between factors in such a way as to be equivalent to dropping paths in a Cholesky.

[1] Loehlin, J. C. (1996). The Cholesky approach: A cautionary note. Behavior Genetics, 26(1), 65-69.

AttachmentSize
chol_correlatedFactors.png51.69 KB
Offline
Joined: 07/31/2009
bump...

Offline
Joined: 07/31/2009

Er, doesn't cov2cor(A %*% t(A)) go at the top, and sqrt(diag(A %*% t(A))) on the paths?

Offline
Joined: 07/31/2009
lightbulb :-)

thanks Mike! cov2cor makes it all fall into place!

Offline
Joined: 10/19/2009
check the dimmer switch on the lightbulb

perhaps i am being dense here, but mike's answer of "cov2cor(A %*% t(A)) go at the top, and sqrt(diag(A %*% t(A))) on the paths" does not seen to fit the bill of tim's original question of wanting "to transform the results of a correlated-factor model into multivariate Cholesky form."

let A = matrix(c(1, .4, .4, 1), 2, 2). then cov2cor(A %*% t(A)) cannot go at the "top" of a cholesky model because the first latent variable "at the top" is correlated with the second latent variable "at the top."

mike's formula seems appropriate to the opposite of tim's question. namely, if A is a Cholesky, then how does one translate A into a correlated factor model?

if X is the matrix in question for the correlated-factor model, then the multivariate Cholesky form is chol(X). note that this may not always work (see my paper Cholesky Problems in behavior genetics).

greg

Offline
Joined: 07/31/2009
Mmmm

Oddly, it indeed looks as though the question as asked was of correlated factors to cholesky translation, as you say, Greg, and that I answered the wrong question. However, my reply seems to have satisfied Tim, so perhaps both the question and the answer were incorrect, canceling each other out!