创建协方差矩阵,这已经违反了mauchly的测试

时间:2013-06-21 15:49:30

标签: r covariance manova

如何通过特征值创建协方差矩阵,以便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)

0 个答案:

没有答案