分布選択の評価

Pythonで学ぶモンテカルロ・シミュレーション

Izzy Weber

Curriculum Manager, DataCamp

変数の確率分布を選ぶ

  1. データと利用可能な確率分布を直感的に把握する
  2. 最尤推定(MLE)で候補分布を比較する
  3. コルモゴロフ–スミルノフ検定で分布の適合度を評価する
    • データの経験分布と候補の理論分布の距離を定量化
    • scipy.stats.kstest()で計算
Pythonで学ぶモンテカルロ・シミュレーション

分布選択の評価:年齢

results = []

list_of_dists = ["laplace", "norm", "expon"]
for i in list_of_dists: dist = getattr(st, i)
param = dist.fit(dia["age"])
result = st.kstest(dia["age"], i, args=param)
print(result)

ラプラス・正規・指数分布の順での結果:

KstestResult(statistic=0.09511179937112832, pvalue=0.0006239579389182981)
KstestResult(statistic=0.0615913626181368, pvalue=0.06703225234359811)
KstestResult(statistic=0.2536037941921312, pvalue=1.5202547969084796e-25)
Pythonで学ぶモンテカルロ・シミュレーション

分布選択の評価:年齢

ラプラス・正規・指数分布の順での結果:

KstestResult(statistic=0.09511179937112832, pvalue=0.0006239579389182981)
KstestResult(statistic=0.0615913626181368, pvalue=0.06703225234359811)
KstestResult(statistic=0.2536037941921312, pvalue=1.5202547969084796e-25)
Pythonで学ぶモンテカルロ・シミュレーション

分布選択の評価:血清総コレステロール(tc)

results = []
list_of_dists = ["laplace", "norm", "expon"]

for i in list_of_dists: dist = getattr(st, i) param = dist.fit(dia["tc"]) result = st.kstest(dia["tc"], i, args=param) print(result)

ラプラス・正規・指数分布の順での結果:

KstestResult(statistic=0.06435779928393615, pvalue=0.04915329841106708)
KstestResult(statistic=0.051165295747227724, pvalue=0.19085587687385897)
KstestResult(statistic=0.3318461436889846, pvalue=7.018486943525e-44)
Pythonで学ぶモンテカルロ・シミュレーション

Let's practice!

Pythonで学ぶモンテカルロ・シミュレーション

Preparing Video For Download...