モーメント
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]))

