如何通过特征值创建协方差矩阵,以便mauchly的测试表明拒绝零假设。对于产生r.v.的实验设计,是否存在协方差矩阵的模式,从而违反了球形度的假设?如果我通过给定的特征值计算任意协方差矩阵,并且对于该矩阵,我通过以下源代码生成实验,那么mauchlys测试有时会拒绝零假设。如何模拟违反球形假设的正态分布数据?
require(corpcor)
require(reshape2)
require(mvtnorm)
getCovariance<-function(lambda){
j<-1
Sigma<--1
while(any(Sigma<=0)){
set.seed(j)
X<-matrix(rnorm(50*length(lambda)),50,length(lambda))
R<-cor(X)
P<-eigen(R)$vector
Sigma<-t(P)%*%diag(lambda)%*%P
j<-j+1
}
Sigma
}
subject<-50
treatment<-4
set.seed(1)
lambda<-sample(1:subject,treatment)
cov<-getCovariance(lambda)
exp<-rmvnorm(mean=rep(0,treatment),sigma=cov,n=subject,method="chol")
fit<-lm(exp~1)
mauchly.test(fit,X=~1)