贝叶斯统计最大后验密度可信集Python实现2.0

本文介绍了使用Python进行贝叶斯统计分析,重点在于如何实现最大后验密度(MAP)可信集的方法。通过实例,详细阐述了整个运行过程,包括关键的代码实现和解释。
摘要由CSDN通过智能技术生成
import sympy as sy

alpha_bar = 1 - 0.05
x = sy.symbols('x')
y = 1 / (sy.sqrt(2 * sy.pi) * 8.32) * sy.exp(-1 * ((x - 110.38) ** 2) / (2 * 8.32 ** 2))  # N(110.38,8.32^2)
dy = sy.diff(y,x)  # 求导
max_x = sy.solve(dy)  # 返回一个列表
max_y = y.subs(x,max_x[0])  # 密度函数最大值
k = max_y / 2
# k=k.evalf(5)#精度
ans = sy.solve([y - k])
theta_1_k = ans[0][x]
theta_2_k = ans[1][x]
s = sy.integrate(y,(x,theta_1_k,theta_2_k))  # 积分,计算概率
n = 1  # 统计运行次数
while True:
    if s - alpha_bar > 1e-3:
        k = k + 1e-3  # s大,k上移
        print(n,":",theta_1_k,theta_2_k)
        n = n + 1
    elif alpha_bar - s > 1e-3:
        k = k - 1e-3  # s大,k下移
        print(n,":",theta_1_k,theta_2_k)
        n = n + 1
    else:
        break
    ans = sy.solve([y - k])
    theta_1_k = ans[0][x]
    theta_2_k = ans[1][x]
    s = sy.integrate(y,(x,th
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值