Learn R Programming

CovTools (version 0.5.4)

CovEst.nearPD: Covariance Estimation via Nearest Positive-Definite Matrix Projection

Description

Qi and Sun (2006) proposed an algorithm for computing the positive correlation matrix with Positive Definiteness and transforming it back in order to estimate covariance matrix. This algorithm does not depend on any parameters.

Usage

CovEst.nearPD(X)

Arguments

X

an \((n\times p)\) matrix where each row is an observation.

Value

a named list containing:

S

a \((p\times p)\) covariance matrix estimate.

References

qi_quadratically_2006CovTools

Examples

Run this code
# NOT RUN {
## generate data from multivariate normal with Identity covariance.
pdim <- 5
data <- matrix(rnorm(10*pdim), ncol=pdim)

## compare against sample covariance
out1 <- cov(data)
out2 <- CovEst.nearPD(data) # apply nearPD

## visualize 2 estimated matrices
gcol <- gray((0:100)/100)
opar <- par(no.readonly=TRUE)
par(mfrow=c(1,2), pty="s")
image(out1[,pdim:1],   col=gcol, main="sample covariance")
image(out2$S[,pdim:1], col=gcol, main="SPD Projection")
par(opar)

# }

Run the code above in your browser using DataLab