Re: [R] positive semi-definite matrix

From: Francisco J. Zagmutt <gerifalte28_at_hotmail.com>
Date: Sat 22 Jul 2006 - 01:27:17 EST


Take a look at make.positive.definite in the corpcor package. The implementation is very similar to what Duncan suggested.

Regards,

Francisco

Dr. Francisco J. Zagmutt
College of Veterinary Medicine and Biomedical Sciences Colorado State University

>From: Duncan Murdoch <murdoch@stats.uwo.ca>
>To: roger bos <roger.bos@gmail.com>
>CC: RHelp <r-help@stat.math.ethz.ch>
>Subject: Re: [R] positive semi-definite matrix
>Date: Fri, 21 Jul 2006 09:44:42 -0400
>
>On 7/21/2006 8:59 AM, roger bos wrote:
> > I have a covariance matrix that is not positive semi-definite matrix and
>I
> > need it to be via some sort of adjustment. Is there any R routine or
> > package to help me do this?
>
>I think you need to be more specific about what have and what you want,
>but if the matrix is symmetric and nearly positive semi-definite (but
>not exactly because of rounding error), you might try something like
>
>fixit <- function(A) {
> eig <- eigen(A, symmetric = TRUE)
> eig$values <- pmax(0, eig$values)
> return(eig$vectors %*% diag(eig$values) %*% t(eig$vectors))
>}
>
>Rounding error means this is not guaranteed to be positive
>semi-definite, but it will be very close.
>
>Duncan Murdoch
>
>______________________________________________
>R-help@stat.math.ethz.ch 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.



R-help@stat.math.ethz.ch 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. Received on Sat Jul 22 01:35:58 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sat 22 Jul 2006 - 02:16:06 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.