現在、私が書いたMCシミュレーションによって生成されたデータを調べています。値が正規分布していると思います。当然、私はヒストグラムをプロットし、それは妥当に見えます(私は推測しますか?):
[左上:ヒストグラムdist.pdf()
、右上:累積ヒストグラムdist.cdf()
、下:QQプロット、data
対dist
]
次に、いくつかの統計的検定を使用してこれをさらに詳しく調べることにしました。(注意してくださいdist = stats.norm(loc=np.mean(data), scale=np.std(data))
。)私がしたことと私が得た出力は次のとおりです:
コルモゴロフ-スミルノフ検定:
scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig)) KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536)
Shapiro-Wilkテスト:
scipy.stats.shapiro(dat) (0.9810476899147034, 1.3054057490080595e-05) # where the first value is the test statistic and the second one is the p-value.
QQプロット:
stats.probplot(dat, dist=dist)
これからの私の結論は:
ヒストグラムと累積ヒストグラムを見ることで、私は間違いなく正規分布を仮定します
QQプロットを見た後も同じことが言えます(これまでにずっと良くなっていますか?)
KSテストは言う:「はい、これは正規分布です」
私の混乱は次のとおりです。SW検定では、正規分布ではないことが示されています(p値は有意性よりはるかに小さくalpha=0.05
、初期の仮説は正規分布でした)。これは理解できません。誰かより良い解釈がありますか?ある時点で失敗しましたか?
args
パラメータがデータから派生したものかどうかを明らかにする方法が引数にありません。ドキュメントは明確ではありませんが、これらの違いについての言及がないことは、リリーフォースのテストを実行していないことを強く示唆しています。そのテストは、コード例とともに、stackoverflow.com/ a/ 22135929/844723で説明されています。