Rでのコルモゴロフスミルノフ検定の検出力を計算できますか?


10

Rでの両側Kolmogorov Smirnovテストの電力分析を実行することは可能ですか?

私はks.test()を使用して2つの経験的分布が異なるかどうかをテストしており、電力分析を追加しようとしています。

RでKSテストの組み込み電力分析を見つけることができませんでした。何か提案はありますか?

編集:これらはランダムに生成された分布であり、私のデータに非常に近似しています(真のサンプルサイズと指数分布の推定減衰率を使用)

set.seed(100)
x <- rexp(64, rate=0.34)
y <- rexp(54,rate=0.37)

#K-S test: Do x and y come from same distribution?
ks.test(x,y)

これらのデータは、2つの異なるグループのボディサイズの測定値です。2つのグループの分布は基本的に同じであることを示したいのですが、サンプルサイズに基づいてそれを言う力があるかどうか共同編集者から尋ねられました。ここでは指数分布からランダムに抽出しましたが、これらは実際のデータに近いものです。

これまでのところ、両側KS検定に基づくこれらの分布に有意差はないと述べました。2つの分布もプロットしました。xとyのサンプルサイズと減衰率を考えると、そのようなステートメントを作成する能力があることをどのように示すことができますか?


4
力は多くの事柄に依存するため、2つのサンプルテストの組み込み機能はありません。与えられた状況でシミュレーションできます。だから:力は状況についてどのような仮定を与えられましたか?代替案または代替案のシーケンスに対して?たとえば、スケールシフトの選択肢のセットに対して、指数分布データのパワーカーブを計算(シミュレーション)できます。または、位置シフトに対する通常のパワーを計算することもできます。または、形状パラメーターを変化させると、ワイブルのパワーを計算できます。追加の詳細情報はありますか?
Glen_b-2015

実際にパワーを計算するには、サンプルサイズも必要です。特定の代替案に対して指定された検出力を指定してサンプルサイズを特定しようとしている場合、それはルート検索を介して行うことができますが、多くの場合、簡単なアプローチでポイントを見つけることができます(通常、いくつかのサンプルサイズを試してみると、非常に近づくのに十分です)。
Glen_b-2015

どの変数が測定されていますか?これらの時間はありますか?
Glen_b-2015

@Glen_bこれらは時間ではありません。彼らは2つの異なるグループの体の大きさの尺度です。2つのグループの分布は基本的に同じであることを示したいのですが、サンプルサイズに基づいてそれを言えるかどうか尋ねられました。
Sarah

1
ああ!これは、質問に役立つと思われる2つの便利なコンテキストです。つまり、概念的にわずかな違いを特定する力が合理的であると示した場合、違いが小さいことを示すものとして拒否に失敗する可能性があります。はい、事前の電力分析はその議論をするのに役立ちます。事実の後で、私はおそらく、スケールの変化の推定(そしておそらく信頼区間)のようなもの、および2つのサンプル累積分布関数のプロットだけでなく、差が実際に小さいことを示すものにさらに焦点を当てるでしょう。
Glen_b-2015

回答:


16

指数関数的なスケールシフトの選択肢に対する力を見つけることは、かなり簡単です。

ただし、データから計算された値を使用して、パワーが何であったかを計算する必要があることはわかりません。この種の事後の電力計算は、直感に反する(そしておそらく誤解を招く)結論をもたらす傾向があります。

パワーは、有意水準と同様に、事実の前に対処する現象です。先験的な理解(理論、推論、以前の研究を含む)を使用して、検討すべき合理的な代替案のセットと望ましい効果のサイズを決定する

他のさまざまな代替案を検討することもできます(たとえば、ガンマファミリ内に指数関数を埋め込んで、スキューケースの影響を検討することができます)。

電力分析で回答しようとする可能性のある通常の質問は次のとおりです。

1)特定のサンプルサイズについて、いくつかの効果サイズまたは効果サイズのセットでの威力は何ですか?*

2)サンプルサイズと検出力を与えられた場合、影響はどのくらい検出できますか?

3)特定のエフェクトサイズに望ましいパワーが与えられた場合、どのサンプルサイズが必要になりますか?

*(ここで「効果サイズ」は一般的に意図されており、たとえば、必ずしも標準化されているわけではない、特定の平均比率または平均の差異である場合があります)。

明らかに、すでにサンプルサイズがあるので、ケース(3)にはありません。ケース(2)またはケース(1)を合理的に検討できます。

ケース(1)をお勧めします(ケース(2)を処理する方法も提供します)。

ケース(1)へのアプローチを説明し、それがケース(2)にどのように関連するかを確認するために、次のような具体的な例を考えてみましょう。

  • スケールシフトの選択肢

  • 指数関数的集団

  • 64と54の2つのサンプルのサンプルサイズ

サンプルサイズが異なるため、サンプルの1つの相対的な広がりが1よりも小さい場合と大きい場合の両方を考慮する必要があります(同じサイズの場合、対称性の考慮により片側のみを考慮することができます)。ただし、同じサイズに非常に近いため、効果は非常に小さいです。いずれの場合も、一方のサンプルのパラメーターを修正し、もう一方のサンプルを変更します。

だから何をするかです:

予め:

choose a set of scale multipliers representing different alternatives
select an nsim (say 1000)
set mu1=1

計算を行うには:

for each possible scale multiplier, kappa 
  repeat nsim times
    generate a sample of size n1 from Exp(mu1) and n2 from Exp(kappa*mu1)
    perform the test
  compute the rejection rate across nsim tests at this kappa

Rでは、私はこれをしました:

alpha = 0.05
n1 = 54
n2 = 64
nsim = 10000
s = c(1.1,1.2,1.5,2,2.5,3) # set up grid for kappa
s = c(1/rev(s),1,s)        #  also below and at 1
rr = array(NA,length(s))   # to hold rejection rates

for(i in seq_along(s)) rr[i]=mean(replicate(nsim,
                                    ks.test(rexp(n1,1),rexp(n2,s[i]))$p.value)<alpha
                                 )

plot(rr~s,log="x",ylim=c(0,1),type="n") #set up plot
points(rr~rev(s),col=3) # plot the reversed case to show the (tiny) asymmetry+noise
points(rr~s,col=1) # plot the "real" case last 
abline(h=alpha,col=8,lty=2) # draw in alpha

これは次の力「カーブ」を与えます

ここに画像の説明を入力してください

x軸は対数目盛、y軸は棄却率です。

ここではわかりにくいですが、黒い点は右側よりも左側の方がわずかに高くなっています(つまり、サンプルが大きいほどスケールが小さくなりますが、電力はわずかに多くなります)。

棄却率の変換として逆正規累積分布関数を使用すると、変換された棄却率と対数カッパ(カッパはsプロット内にありますが、x軸は対数スケール)の間の関係をほぼ線形にできます(0付近を除く) )、シミュレーションの数が多すぎてノイズが非常に少なくなっています。現在の目的では、シミュレーションを無視することができます。

したがって、線形補間を使用できます。以下に、サンプルサイズでの50%と80%の電力のおおよその効果サイズを示します。

ここに画像の説明を入力してください

反対側のエフェクトサイズ(大きいグループは小さいスケール)はわずかにシフトされています(わずかに小さいエフェクトサイズを取得できます)が、違いはほとんどないので、要点は説明しません。

そのため、テストでは(スケールの比率が1から)大幅な違いが検出されますが、小さな違いは検出されません。


ここでいくつかのコメントについて:仮説テストは根底にある関心のある質問に特に関連があるとは思われません(それらは非常に類似していますか?)。

運用上、「本質的に同じ」とは実際に何を意味するのかを事前に指定することで、より有用な質問に対処すると思います。これは、合理的に統計的活動を追求したものであり、データの有意義な分析につながるはずです。


どうもありがとうございます!これは本当に役立ちます。
サラ

0

Kolmogorov-Smirnovはノンパラメトリックであるため、定義上、適用可能な電力分析はありません。ある種の推定を行うには、バックグラウンドモデルを想定し(したがって、ノンパラメトリックな世界から逸脱する...)、それを使用して、サンプルサイズ、MDE、または検出力(つまり、 2つを修正/選択し、3番目を計算します)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.