﻿import numpy as np  # モジュールNumpyをnpという名前でインポート
from scipy import stats  # 高度な統計分析を行うためのサブモジュール
m0 = -2.5  # μの真のパラメータ値：μ0
s0 = 1.5   # σの真のパラメータ値：σ0
np.random.seed(1)  # 乱数のシード値を固定
# 正規分布N(μ0,σ0*σ0)に従う乱数を10000個生成
x = np.random.normal(loc = m0, scale = s0, size = 10000)
# 最尤推定の実行 (戻り値はmean_hat, sd_hat)
mean_hat, sd_hat = stats.norm.fit(x)
# 推定結果の表示
print("mean =", mean_hat)
print("sd   =", sd_hat)