2 つの正規分布から取得した 1 次元データがあります。私の目標は、2 つの異なるガウス成分を推定することです。
plt.hist(my_data, bins=100, edgecolor= 'white' normed=False)
GMM (ガウス混合モデル) を使用します。
clf = mixture.GaussianMixture(n_components=2)
clf.fit(my_data)
2 つのガウス分布を取得します。
mean_1 = clf.means_[0][0]
mean_2 = clf.means_[1][0]
std_1 = np.sqrt(clf.covariances_[0][0])[0]
std_2 = np.sqrt(clf.covariances_[1][0])[0]
weight_1 = weights[0]
weight_2 = weights[1]
質問に、ヒストグラムを上記のガウスパラメータでオーバーレイしたいと思います。最初にヒストグラムを正規化する必要があると思いますが、各ガウス重みの面積が正しく、合計面積が1になるようにプロットするにはどうすればよいですか?また、正規化されていないヒストグラムの上に重ねるにはどうすればよいですか?
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 500)
y = norm.pdf(x, mean_1, std_1)
plt.plot(x,y)
y = norm.pdf(x, mean_2, std_2)
plt.plot(x,y)
上記のコード ブロックでは、2 つの正規化されたガウス プロットが得られますが、どちらも同じ面積を持っています。