評估機率分配的選擇

Python 的 Monte Carlo 模擬

Izzy Weber

Curriculum Manager, DataCamp

選擇變數的機率分配

  1. 建立對資料與可用機率分配的直觀理解
  2. 用最大概似估計(MLE)比較候選分配
  3. 用 Kolmogorov–Smirnov 檢定評估機率分配的「配適度」
    • 量化資料的經驗分配與理論候選機率分配之間的距離
    • 使用 scipy.stats.kstest() 計算
Python 的 Monte Carlo 模擬

評估分配選擇:年齡

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)

依序為 Laplace、常態與指數分配的結果:

KstestResult(statistic=0.09511179937112832, pvalue=0.0006239579389182981)
KstestResult(statistic=0.0615913626181368, pvalue=0.06703225234359811)
KstestResult(statistic=0.2536037941921312, pvalue=1.5202547969084796e-25)
Python 的 Monte Carlo 模擬

評估分配選擇:年齡

依序為 Laplace、常態與指數分配的結果:

KstestResult(statistic=0.09511179937112832, pvalue=0.0006239579389182981)
KstestResult(statistic=0.0615913626181368, pvalue=0.06703225234359811)
KstestResult(statistic=0.2536037941921312, pvalue=1.5202547969084796e-25)
Python 的 Monte Carlo 模擬

評估分配選擇: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)

依序為 Laplace、常態與指數分配的結果:

KstestResult(statistic=0.06435779928393615, pvalue=0.04915329841106708)
KstestResult(statistic=0.051165295747227724, pvalue=0.19085587687385897)
KstestResult(statistic=0.3318461436889846, pvalue=7.018486943525e-44)
Python 的 Monte Carlo 模擬

一起來練習吧!

Python 的 Monte Carlo 模擬

Preparing Video For Download...