データセットが通常のディストリビューションであるかどうかをテストするには、scipy で normaltest を使用する必要があります。しかし、使用方法の良い例が見つからないようですscipy.stats.normaltest
。
データセットに 100 を超える値があります。
データセットが通常のディストリビューションであるかどうかをテストするには、scipy で normaltest を使用する必要があります。しかし、使用方法の良い例が見つからないようですscipy.stats.normaltest
。
データセットに 100 を超える値があります。
In [12]: import scipy.stats as stats
In [13]: x = stats.norm.rvs(size = 100)
In [14]: stats.normaltest(x)
Out[14]: (1.627533590094232, 0.44318552909231262)
normaltest
カイ2乗統計量の2タプル、および関連するp値を返します。正規分布から得られた帰無仮説が与えられたx
場合、p値は、その大きい(または大きい)カイ2乗統計が見られる確率を表します。
p-valが非常に小さい場合は、データが正規分布からのものである可能性が低いことを意味します。例えば:
In [15]: y = stats.uniform.rvs(size = 100)
In [16]: stats.normaltest(y)
Out[16]: (31.487039026711866, 1.4543748291516241e-07)
最初に、scipy.stats.normaltest がほぼ同じであることがわかりました。mstats ライブラリは、マスクされた配列に使用されます。値を無効としてマークし、計算に含めないようにすることができる配列。
import numpy as np
import numpy.ma as ma
from scipy.stats import mstats
x = np.array([1, 2, 3, -1, 5, 7, 3]) #The array needs to be larger than 20, just an example
mx = ma.masked_array(x, mask=[0, 0, 0, 1, 0, 0, 0])
z,pval = mstats.normaltest(mx)
if(pval < 0.055):
print "Not normal distribution"
「従来、統計では、帰無仮説を棄却するには p 値が 0.05 未満である必要があります。」- http://mathforum.org/library/drmath/view/72065.html