python模型检验_PyMC-Bernoulli模型检验
我目前正在嘗試與PyMC進行模型檢查,我的模型是一個Bernoulli模型,我有一個Beta版本。我想做一個(I)gof圖和(ii)計算后驗預測p值。在
我已經用一個二項式模型運行我的代碼,但是我很難找到使伯努利模型工作的正確方法。不幸的是,在任何地方都沒有我可以學習的例子。我的代碼如下所示:import pymc as mc
import numpy as np
alpha = 2
beta = 2
n = 13
yes = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,0,0])
p = mc.Beta('p',alpha,beta)
surv = mc.Bernoulli('surv',p=p,observed=True,value=yes)
surv_sim = mc.Bernoulli('surv_sim',p=p)
mc_est = mc.MCMC({'p':p,'surv':surv,'surv_sim':surv_sim})
mc_est.sample(10000,5000,2)
import matplotlib.pylab as plt
plt.hist(mc_est.surv_sim.trace(),bins=range(0,3),normed=True)
plt.figure()
plt.hist(mc_est.p.trace(),bins=100,normed=True)
mc.Matplot.gof_plot(mc_est.surv_sim.trace(), 10/13., name='surv')
#here I have issues
D = mc.discrepancy(yes, surv_sim, p.trace())
mc.Matplot.discrepancy_plot(D)
我遇到的主要問題是確定discrepancy函數的期望值。僅僅使用p.trace()在這里不起作用,因為這些是概率。不知何故,我需要在這里加入樣本量,但我正努力以一種類似于二項式模型的方式來實現這一點。我也不太確定,我是否正確地做了gof_plot。在
希望有人能幫我!謝謝!在
總結
以上是生活随笔為你收集整理的python模型检验_PyMC-Bernoulli模型检验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS图片转成视频方法
- 下一篇: Python实用代码工具3|图片转视频