ホーム » コードあり » 2018 Q4(1)

投稿一覧

2018 Q4(1)

条件付きの正規分布の周辺確率密度関数を求めました。

 

コード

条件付き分布Y|X=x を生成し、Yの周辺分布が標準正規分布に従うかシミュレーションしてみます。

# 2018 Q4(1)  2024.10.18

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

# パラメータ設定
rho = 0.7  # 相関係数

# サンプルサイズ
n_samples = 10000

#Xを標準正規分布からサンプル
X = np.random.normal(0, 1, n_samples)

#Y|X=x に基づいてYを生成
Y = np.random.normal(rho * X, np.sqrt(1 - rho**2))

#Yのヒストグラムを描画
plt.hist(Y, bins=50, density=True, alpha=0.6, color='g', label='シミュレーションされた Y')

# 理論的な標準正規分布N(0,1)の曲線を重ねる
x_vals = np.linspace(-4, 4, 1000)
plt.plot(x_vals, norm.pdf(x_vals, 0, 1), 'r-', lw=2, label='理論分布 N(0,1)')

# ラベルを描画
plt.title('シミュレーションされた Y と理論分布 N(0,1) の比較')
plt.xlabel('Y')
plt.ylabel('確率密度')
plt.legend()

# グラフを表示
plt.show()

Yは標準正規分布に従うことが確認できました。