趣学贝叶斯统计:Beta分布练习题

文章讲述了如何使用贝塔分布分析一枚硬币是否均匀,通过多次投掷并更新先验和后验分布,计算在给定误差范围内的硬币出现正面的概率。具体步骤包括计算单次投掷后的后验概率,以及随着更多数据的积累,调整置信区间的概率估计。
摘要由CSDN通过智能技术生成

(1) 你想用Beta分布来判断自己拥有的一枚硬币是否是一枚均匀的硬币,也就是说,这枚硬币出现正面和反面的机会一样。掷这枚硬币10次,出现正面4次,反面6次。利用Beta分布,计算这枚硬币在60%以上的情况下出现正面的概率。

  1. 计算先验:
    假设硬币的正面出现的概率为θ,我们可以将θ的先验分布设为Beta分布,即:

P ( θ ) ∼ B e t a ( α , β ) P(\theta) \sim Beta(\alpha, \beta) P(θ)Beta(α,β)

  1. 后验参数:
    我们观察到了10次投掷中有4次正面和6次反面,这对应于二项分布。

P ( θ ∣ D ) ∼ B e t a ( α + 4 , β + 6 ) P(\theta | D) \sim Beta(\alpha + 4, \beta + 6) P(θD)Beta(α+4,β+6)

其中D是观察到的数据。

为了计算硬币在60%以上出现正面的概率,我们需要计算后验分布中θ大于0.6的概率:

P ( θ > 0.6 ∣ D ) = ∫ 0.6 1 P ( θ ∣ D ) d θ P(\theta > 0.6 | D) = \int_{0.6}^{1} P(\theta | D) d\theta P(θ>0.6∣D)=0.61P(θD)dθ

α \alpha α B \Beta B先验=1,后验 α ′ = α + 4 = 1 + 4 = 5 \alpha' = \alpha + 4 = 1 + 4 = 5 α=α+4=1+4=5 β ′ = β + 6 = 1 + 6 = 7 \beta' = \beta + 6 = 1 + 6 = 7 β=β+6=1+6=7

现在,我们有后验分布为 P ( θ ∣ D ) ∼ B e t a ( 5 , 7 ) P(\theta | D) \sim Beta(5, 7) P(θD)Beta(5,7)

要计算硬币在60%以上出现正面的概率,我们需要计算后验分布中 θ > 0.6 \theta > 0.6 θ>0.6 的概率:

P ( θ > 0.6 ∣ D ) = ∫ 0.6 1 B e t a ( θ ∣ 5 , 7 ) d θ P(\theta > 0.6 | D) = \int_{0.6}^{1} Beta(\theta | 5, 7) d\theta P(θ>0.6∣D)=0.61Beta(θ∣5,7)dθ

我们可以使用数值积分来近似计算。在这里,我将使用Python中的数值积分库进行计算。

from scipy.stats import beta
import numpy as np

# 定义后验分布的参数
alpha_posterior = 5
beta_posterior = 7

# 计算概率
probability = 1 - beta.cdf(0.6, alpha_posterior, beta_posterior)#beta.cdf计算了小于等于0.6的概率。

print("硬币在60%以上出现正面的概率为:", probability)

结果:

硬币在60%以上出现正面的概率为: 0.5210763722942205

这表示硬币在60%以上出现正面的概率约为52.11%。

(2) 你继续掷这枚硬币10次,现在共出现正面9次,反面11次。根据我们对“均匀”一词的定义,在误差不超过5%的情况下,请问这枚硬币均匀的概率是多少?

方法:

  1. 在上述的基础上,要找到累计概率为95%的区间。
  2. 计算接近0.5的概率(用小于等于0.55的概率-小于等于0.45的概率)
from scipy.stats import beta

# 更新后验分布参数
alpha_posterior = 10
beta_posterior = 12

# 找到使得累积概率为95%的区间
lower_bound = beta.ppf(0.025, alpha_posterior, beta_posterior)
upper_bound = beta.ppf(0.975, alpha_posterior, beta_posterior)

# 计算均匀的概率,即 θ 接近0.5 的概率
uniform_probability = beta.cdf(0.55, alpha_posterior, beta_posterior) - beta.cdf(0.45, alpha_posterior, beta_posterior)

print("95%的后验区间为: [{:.4f}, {:.4f}]".format(lower_bound, upper_bound))
print("这枚硬币均匀的概率为: {:.4f}".format(uniform_probability))

结果:

95%的后验区间为: [0.2571, 0.6598]
这枚硬币均匀的概率为: 0.3276

PPF(Percent Point Function)是累积分布函数的逆函数。对于给定的概率值,PPF 返回一个对应的分位数,即使得随机变量落在该值以下的概率等于给定概率值的点。

(3) 用数据证明是让你对自己的论断更有信心的最佳方法。你继续抛掷这枚硬币200次,最终出现109次正面,111次反面。还是在误差不超过5%的情况下,请问这枚硬币均匀的概率是多少?

结果:

95%的后验区间为: [0.4300, 0.5611]
这枚硬币均匀的概率为: 0.8608
  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值