栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

贝叶斯统计后验概率Python实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

贝叶斯统计后验概率Python实现

from scipy.stats import beta
import matplotlib.pyplot as plt
import numpy as np
import sympy as sy
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

#X二项分布,n=5,x=3
#似然函数
x1=np.arange(0,1,0.01)
y1=10*x1**3*(1-x1)**2
plt.plot(x1,y1,label="似然函数")

#先验为U(0,1)
a,b=4,3
x2 = np.linspace(beta.ppf(0, a, b),beta.ppf(1, a, b), 100)#ppf分位数
plt.plot(x2, beta.pdf(x2, a, b),label="先验为U(0,1)")

# 先验为三角分布-2x+2
x3=np.arange(0,1,0.01)
y3=140*(-x3+1)*x3**3*(1-x3)**2
plt.plot(x3,y3,label="先验为三角分布-2x+2")

#先验分布为倒三角分布2x
x4=np.arange(0,1,0.01)
y4=105*x4**4*(1-x4)**2
plt.plot(x4,y4,label="先验为倒三角分布2x")

plt.title("不同先验分布下的后验分布对比n X$sim B(5,"r"theta),x=3$")#latex语法,注意Python中“”为转义字符
plt.legend()#图例,loc关键字传参

#算期望
xx=sy.symbols("xx")
yy=xx*105*xx**4*(1-xx)**2
sy.integrate(yy,(xx,0,1))

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号