独立したt検定を使用して、正規分布ではないA / Bテスト結果の分析


13

A / Bテストの結果セット(1つのコントロールグループ、1つの機能グループ)がありますが、正規分布に適合しません。実際、分布はランダウ分布により似ています。

独立したt検定では、サンプルが少なくともほぼ正規分布している必要があるため、有効な検定の有効な方法としてt検定を使用することはできません。

しかし、私の質問は次のとおりです 。どの時点で、t検定は有意性検定の良い方法ではないと言うことができますか?

または、別の言い方をすれば、データセットのみが与えられた場合に、t検定のp値の信頼性をどのように修飾できますか?

回答:


8

データの分布は正規である必要はありません。ほぼ正規でなければならないのはサンプリング分布です。サンプルサイズが十分に大きい場合、中央極限定理により、ランダウ分布からの平均のサンプリング分布はほぼ正常である必要があります。

したがって、データでt検定を安全に使用できる必要があります。

この例を考えてみましょう:mu = 0およびsd = 0.5の対数正規分布の母集団があると仮定します(Landauに少し似ています)

対数正規密度

したがって、サンプルの平均を計算するたびにこの分布から30回の観測値を5000回サンプリングします。

そして、これは私たちが得るものです

標本分布

とても普通に見えますよね?サンプルサイズを増やすと、さらに明確になります

標本分布

Rコード

x = seq(0, 4, 0.05)
y = dlnorm(x, mean=0, sd=0.5)
plot(x, y, type='l', bty='n')


n = 30
m = 1000

set.seed(0)
samp = rep(NA, m)

for (i in 1:m) {
  samp[i] = mean(rlnorm(n, mean=0, sd=0.5))
}

hist(samp, col='orange', probability=T, breaks=25, main='sample size = 30')
x = seq(0.5, 1.5, 0.01)
lines(x, dnorm(x, mean=mean(samp), sd=sd(samp)))


n = 300
samp = rep(NA, m)

for (i in 1:m) {
  samp[i] = mean(rlnorm(n, mean=0, sd=0.5))
}

hist(samp, col='orange', probability=T, breaks=25, main='sample size = 300')
x = seq(1, 1.25, 0.005)
lines(x, dnorm(x, mean=mean(samp), sd=sd(samp)))

こんにちは、アレクセイ!あなたはRに精通しているようですので、私が現在立ち往生している問題について何かアドバイスがありますか? stackoverflow.com/questions/25101444/…。それ以外にも、私たちはいくつかの共通の利益を持っているようです(母国語を含む:-)ので、私はあなたと接続してうれしいです(プロのソーシャルネットワークのプロファイルについてはaleksandrblekh.comを参照してください)。
アレクサンドルブレフ14

これは素晴らしい説明であり、実際に私が使用することになった方法です。この方法は、サンプルセット全体をより小さなサブサンプルに分割し、各サブサンプルの平均(CLTの平均)をデータセットの分布として使用することであると考えています。答えてくれてありがとう!
ティーブゼット14

1

基本的に、2つのサンプルの平均が著しく異なるかどうかを確認するには、独立したt検定または2サンプルのt検定を使用します。または、別の言葉で言えば、2つのサンプルの平均に有意差がある場合です。

現在、これらの2つのサンプルの平均は2つの統計であり、CLTによると、十分なサンプルが提供される場合、正規分布を持ちます。CLTは、平均統計が作成される分布に関係なく機能することに注意してください。

通常、z検定を使用できますが、サンプルから分散が推定される場合(未知であるため)、追加の不確実性が導入され、t分布に組み込まれます。2サンプルt検定がここに適用されるのはそのためです。

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