Kruskal-WallisおよびMann-Whitney Uテストの検出力解析を実行することはできますか?はいの場合、それを実行するRパッケージ/機能はありますか?
Kruskal-WallisおよびMann-Whitney Uテストの検出力解析を実行することはできますか?はいの場合、それを実行するRパッケージ/機能はありますか?
回答:
パワーを計算することは確かに可能です。
より具体的には、拒否の確率を(何らかの方法で)計算できる状況を得るために十分な仮定を行うと、パワーを計算できます。
Wilcoxon-Mann-Whitneyで、(たとえば)分布形状を仮定し(分布形式について仮定を立てる)、スケール(スプレッド)および場所の特定の値または場所の違いについて何らかの仮定を立てる場合、代数的または数値積分を介してパワーを計算できる場合があります。拒否率をシミュレートできることに失敗した。
そのため、たとえば、指定された位置差(一般的なスケールで標準化された)で分布からのサンプリングを想定した場合、サンプルサイズが与えられると、これらすべての条件を満たす多くのデータセットをシミュレートでき、拒否率の推定値を取得できます。それでは、我々は二つのサンプルがあるとしましょうトン5単位の規模と分布(場所・規模・ファミリを)(σ = 1) -一般性を失うことなく-と場所の差δ = μ 2 - μ 1 = 1。ここでも、一般性を失うことなく、私たちが取ることができるμ 1 = 0を。次に、特定のサンプルサイズ((たとえば))について、観測をシミュレートし、δ / σ(つまり1)の特定の値の検出力をシミュレートできます。Rの簡単な例を次に示します。
n1=6;n2=9;tdf=5;delta=1;al=0.05;nsim=10000
res = replicate(nsim,{y1=rt(n1,tdf);y2=rt(n2,tdf)+delta;wilcox.test(y1,y2)$p.value<=al})
mean(res) # res will be logical ("TRUE" = reject); mean is rej rate
このような3つのシミュレーションでは、0.321、0.321、0.316の棄却率が得られました。パワーは明らかに0.32付近にあります(拒否カウントは二項なので、これらのシミュレーションの1つから信頼区間を計算できます)。実際には、より大きなシミュレーションを使用する傾向がありますが、多くの異なるまたはδをシミュレートしている場合、各シミュレーションで10000をはるかに超えるシミュレーションを実行したくない場合があります。
ロケーションシフトの多くの値に対してこれを行うことで、必要に応じてロケーションシフトが変化するときに、そのような状況のセットのパワーカーブを取得することもできます。
倍増大きなサンプルではとN 2を半減ようになりますσ 2(及び増やすので、δ / σを与えられた時にδあなたは、多くの場合、様々で良い近似を得ることができるので)nは、わずか数のシミュレーションからn個の値。同様に、一尾の試験、場合ため1 - B iがで拒否率であるδ = δ iは、その後 Φ - 1(1 - B )に近い線形になる傾向がありますδ(繰り返しますが、δのいくつかの値でのシミュレーションからのさまざまな値での適切な近似が可能です(十数個の適切に選択された値で十分な場合が多い)。平滑化の賢明な選択は、nまたはδ。
もちろん、位置のシフトに制限する必要はありません。変更(Y 2 > Y 1)につながる傾向があるパラメーターの変更は、調査できるものです。
これらのテストは、nullの下では(連続分布の場合)分布なしですが、動作は、代替の異なる分布の仮定の下で異なることに注意してください。
Kruskal-Wallisの状況は似ていますが、指定する場所のシフト(または他の状況)があります。
この回答のプロットは、ペア間で指定された相関を持つ正規分布からサンプリングするためのさまざまな標準化された位置シフトにわたって、特定のサンプルサイズでの符号付きランクテストのシミュレートされたパワーに対するペアtテストのパワーカーブの比較を示しています。Mann-WhitneyとKruskal-Wallisについても同様の計算を行うことができます。