2つの独立したサンプルのt検定の場合の検出力の計算を理解しようとしています(分散が等しいと想定していないため、Satterthwaiteを使用しました)。
これは、プロセスを理解するのに役立つことがわかった図です。
したがって、2つの母集団について次のことを与え、サンプルサイズを与えると仮定しました。
mu1<-5
mu2<-6
sd1<-3
sd2<-2
n1<-20
n2<-20
アッパーテールの確率が0.05であることに関連して、nullの下で臨界値を計算できます。
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分布」です)。上の図で、中央以外の分布と上で見つかった臨界値を使用してベータを計算しました。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)NOT 1-pt(t、df、ncp)