微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hotelling 的 T^2 检验的功效

如何解决Hotelling 的 T^2 检验的功效

我正在尝试估计hotelling 的T^2 测试的性能。我根据正态性假设和等协方差矩阵模拟各种测试。我成功地用下面的公式计算了测试的水平。

#Generate two groups with equal multivariate vector of means but different covariances
## From the multivariate normal distributions
library(MASS)
set.seed(123)
X<-mvrnorm(50,rep(0,10),diag(rep(1,10)))
Y<-mvrnorm(50,diag(rep(3,10)))

#Two sample Hotelling T^2 test
library(ICSNP)
HotellingsT2(X,Y)

# Performance of the test
## Significant level
n=10000 # testing 10,000 times
t1err=0
for (i in 1:n){
   X<-mvrnorm(50,10)))
   Y<-mvrnorm(50,10)))
   if (((HotellingsT2(X,Y))$p.value)<=0.05) (t1err=t1err+1) 
}
cat("The significance level in percentage is",(t1err/n)*100,"%")

现在我的目标是计算测试的功效。我注意到电源包中没有hotelling的T^2选项。 那么我如何手动计算该测试的功效或计算测试的 II 类错误的任何提示

解决方法

这是一种模拟 Hotelling 的 T 平方幂的方法。问题的 I 类错误率代码是对 this Cross Validated post 中代码的改编。我还修改了该代码,将其简化了一些。

等多元均值的空为假,一个是rep(0,10),另一个是rep(2,10)。与问题的代码不同,协方差矩阵是相等的。

set.seed(123)
pval <- replicate(n,{
  X <- mvrnorm(50,rep(0,10),diag(rep(1,10)))
  Y <- mvrnorm(50,rep(2,10)))
  HotellingsT2(X,Y)$p.value
})
t2err <- mean(pval > 0.05)
cat("The test power in percentage is",(1 - t2err)*100,"%\n")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。