回答:
私の知る限り、分散が等しくない場合、ウェルチ=サタースウェイトの方程式を使用できます。私の質問は、2つのサンプル間に本当に大きな違いがあるにもかかわらず、この方程式を使用できるかということです。または、2つのサンプル間の差に特定の制限がありますか?
サンプル平均の差の分散の推定に、ウェルチ・サッタースウェイト方程式からの自由度を持つスケーリングされたカイ2乗分布を使用することは、単なる近似に過ぎません。ある状況では、他の状況よりも近似が優れています。
実際、この問題へのアプローチはいずれにせよ概算になると思います。これは有名なベーレンス・フィッシャー問題です。リンクの右上にあるように、おおよその解のみが知られています。
したがって、簡単に言えば、本質的に正確ではないため、いつでも好きなときに使用できます。つまり、結果として有意水準とp値が不正確であるという事実を許容できる場合です。どれだけ外に出ても、それを使用して満足できるかは、あなた次第です。一部の人は、他の人よりもおおよその有意水準とp値にはるかに寛容です*
*(仮説テストを使用する傾向がある状況では、効果の範囲の方向とある程度の限界を知っている限り、名目とは異なる有意水準にかなり寛容になる傾向がありますが、科学的な結果をジャーナルに公開しようとすると、おそらく、シミュレーションを介して、近似の影響の可能性について詳細に文書化します。)
それでは、近似はどのように動作しますか?
すべての分布は正常です:
ウェルチ検定は、サンプルサイズが等しい場合、適切な有意水準に非常に近くなります(一方、等分散t検定は、サンプルサイズが等しい場合もかなりよく機能し、一般に、適度なインフレーションしかありません。小さいサンプルサイズでの有意水準)。
タイプIのエラー率は、グループのサイズが等しくなくなると、名目よりも小さくなります(「保守的」)。これは、Welchと通常の2つのサンプルのテストの両方に同じ方向で影響します。電力も低くなる可能性があります。
分布は歪んでいます:
分布が歪んでいる場合、有意水準と検出力の両方への影響はさらに大きくなる可能性があり、さらに注意が必要です(歪度と不均一な分散がある場合、分散が関連しているように見える限り、GLMを使用する傾向があります)適切な方法での平均-たとえば、スプレッドが平均とともに増加する場合、ガンマGLMがうまく機能する可能性があります)
このドキュメントでは、ウェルチ検定、通常のt検定、等分散と不等分散、および正規分布と歪んだ分布の順列検定の小さなシミュレーション研究について説明します。それをお勧めします:
ウェルチ補正を使用した検定は、データが正常で、サンプルサイズが小さく、分散が不均一である場合に役立ちます。
これは、私が他のときに読んだこととおおむね一致しているようです。
しかし、後のセクションで、シミュレーション結果の詳細をより深く読むと、彼らは続けてこう言います:
サンプルサイズの不等式(低電力)の最も極端なケースではウェルチ修正t検定を回避
ただし、そのアドバイスは、小さいサンプルの非常に小さいサンプルサイズに基づいています。あなたが持っているようなサンプルサイズでは実行されませんでした。
[特定の状況でのいくつかの手順のありそうな振る舞いに疑問がある場合、私は自分のシミュレーションを実行するのが好きです。Rでは非常に簡単なので、プロパティの良いアイデアを得るには、コーディング、シミュレーションの実行、結果の分析など、ほんの数分で済みます。]
1つの非常に大きなサンプルと1つの中程度のサンプルサイズがあれば、ウェルチテストを適用しても問題は比較的少ないはずです。今、シミュレーションで再確認します。
私のシミュレーション結果:
私はあなたのサンプルサイズを使いました。これらのシミュレーションは正常です。
a。大きなサンプルを持つグループは、小さなサンプルの人口標準偏差の3倍になります。
ウェルチテストは、名目タイプ1のエラー率に非常に近くなります。等分散t検定は実際にはありません。その有意水準は非常に低く、ほぼゼロです。
b。小さいサンプルのグループには、大きいサンプルの人口標準偏差の3倍があります。
ウェルチテストは、名目タイプ1のエラー率に非常に近くなります。等分散t検定は行いません。その有意水準は膨らんでいます。
実際、等分散テストはひどく影響を受けたので、まったく使用しませんでした。有意水準の違いを調整せずに検出力を比較しても意味がありません。
このような大きなサンプルサイズ(平均の不確実性が比較的非常に小さいことを意味します)では、別の可能性が現れます。つまり、固定されているかのように、大きなサンプルの平均に対して1サンプル検定を実行します。小さい母集団の標準偏差が大きいサンプルにある場合、有意水準は名目に非常に近いことがわかりました。この場合、比較的うまく機能します。
より大きな母集団の標準偏差がより大きなサンプルにある場合、タイプ1のエラー率はいくぶん膨らみました(これはウェルチテストへの影響とは逆の方向であるように見えます)。
順列検定についての議論
AdamOと私は、この状況の順列検定で発生する問題(場所の違いの検定における母集団の分散の違い)について話し合いました。彼は私にシミュレーションを求めたので、ここでそれを行います。上記の論文へのリンクは、私の発見とほぼ一致しているように見える置換検定のシミュレーションも行います。
基本的な問題は、分散が等しくない場所の2つのサンプル検定にあり、null の下では観測値を交換できません。結果に大きな影響を与えずにラベルを交換することはできません。
、最大および最小の少数の観測値は、サンプルAよりもサンプルBからのものである可能性がはるかに高く、中間の観測値は、サンプルAからのものである可能性がはるかに高くなります(観測値が交換可能である確率が90%をはるかに超える) )。この問題は、nullでのp値の分布に影響します。(ただし、サンプルサイズが等しい場合、効果は非常に小さくなります。)
要求に応じて、これをシミュレーションで見てみましょう。
私のコードは特に派手ではありませんが、仕事をこなしてくれます。次の3つのケースで、質問で言及されているサンプルサイズの同じ平均をシミュレートします。
1)等分散
2)大きいサンプルは、標準偏差が大きい(他の3倍の)母集団に由来します。
3)小さいサンプルは、分散が大きい(3倍の)母集団からのものです。
仮説検定で関心があることの1つは、「これらの母集団をサンプリングし続け、この検定を何度も行う場合、タイプIのエラー率はどうなるか」です。
ここでこれを計算できます。手順は、同じ条件で上記の条件に適合する通常のサンプルを描画し、順列分布でサンプルの分位数を計算することで構成されます。これは何度も行うため、これには多くのサンプルのシミュレーションが含まれ、各サンプル内でデータの多くのリラベルをリサンプリングして、そのサンプルを条件とした順列分布を取得します。すべてのシミュレートされたサンプルについて、単一のp値を取得します(元のサンプルの平均の差をその特定のサンプルの順列分布と比較することによって)。このようなサンプルの多くで、p値の分布がわかります。これは、同じ平均の2つの母集団が与えられた場合に、nullを拒否するサンプル(これはタイプIのエラー率です)を描画する確率を示しています。
このようなシミュレーション(上記のケース2)のコードは次のとおりです。
nperms <- 3000; nsamps <- 3000
n1 <- 310; n2 <- 34; ni12 <- 1/n1+1/n2
s1 <- 3; s2 <- 1
simpv <- function(n1,n2,s1,s2,nperms) {
x <- rnorm(n1,s = s1);y <- rnorm(n2,s = s2)
sdiff <- mean(x)-mean(y)
xy <- c(x,y)
sn1 <- sum(xy)/n1
diffs <- replicate(nperms,sn1-sum(sample(xy,n2))*ni12)
sum(sdiff<diffs)/nperms
}
pvs1big <- replicate(nsamps,simpv(n1,n2,s1,s2,nperms))
他の二つの場合のためのコードは、私が変更を除いて、同一であるs1=
とs2=
(また私はp値が格納されているものを変更します)。ケース1、s1=1; s2=1
およびケース3s1=1; s2=3
nullの下では、p値の分布は基本的に均一である必要があります。そうでない場合、宣伝されているタイプIのエラー率はありません。(実行されたように、p値は片側検定の場合に効果的ですが、p値の分布の両端を見ると、両側検定の結果がわかります。それらはたまたま対称であるため、案件。)
結果は次のとおりです。
ケース1は左上にあります。この場合、値は交換可能であり、p値の分布はかなり均一に見えます。
ケース2は右上にあります。この場合、サンプルが大きいほど分散が大きくなり、p値が中心に向かって集中していることがわかります。通常の有意水準でnullのケースを却下する可能性は、私たちがすべきと考えるよりもはるかに低くなります。つまり、タイプIのエラー率は公称率よりもはるかに低くなります。
ケース3は右下にあります。この場合、サンプルが小さいほど分散が大きくなり、p値が両端に集中していることがわかります。nullの下では、必要以上に棄却する可能性が高くなります。有意水準は名目上の率よりもはるかに高いです。
グッドにおけるベーレンスフィッシャー問題の議論
AdamOが言及したGood Bookは、この問題をp54-57で論じています。
彼は、サンプルサイズが等しい場合、順列検定は漸近的に正確であると述べたロマーノの結果に言及しています。もちろん、ここではそうではありません。50-50ではなく、およそ90-10です。
また、サンプルサイズが等しい場合(n1 = n2 = 34を試してみました)をシミュレートすると、p値の分布はそれほど均一ではありませんでした**。これはかなりよく知られており、数多くの公開されたシミュレーション研究によって裏付けられています。
**(私はコードを含めていませんが、上記のコードをそれに適合させることは簡単です-n1を34に変更するだけです)
グッドは、サンプルサイズが等しい場合の動作は、非常に小さいサンプルサイズまで下がると言っています。彼を信じている!
ブートストラップテストはどうですか?
では、置換テストの代わりにブートストラップテストを試してみるとどうなるでしょうか。
ブートストラップテスト*により、私の反対意見はもはや成立しません。
*たとえば、平均の差のCIを作成し、平均の95%間隔に0が含まれていない場合は5%レベルで棄却するというアプローチも考えられます
ブートストラップテストを使用すると、サンプル間でラベルを付け直す必要がなくなりました。持っているサンプル内で再度サンプリングしても、平均値の違いに適したCIを取得できます。ブートストラップのプロパティを改善するための通常の手順の一部を使用すると、このようなテストはこれらのサンプルサイズで非常にうまく機能する可能性があります。
@Glen_bの応答によって促される1つのオプションは、データ自体のパラメトリック分布に関係なく、帰無仮説のもとで検定統計量のサンプリング分布を取得するために露出(グループラベル)がランダムに並べ替えられる置換テストです。
## example of permutation test
set.seed(1)
men <- rexp(30, 1.3)
women <- rexp(300, 0.8)
stacked <- c(men, women)
labels <- c(rep('m', 30), rep('w', 300))
o.diff <- diff(tapply(stacked, labels, mean))
d.null <- replicate(5000, {
diff(tapply(stacked, sample(labels), mean))
})
b <- hist(d.null, plot=FALSE)
col <- ifelse(b$breaks > o.diff, 'green', 'white')
plot(b, col=col)
text(o.diff, par()$yaxp[2], paste0('P - value = ', mean(d.null > o.diff)))
abline(v=o.diff)