贝叶斯推理:一个更有趣的例子

本文通过一个有趣的例子探讨了如何使用贝叶斯推理来理解系统中用户收发信息的习惯变化。借助泊松随机变量模型,分析了信息计数数据,并假设在观察期内参数λ经历了一个关节点变化,引入了两个不同的λ值。进一步讨论了如何为λ的先验概率选择指数分布,并解释了τ的先验概率设定。
摘要由CSDN通过智能技术生成

贝叶斯推理:一个更有趣的例子

系统中的某用户每天收发的文本信息的数目,都有记录。图-1画出了这些数据。你想了解该用户收发信息的习惯在此期间的变化,是逐渐的还是突然的。你将如何解决问题?

%matplotlib inline
from IPython.core.pylabtools import figsize
import numpy as np
from matplotlib import pyplot as plt
import scipy.stats as stats

figsize(12.5, 3.5)
count_data = np.loadtxt("data/txtdata.csv")
n_count_data = len(count_data)
plt.bar(np.arange(n_count_data), count_data, color="#348ABD")
plt.xlabel("Time (days)")
plt.ylabel("Text messages received")
plt.title("Did the user’s texting habits change over time?")
plt.xlim(0, n_count_data);

这里写图片描述图-1

对于这种计数的数据,泊松随机变量是很恰当的建模工具。每天文本信息的计数 Ci C i 记作:

CiPoi(λ) C i ∼ P o i ( λ )

意思是随机变量 Ci C i 有泊松质量分布。

但是, λ λ 的值如何确定呢?图-1可见,在观察的后期收发的信息更多。这相当于说,在观察期的某时间点, λ λ 变大。(回忆一下,较大的 λ λ 会将较大输出值对应的概率加大。因此,如果某一天发出了许多信息,那么,这一天对应的概率会比较大。)

对此,我们如何用数学表示这一观察呢?假定在观察期(记作 τ τ )内,参数 λ λ 突然跳增。于是,我们就有了两个 λ λ ,一个适用于 τ τ 之前,另一个适用于其余期间。这种突变俗称关节点变化:

λ={λ1  if  t<τλ2  if  t>=τ λ = { λ 1     i f     t < τ λ 2     i f     t >= τ

现实中,如果数据没有突然改变,并且确实 λ1=λ2 λ 1 = λ 2 ,那么, λ λ 的后验分布应该相等。

我们感兴趣的是未知的 λ λ 。要用贝叶斯推理,我们需要对 λ λ 不同的值赋予相应的先验概率。对于 λ1 λ2 λ 1 和   λ 2 ,怎样的先验概率是适当的?已知 λ λ 可为任意正数,而指数分布有连续密度函数处理正数,所以,该函数可能是计算 λi λ i 的适当选择 。不过,指数分布有自己的参数,我们需要把它纳入我们的运算。我们把这个参数称作 α α

λ1Exp(α)λ2Exp(α) λ 1 ∼ E x p ( α ) λ 2 ∼ E x p ( α )

α α 叫做超参数或父参数,字面的意思是它可以影响其他参数。估计 α α 不会对运算有太大的影响,我们有些灵活的选择。在运算中,我们不想对这个参数过于执着。我建议把它设置成数据样本平均值的倒数。为什么这样做?因为我们使用指数分布计算 λ λ ,可以得到如前所述的预期值:
1Ni=0NCiE[λ|α]=1α 1 N ∑ i = 0 N C i ≈ E [ λ | α ] = 1 α

使用这个数值,我们不再执着于先验分布,并且大大降低了超级参数的影响。我建议用两个先验分布对应每个 λi λ i 。以不同的 α α 值创建两个指数分布,表示我们的先验信念在观察期间某时间点的变化。

τ τ 是怎么回事?由于数据有噪声,当 τ τ 发生时,难以取得先验概率。于是,我们为每一天给以统一的先验概率:

τDiscreteUniform(1,70)P(τ=k)=170 τ ∼ D i s c r e t e U n i f o r m ( 1 , 70 ) ⇒ P ( τ = k ) = 1 70

那么,对于未知变量,我们总的先验分布看上去是什么样的呢?坦率地说,这无关紧要。应当理解的是,它丑陋、杂乱,用到的符号只有数学家喜欢。并且,如果我们的模型越复杂,所看到的分布越丑陋。幸好,我们关心的全是后验分布。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值