《贝叶斯方法:概率编程与贝叶斯推断》一1.8答案

简介:

本节书摘来自异步社区《贝叶斯方法:概率编程与贝叶斯推断》一书中的第1章,第1.8节,作者 【加】Cameron Davidson-Pilon(卡梅隆 戴维森-皮隆),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.8答案

1.计算后验的均值(即后验的期望值),我们只需要用到样本和a.mean函数。

print lambda_1_samples.mean()
print lambda_2_samples.mean()

2.给定两个数a 和 b,相对增长可以由 (a − b)/b给出。在我们的实例中,我们并不能确定λ1和λ2的值是多少。通过计算

(lambda_2_samples-lambda_1_samples)/lambda_1_samples

我们得到另外一个向量,它表示相对增长的后验,如图1.7.1所示。

relative_increase_samples = (lambda_2_samples-lambda_1_samples)
                                   /lambda_1_samples
print relative_increase_samples

[Output]:
 
[ 0.263 0.263 0.263 0.263 ..., 0.1622 0.1898 0.1883 0.1883]


figsize(12.5,4)
plt.hist(relative_increase_samples, histtype='stepfilled',
           bins=30, alpha=0.85, color="#7A68A6", normed=True,
           label='posterior of relative increase')
plt.xlabel("Relative increase")
plt.ylabel("Density of relative increase")
plt.title("Posterior of relative increase")
plt.legend();

为了计算这个均值,需要用到新向量的均值:

print relative_increase_samples.mean()

[Output]:
 
0.280845247899


a6473a1865e7e5b2117a813cb825f98dcd169973

3.如果已知 τ < 45,那么所有样本都需要考虑到这点:

ix = tau_samples < 45
print lambda_1_samples[ix].mean()

[Output]:
 
17.7484086925
相关文章
|
11月前
|
算法 数据挖掘 API
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
109 1
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
|
机器学习/深度学习 算法
近似推断|机器学习推导系列(二十七)
近似推断|机器学习推导系列(二十七)
150 0
近似推断|机器学习推导系列(二十七)
|
Python 算法 机器学习/深度学习
《贝叶斯方法:概率编程与贝叶斯推断》——导读
贝叶斯方法是一种常用的推断方法,然而对读者来说它通常隐藏在乏味的数学分析章节背后。关于贝叶斯推断的书通常包含两到三章关于概率论的内容,然后才会阐述什么是贝叶斯推断。不幸的是,由于大多数贝叶斯模型在数学上难以处理,这些书只会为读者展示简单、人造的例子。
1754 0