[R] non-positive definite matrix remedies?

Albyn Jones jones at reed.edu
Thu Mar 12 00:54:03 CET 2009

That's an interesting problem.  

My first thought was to choose the closest positive definite matrix to
the given matrix, say in the least squares sense.  However, the
2x2 diagonal matrix with diagonal (1,0) makes it clear that there
isn't a closest pd symmetric matrix.

Perhaps multiple imputation would work: impute a complete data
matrix X, compute polycor(X), and repeat.  Will the average of these
positive definite matrices be positive definite???? I think it would if
you were computing pearson correlations, but I am not sure about the
polychoric case.


On Wed, Mar 11, 2009 at 04:20:27PM -0600, Matthew Keller wrote:
> Hi all,
> For computational reasons, I need to estimate an 18x18 polychoric
> correlation matrix two variables at a time (rather than trying to
> estimate them all simultaneously using ML). The resulting polychoric
> correlation matrix I am getting is non-positive definite, which is
> problematic because I'm using this matrix later on as if it were a
> legitimately estimated correlation matrix (in order to fit an SEM
> model). I could add to the diagonal I suppose until it becomes
> positive definite. Does anyone have any other ideas on how to deal
> with this problem, and what the strengths and weaknesses of different
> approaches are?
> Thanks in advance,
> Matt
> -- 
> Matthew C Keller
> Asst. Professor of Psychology
> University of Colorado at Boulder
> www.matthewckeller.com
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list