モーメント
1次モーメント 1次モーメントは、平均を表します。 import numpy as np vals = np.random.normal(0, 0.5, 10000) #1次モーメント 平均 moment1 = np.mean(vals) 2次モーメント
2次モーメントは、分散を表します。
import numpy as np vals = np.random.normal(0, 0.5, 10000) #2次モーメント 分散 moment2 = np.var(vals)
3次モーメント
3次モーメントは、歪度を表します。
分布がどれだけ偏っているかを示します。
scipy.statsをインポートします。
import numpy as np import scipy.stats as sp vals = np.random.normal(0, 0.5, 10000) #3次モーメント 歪度 分布がどれだけ偏っているか moment3 = sp.skew(vals)
4次モーメント
4次モーメントは、尖度を表します。
分布がどれだけ尖っているかを示します。
3次モーメント同様にscipy.statsをインポートします。
import numpy as np import scipy.stats as sp vals = np.random.normal(0, 0.5, 10000) #4次モーメント 尖度 どれだけ尖っているか moment4 = sp.kurtosis(vals)
まとめ
1から4までのモーメントを出力します。
ヒストグラムをおまけに表示します。
import numpy as np import matplotlib.pyplot as plt import scipy.stats as sp vals = np.random.normal(0, 0.5, 10000) plt.hist(vals, 50) plt.show() moment = [] #1次モーメント 平均 moment.append(np.mean(vals)) #2次モーメント 分散 moment.append(np.var(vals)) #3次モーメント 歪度 分布がどれだけ偏っているか moment.append(sp.skew(vals)) #4次モーメント 尖度 どれだけ尖っているか moment.append(sp.kurtosis(vals)) for i in range(4): print("{0}モーメント:{1}".format(i+1,moment[i]))