2016-09-26 10 views
2

私はscipy.stats.mstats.normaltestscipy.stats.shapiroの両方のscipy統計情報の正常性テストを見てきました。彼らは両方とも、与えられたデータが正常。通常のヒストグラムにもかかわらず、正常性テストのP値は非常に小さい

つまり、p値が0.05未満であると正常でないことを示します。

私はSKLearnでLassoCVとの回帰をやっている、と自分自身に良い結果を与えるために、私はこのようになりますヒストグラムを与える答えを、対数変換:

Histogram of data

はに正常なルックス私。

しかし、上記の2つのテストのいずれかでデータを実行すると、データが正常でないことを示す非常に小さいp値が得られます。

これは私がscipy.stats.shapiro

scipy.stats.shapiro(y) 
Out[69]: (0.9919402003288269, 3.8889791653673456e-07) 

を使用して、私はscipy.stats.mstats.normaltest実行したときに、私はこれを取得するときに私が得るものです:

scipy.stats.mstats.normaltest(y) 
NormaltestResult(statistic=25.755128535282189, pvalue=2.5547293546709236e-06) 

それが信じがたいようです私のデータは、それが持つヒストグラムとはまったく同じであることがテストされます。

この不一致を引き起こすものがありますか、または結果を正しく解釈していませんか?

+4

データポイントが多数ありますか?分布が「正常に見える」場合であっても、多くの観測値があると、分布と正規分布との微妙な差異が取り上げられる。あなたのヒストグラムのy軸をログスケールすることを試みてください。それは、分布がピークに近い通常のものでよく釣り合っているかもしれないが、翼では一致していない可能性があります。 –

+4

[P-Pプロット](https://en.wikipedia.org/wiki/P%E2%80%93P_plot)は、サンプルが理論的な分布からどのように逸脱しているかを視覚化するのに役立ちます。 ['scipy.stats.probplot'](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.probplot.html)を使用して作成することができます。 –

+3

*「私には普通に見えます。」*私には正の歪みがあるように見えます。 :)目によって分布の正規性を判断することはおそらくあまり信頼性がありません。 @AngusWilliamsのコメントは重要です。データポイントはいくつありますか? –

答えて

0

縦軸の数字が各クラスの観測数である場合、サンプルサイズは約1500です。このような大きなサンプルサイズの場合、適合度のテストはめったに役に立ちません。しかし、あなたのデータが完全に正常に配布されることが本当に必要ですか?統計的方法でデータを分析したい場合、この方法は正規分布仮定からの( "小さな")偏差の下で堅牢であるかもしれませんか? 実際には、私の統計解析では通常、「正規分布仮定は受け入れ可能ですか」という質問があります。完璧な正規分布は非常にまれである。 ヒストグラムに対する追加のコメント:ヒストグラムのデータを解釈することにより注意が必要です。データが「正常に見える」かどうかは、ヒストグラムクラスの幅に依存する可能性があるからです。ヒストグラムは慎重に扱うべきヒントです。

関連する問題