python泊松分布模型_用 Python 进行贝叶斯模型建模(1)

本文介绍了如何使用Python进行贝叶斯模型建模,特别是针对计数数据,如汽车数量和聊天响应时间,利用泊松分布进行建模。通过频率论和贝叶斯方法分别估计泊松分布的参数μ。文章展示了如何使用优化技术找到最大似然估计,并利用MCMC(马尔科夫链蒙特卡洛)采样来获取参数的后验分布,从而得到参数的不确定性。
摘要由CSDN通过智能技术生成

本系列:

《第 1 节:估计模型参数》

第1节:估计模型参数

在这一节,我们将讨论贝叶斯方法是如何思考数据的,我们怎样通过 MCMC 技术估计模型参数。

fromIPython.displayimportImage

importmatplotlib.pyplotasplt

importnumpyasnp

importpandasaspd

importpymc3aspm

importscipy

importscipy.statsasstats

importscipy.optimizeasopt

importstatsmodels.apiassm

%matplotlibinline

plt.style.use('bmh')

colors=['#348ABD','#A60628','#7A68A6','#467821','#D55E00',

'#CC79A7','#56B4E9','#009E73','#F0E442','#0072B2']

messages=pd.read_csv('data/hangout_chat_data.csv')

贝叶斯方法如何思考数据?

当我开始学习如何运用贝叶斯方法的时候,我发现理解贝叶斯方法如何思考数据是很有用的。设想下述的场景:

一个好奇的男孩每天观察从他家门前经过的汽车的数量。他每天努力地记录汽车的总数。一个星期过去后,他的笔记本上记录着下面的数字:12,33,20,29,20,30,18

从贝叶斯方法的角度看,这个数据是由随机过程产生的。但是,既然数据被观测,它便固定了并且不会改变。这个随机过程有些模型参数被固定了。然而,贝叶斯方法用概率分布来表示这些模型参数的不确定性。

由于这个男孩调查的是计数(非负整数),一个通常的做法是用泊松分布对数据(如随机过程)建模。泊松分布只有一个参数 μ,它既是数据的平均数,也是方差。下面是三个不同 μ 值的泊松分布。

代码:

fig=plt.figure(figsize=(11,3))

ax=fig.add_subplot(111)

x_lim=60

mu=[5,20,40]

foriinnp.arange(x_lim):

plt.bar(i,stats.poisson.pmf(mu[0],i),color=colors[3])

plt.bar(i,stats.poisson.pmf(mu[1],i),color=colors[4])

plt.bar(i,stats.poisson.pmf(mu[2],i),color=colors[5])

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值