MP law simulation

本文通过使用R语言实现了一个MPlaw的实证分析案例,展示了如何生成随机矩阵并计算协方差矩阵的特征值分布,进而验证了MPlaw在随机矩阵理论中的应用。此外,还对样本协方差矩阵的最大最小特征值进行了分析。

一个简单的例子解释随机矩阵里的MP law,

#############################
##
## A example to show the MP law in random matrix theory.
##
#############################
library(ggplot2)

## The empirical distribution
p <- 1000
n <- 2000
dat <- matrix(rnorm(p*n), nrow=p)
dat.cov <- cov(t(dat))
dat.eig <- eigen(dat.cov)
dat.val <- dat.eig$values
dat.dsty <- density(dat.val)


## plot
df.dsty <- data.frame(x=dat.dsty$x, y=dat.dsty$y)
p <- ggplot(df.dsty, aes(x = x, y = y))
p + geom_line()  + ylab('density') + ggtitle("MP law")




## The largest eigenvalue
p <- 1000
n <- 2000
K0 <- 100
lam <- list()
for (k in 1:K0){
  dat <- matrix(rnorm(p*n), nrow=p)
  dat.cov <- cov(t(dat))
  dat.eig <- eigen(dat.cov)
  dat.val <- dat.eig$values
  lam[[k]] <- dat.val 
}

lam.max <- unlist(lapply(lam,max))
lam.min <- unlist(lapply(lam,min))




######################
## plot the max and min eigenvalue
######################
plot(lam.max, ylim=c(0,3), main='extreme eigenvalues of sample covariance matrix', xlab='Id', 
     ylab='extreme eigenvalue', col='red', type='p')
lines(lam.min,type='p', col='blue')





######################
## Save the data
######################
lam.MP <- lam
save(lam.MP, file="D:/BinbinChen/Literature/Orcal Defence/Simulation.MP.Rdata")

 

转载于:https://www.cnblogs.com/BinbinChen/articles/3354881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值