正規性のすべての検定が帰無仮説を棄却するのはなぜですか?


12

コルゴモロフ-スミルノフ検定、シャピロ検定など…すべて、分布が正常であるという仮説を棄却します。しかし、通常の変位値とヒストグラムをプロットすると、データは明らかに正常です。テストの力が高いからでしょうか?

標本サイズは約650です。したがって、これらのテストの少なくとも1つが帰無仮説を棄却できないのではないでしょうか。

結果:

           Kolmogorov-Smirnov    D          0.05031          Pr > D       <0.010
           Cramer-von Mises      W-Sq       0.30003          Pr > W-Sq    <0.005
           Anderson-Darling      A-Sq       1.66965          Pr > A-Sq    <0.005
           Chi-Square            Chi-Sq  3250.43596     18   Pr > Chi-Sq  <0.001

1
サイトへようこそ。力は確かに問題かもしれません。より具体的になるように、結果を投稿できますか?
StasK、2011年

1
ヒストグラムや変位値を見て、正規性を正確に評価することはほとんど不可能です。これらのテストの最初の3つは、確率プロット(通常のqqプロット)の偏差を測定するので、そのプロットはどのように線形に見えますか?
whuber

回答:


13

正規性テストは時間の無駄であり、あなたの例はその理由を示しています。サンプルが小さい場合、正規性検定の能力は低いため、使用する統計モデルに関する決定は、事前の知識に基づいて行う必要があります。これらの場合、nullを拒否できないことは、nullが母集団レベルでほぼ真であることさえ証明しません。

大量のサンプルがある場合、正規性テストは途方もなく強力になりますが、それらはあなたがまだ知らなかったことを何も教えてくれません。実際の量は正確に正規分布されていません。正規分布は、多くの場合に十分に適切な近似である単なる数学的な抽象化です。これの最も簡単な証明は取ることができる本当の量(私は考えることができることを、少なくともなし)がないことである任意の値として実数。たとえば、宇宙には非常に多くの分子しかありません。マネーサプライにはほんの数ドルしかありません。光の速度は有限です。コンピューターは有限サイズの数値しか格納できないため、何かがすべての実数をサポートしていたとしても、それを測定することはできません。

重要なのは、データが正確に正規分布していないことはすでにわかっているが、正規性テストではデータがどれほど非正規であるかについては何もわからないということです。正規性を仮定する統計的推論方法が正しい答えを与えるように、データがほぼ正規分布しているかどうかについてのヒントはまったくありません。皮肉なことに、正規性を前提とする一般的な検定(T検定やANOVAなど)は、サンプルサイズが大きい場合の非正規性よりも堅牢です。


あなたの答えに続いて、私は非正常性の良いインデックスを構成するものについての質問を投稿しました:stats.stackexchange.com/questions/16646/…何か考えはありますか?
Jeromy Anglim、2011年

量子化される世界のすべてについて:離散データも正規分布できないのですか?
xmjx

コンピュータの問題に関するもう1つのコメント:コンピュータに10進数を格納するためによく使用されるメカニズムは、小さい数値と大きい数値の範囲に対して異なる粒度を持つことに注意してください。したがって、コンピュータが保存できるto数の最小差は、小さい数では小さく、大きい数では大きくなります。コンピューターの場合、100000.1と100000.2は同じかもしれませんが、0.1と0.2は違うかもしれません。(単なる例-現実の世界ではそれほど悪くありません。)
xmjx

@xmjx:離散データはほぼ正規分布である可能性があります。つまり、ほとんどすべての実用的な目的に十分に近いデータです。ただし、理論的には、サンプルサイズが十分に大きい場合、離散分布は正規性のいくつかのテストに失敗します。正規分布は連続的であり、それを回避する方法はありません。
dsimcha '10

@dsimchaしかし、正規分布は、離散変数の特定のビン内の観測数を予測できる確率密度関数にすぎません。したがって、「実際の変数は正確に正規分布されておらず、ある点で正規性テストが失敗するのはこのためです」とおっしゃっていれば理解できます。しかし、「離散的なデータは連続的ではないため、正常に配布できない」ので、参考にしてください。そういうものに本当に興味があります。ここで戦いを開始したくない。
xmjx

4

これは私を驚かせません---十分な大きさのサンプルサイズがあれば、データ生成分布が本当に(そして正確に)正規でない限り、どんな良いテストでも帰無仮説を拒否するはずです。

仮説検定では、通常、「強力な」検定を見つけることに関心があります。これは、可能な限り少ないデータで、帰無仮説からの非常に小さな偏差を見つけることができる検定です。

サイズ20、50、100、200のサブサンプルでテストを実行してみて、テストが拒否を開始するサイズを確認してください。ヒストグラムが対称的で一般的に釣鐘形であるかどうかを確認するのは簡単ですが、分布の裾は目視で評価することが困難です。おそらく、テストを拒否する原因となっているデータに異常値があるのでしょうか。ある場合は、それらを剪定するとどうなるかを確認してください。


答えてくれてありがとう。目的は、残差が正常かどうかをテストすることです。通常の分位点プロットを見て、それがy = xにあるかどうかを確認するのが最善策でしょうか?
ロビー

@ロビー残差が正常かどうかを調べたいだけの場合は、目視検査で問題ありません。ディストリビューションの統計的テストはそのために実際には必要ありません-すでに述べたように、それは正規性からの逸脱を拾うことになります。
フォミテ

@EpiGrad同意しない。正常性のテストでは、パワーが非常に低いことで有名です。上記の私の答えを参照してください。 一方、編集は、非正規性に対してかなり堅牢であるため、正常に見える場合は、おそらくその目的で問題ないと思います。
David J. Harris

@David J. Harris:「悪名高い低電力」?サンプルサイズが650の場合?これは、私が読んだり体験したりしたことすべてに反しています。引用はありますか?
whuber

@ DavidJ.Harrisコアでは、サンプルが大きいために低電力または偽の有意性があると思いますが、正規性の仮定を定期的に調べるために全体の練習は不要です。
Fomite、2011年

3

考えられる原因は、データがごくわずかに非正規であり、サンプルサイズがこれを明らかにするのに十分大きいことです。

配布が本当に正常である場合、次のRの例のように、通常はこれらのテストに合格するはずです。

> require(nortest)
> 
> set.seed(1)
> dat <- rnorm(650,mean=100, sd=5)
> 
> ad.test(dat)

        Anderson-Darling normality test

data:  dat 
A = 0.439, p-value = 0.2924

> cvm.test(dat)

        Cramer-von Mises normality test

data:  dat 
W = 0.0882, p-value = 0.1619

> lillie.test(dat)

        Lilliefors (Kolmogorov-Smirnov) normality test

data:  dat 
D = 0.0334, p-value = 0.08196

> pearson.test(dat)

        Pearson chi-square normality test

data:  dat 
P = 37.96, p-value = 0.035

> sf.test(dat)

        Shapiro-Francia normality test

data:  dat 
W = 0.9978, p-value = 0.5186

> shapiro.test(dat)

        Shapiro-Wilk normality test

data:  dat 
W = 0.9981, p-value = 0.675

qqplotを実行することをお勧めします。これが直線に十分に近い場合は、目的に応じて正規性に十分に近いものとして扱うことを決定できます。それはむしろそれらの目的が何であるかに依存します。


目的は、線形回帰で残差が正常かどうかをテストすることです。
ロビー

1
@ロビー。どうやらそうではないようですが、あまり問題にならない程度に近いかもしれません。qqplotを試してください。
ヘンリー、

ピアソンのカイ二乗の結果は、データが正規分布されていないように見えます。ただ言って。そのような結果をどうするか?
xmjx

@xmjx:それほど多くはありません-0.05の基準を適用した場合、5%の確率で誤検知が発生しても、驚くことはありません。
Henry

@ヘンリー知っています。つまり、正規性テストを前もって選択すると、「有意」と言う可能性のあるものを選択する可能性があります。だからバッテリーを動かして、それから...何をした方がいいですか?平均?過半数の投票で行きますか?
xmjx

2

「正常性テストは時間の浪費であり、あなたの例はその理由を説明しています。」というdsimchaからの回答に反対します。正規性テストは時間の無駄ではありません。いつでもデータから学ぶことができます。さらに、分析を実行する前にテストする必要のある条件があります(ANOVA、回帰など)。比較的大きなサンプルサイズは、プロット(QQplot、ヒストグラム)でテストすることをお勧めします。このような場合、視覚化により、マルチモーダル動作などについてより多くの情報が提供されます。

大きなサンプルサイズを扱う場合、ANOVAと回帰は非正規性に対してロバストですが、問題を引き起こす主なデータタイプはマルチモーダルデータサンプルです。

サンプルサイズが小さい場合、主に感度が高いため、Kolgomorov-Smirnov検定が最適なオプションです。


1

これまでに投稿された他の回答とは少し意見が異なります。これらの正規性のテストでは、サンプルサイズが比較的大きい場合でも、少なくとも特定の種類の偏差については、ほとんど影響力がありません。

簡単な例を示します。私は、平均が全体のSDで区切られている2つの法線の混合を生成しました。

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(c(rnorm(325, mean = 0), rnorm(325, mean = 1)))$p.value
)
mean(reps < .05)
[1] 0.0525

たとえそれが本当に正常であったとしても、5%の確率で正常からの逸脱を「検出」すると考えると、それほど印象的ではありません。

次に、別の例を示します。2つの標準偏差のサイズの範囲にわたって均一なノイズを追加します。これは目に見えて非正常です。

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(rnorm(650) + 2 * runif(650))$p.value
)
mean(reps < .05)
[1] 0.0523

繰り返しになりますが、非常に低い電力で、正常性からかなり大きく離れています。

qqplotを正しく読んでいますか?アップロードして、見てもらえますか?

一方、編集は非正規性に対してかなり堅牢であるため、視覚的な検査でほとんどの目的に十分であると私は同意します。


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