ホテリング検定によって、p 変量正規ランダム ベクトルのサンプルが理論上の平均値を持っているかどうかを証明できると期待していました。しかし、HottelingsT2 関数からの分布が HottelingsT2-Test によって使用される検定統計量の分布と一致する場合、ks.test とのクロスチェックは失敗しました。これは、シミュレートされた実験の平均値が 0 ではなく、明らかに平均値が 0 であることを意味します。したがって、コンテキストに何か問題があるはずです。いくつかの間違いはありますか?
require(mvtnorm)
require(ICSNP)
subject<-50
treatment<-4
V<-matrix(c(644.03100226056, 184.319025225855, 572.5312199559, 143.106678641056, 184.319025225855, 73.5310268006399, 230.838267981476, 130.977532385651, 572.5312199559, 230.838267981476, 736.378779002912, 429.445506266528, 143.106678641056, 130.977532385651, 429.445506266528, 435.124191935888),treatment,treatment)
experiment<-list()
R<-3000
seed<-split(1:(R*subject),1:R)
for(i in 1:R){
e<-c()
for(j in 1:subject){
set.seed(seed[[i]][j])
e<-c(e,rmvnorm(mean=rep(0,treatment),sigma=V,n=1,method="chol"))
}
experiment<-c(experiment,list(matrix(e,subject,treatment,byrow=T)))
}
p.values<-c()
for(e in experiment){
fit<-lm(e~1)
p.values<-c(p.values,HotellingsT2(e, mu=rep(0,treatment))[["p.value"]])
}
ks.test(p.values, punif,alternative = "two.sided")