我试图了解两个独立样本t检验(不假设方差相等,因此我使用Satterthwaite)的功效计算。
这是我发现可以帮助您理解该过程的图表:
因此,我假定给定以下两个总体,并给出样本量:
mu1<-5
mu2<-6
sd1<-3
sd2<-2
n1<-20
n2<-20
我可以计算零下的临界值,该临界值与0.05的上尾概率有关:
df<-(((sd1^2/n1)+(sd2^2/n2)^2)^2) / ( ((sd1^2/n1)^2)/(n1-1) + ((sd2^2/n2)^2)/(n2-1) )
CV<- qt(0.95,df) #equals 1.730018
然后计算替代假设(对于这种情况,我了解到的是“非中心t分布”)。我使用上图中的非中心分布和临界值在上图中计算了beta。这是R中的完整脚本:
#under alternative
mu1<-5
mu2<-6
sd1<-3
sd2<-2
n1<-20
n2<-20
#Under null
Sp<-sqrt(((n1-1)*sd1^2+(n2-1)*sd2^2)/(n1+n2-2))
df<-(((sd1^2/n1)+(sd2^2/n2)^2)^2) / ( ((sd1^2/n1)^2)/(n1-1) + ((sd2^2/n2)^2)/(n2-1) )
CV<- qt(0.95,df)
#under alternative
diff<-mu1-mu2
t<-(diff)/sqrt((sd1^2/n1)+ (sd2^2/n2))
ncp<-(diff/sqrt((sd1^2/n1)+(sd2^2/n2)))
#power
1-pt(t, df, ncp)
得出的幂值为0.4935132。
这是正确的方法吗?我发现如果我使用其他功率计算软件(例如SAS,我认为我已经对下面的问题进行了等效设置),则会得到另一个答案(从SAS到0.33)。
SAS代码:
proc power;
twosamplemeans test=diff_satt
meandiff = 1
groupstddevs = 3 | 2
groupweights = (1 1)
ntotal = 40
power = .
sides=1;
run;
最终,我希望获得一种理解,使我能够对更复杂的过程进行仿真。
编辑:我发现了我的错误。本来应该
1-pt(CV,df,ncp)不是1-pt(t,df,ncp)