[R] how do I make a correlation matrix positive definite?
Ravi Varadhan
rvaradhan at jhmi.edu
Fri Oct 22 19:36:04 CEST 2010
I responded to another question that asked the exact same question. So, I
will repeat my answer here:
Nick Higham (2002) discusses algorithms for this. One of the algorithms
discussed in the paper is implemented in the "Matrix" package as `nearPD'
function.
library(Matrix)
?nearPD
Ravi.
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of HAKAN DEMIRTAS
Sent: Thursday, October 21, 2010 6:50 PM
To: r-help at r-project.org
Subject: [R] how do I make a correlation matrix positive definite?
Hi,
If a matrix is not positive definite, make.positive.definite() function in
corpcor library finds the nearest positive definite matrix by the method
proposed by Higham (1988).
However, when I deal with correlation matrices whose diagonals have to be 1
by definition, how do I do it? The above-mentioned function seem to mess up
the diagonal entries. [I haven't seen this complication, but obviously all
entries must remain in (-1,1) range after conversion.]
Any R tools to handle this?
I'd appreciate any help.
Hakan Demirtas
[[alternative HTML version deleted]]
______________________________________________
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