定义:

beta分布可以看作一个概率的概率分布,当你不知道一个东西的具体概率是多少时,它可以给出了所有概率出现的可能性大小。

举一个简单的例子,熟悉棒球运动的都知道有一个指标就是棒球击球率(batting average),就是用一个运动员击中的球数除以击球的总数,我们一般认为0.266是正常水平的击球率,而如果击球率高达0.3就被认为是非常优秀的。现在有一个棒球运动员,我们希望能够预测他在这一赛季中的棒球击球率是多少。你可能就会直接计算棒球击球率,用击中的数除以击球数,但是如果这个棒球运动员只打了一次,而且还命中了,那么他就击球率就是100%了,这显然是不合理的,因为根据棒球的历史信息,我们知道这个击球率应该是0.215到0.36之间才对啊。对于这个问题一个最好的方法就是用beta分布,这表示在我们没有看到这个运动员打球之前,我们就有了一个大概的范围。beta分布的定义域是(0,1)这就跟概率的范围是一样的。接下来我们将这些先验信息转换为beta分布的参数,我们知道一个击球率应该是平均0.27左右,而他的范围是0.21到0.35,那么根据这个信息,我们可以取α=81,β=219(击中了81次,未击中219次)

之所以取这两个参数是因为:

  • beta分布的均值是从图中可以看到这个分布主要落在了(0.2,0.35)间,这是从经验中得出的合理的范围。
  • 在这个例子里,我们的x轴就表示各个击球率的取值,x对应的y值就是这个击球率所对应的概率。也就是说beta分布可以看作一个概率的概率分布。

         

公式: 

# IMPORTS
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import matplotlib.style as style
from IPython.core.display import HTML# PLOTTING CONFIG
%matplotlib inline
style.use('fivethirtyeight')
plt.rcParams["figure.figsize"] = (14, 7)plt.figure(dpi=100)# PDF
plt.plot(np.linspace(0, 1, 100), stats.beta.pdf(np.linspace(0, 1, 100),a=2,b=2) )
print (stats.beta.pdf(np.linspace(0, 1, 100),a=2,b=2))
plt.fill_between(np.linspace(0, 1, 100),stats.beta.pdf(np.linspace(0, 1, 100),a=2,b=2),alpha=.15)# CDF
plt.plot(np.linspace(0, 1, 100), stats.beta.cdf(np.linspace(0, 1, 100),a=2,b=2),)# LEGEND
plt.text(x=0.1, y=.7, s="pdf (normed)", rotation=52, alpha=.75, weight="bold", color="#008fd5")
plt.text(x=0.45, y=.5, s="cdf", rotation=40, alpha=.75, weight="bold", color="#fc4f30")# TICKS
plt.tick_params(axis = 'both', which = 'major', labelsize = 18)
plt.axhline(y = 0, color = 'black', linewidth = 1.3, alpha = .7)# TITLE, SUBTITLE & FOOTER
plt.text(x = -.125, y = 1.85, s = "Beta Distribution - Overview",fontsize = 26, weight = 'bold', alpha = .75)
plt.text(x = -.125, y = 1.6, s = 'Depicted below are the normed probability density function (pdf) and the cumulative density\nfunction (cdf) of a beta distributed random variable ' + r'$ y \sim Beta(\alpha, \beta)$, given $ \alpha = 2 $ and $ \beta = 2$.',fontsize = 19, alpha = .85)

改变参数α和β对结果产生的影响如下所示:

plt.figure(dpi=100)# A = B = 1
plt.plot(np.linspace(0, 1, 200), stats.beta.pdf(np.linspace(0, 1, 200), a=1, b=1),)
plt.fill_between(np.linspace(0, 1, 200),stats.beta.pdf(np.linspace(0, 1, 200), a=1, b=1),alpha=.15,)# A = B = 10
plt.plot(np.linspace(0, 1, 200), stats.beta.pdf(np.linspace(0, 1, 200), a=10, b=10),)
plt.fill_between(np.linspace(0, 1, 200),stats.beta.pdf(np.linspace(0, 1, 200), a=10, b=10),alpha=.15,)# A = B = 100
plt.plot(np.linspace(0, 1, 200), stats.beta.pdf(np.linspace(0, 1, 200), a=100, b=100),)
plt.fill_between(np.linspace(0, 1, 200),stats.beta.pdf(np.linspace(0, 1, 200), a=100, b=100),alpha=.15,)# LEGEND
plt.text(x=0.1, y=1.45, s=r"$ \alpha = 1, \beta = 1$", alpha=.75, weight="bold", color="#008fd5")
plt.text(x=0.325, y=3.5, s=r"$ \alpha = 10, \beta = 10$", rotation=35, alpha=.75, weight="bold", color="#fc4f30")
plt.text(x=0.4125, y=8, s=r"$ \alpha = 100, \beta = 100$", rotation=80, alpha=.75, weight="bold", color="#e5ae38")# TICKS
plt.tick_params(axis = 'both', which = 'major', labelsize = 18)
plt.axhline(y = 0, color = 'black', linewidth = 1.3, alpha = .7)# TITLE, SUBTITLE & FOOTER
plt.text(x = -.1, y = 13.75, s = r"Beta Distribution - constant $\frac{\alpha}{\beta}$, varying $\alpha + \beta$",fontsize = 26, weight = 'bold', alpha = .75)
plt.text(x = -.1, y = 12, s = 'Depicted below are three beta distributed random variables with '+ r'equal $\frac{\alpha}{\beta} $ and varying $\alpha+\beta$'+'.\nAs one can see the sum of ' + r'$\alpha + \beta$ (mainly) sharpens the distribution (the bigger the sharper).',fontsize = 19, alpha = .85)

plt.figure(dpi=100)# A / B = 1/3
plt.plot(np.linspace(0, 1, 200), stats.beta.pdf(np.linspace(0, 1, 200), a=25, b=75),)
plt.fill_between(np.linspace(0, 1, 200),stats.beta.pdf(np.linspace(0, 1, 200), a=25, b=75),alpha=.15,)# A / B = 1
plt.plot(np.linspace(0, 1, 200), stats.beta.pdf(np.linspace(0, 1, 200), a=50, b=50),)
plt.fill_between(np.linspace(0, 1, 200),stats.beta.pdf(np.linspace(0, 1, 200), a=50, b=50),alpha=.15,)# A / B = 3
plt.plot(np.linspace(0, 1, 200), stats.beta.pdf(np.linspace(0, 1, 200), a=75, b=25),)
plt.fill_between(np.linspace(0, 1, 200),stats.beta.pdf(np.linspace(0, 1, 200), a=75, b=25),alpha=.15,)# LEGEND
plt.text(x=0.15, y=5, s=r"$ \alpha = 25, \beta = 75$", rotation=80, alpha=.75, weight="bold", color="#008fd5")
plt.text(x=0.39, y=5, s=r"$ \alpha = 50, \beta = 50$", rotation=80, alpha=.75, weight="bold", color="#fc4f30")
plt.text(x=0.65, y=5, s=r"$ \alpha = 75, \beta = 25$", rotation=80, alpha=.75, weight="bold", color="#e5ae38")# TICKS
plt.tick_params(axis = 'both', which = 'major', labelsize = 18)
plt.axhline(y = 0, color = 'black', linewidth = 1.3, alpha = .7)# TITLE, SUBTITLE & FOOTER
plt.text(x = -.1, y = 11.75, s = r"Beta Distribution - constant $\alpha + \beta$, varying $\frac{\alpha}{\beta}$",fontsize = 26, weight = 'bold', alpha = .75)
plt.text(x = -.1, y = 10, s = 'Depicted below are three beta distributed random variables with '+ r'equal $\alpha+\beta$ and varying $\frac{\alpha}{\beta} $'+'.\nAs one can see the fraction of ' + r'$\frac{\alpha}{\beta} $ (mainly) shifts the distribution ' + r'($\alpha$ towards 1, $\beta$ towards 0).',fontsize = 19, alpha = .85)

构造随机beta分布:

from scipy.stats import beta# draw a single sample
print(beta.rvs(a=2, b=2), end="\n\n")# draw 10 samples
print(beta.rvs(a=2, b=2, size=10))
0.736118736802914[0.52821195 0.41843068 0.64285567 0.13075973 0.47871566 0.720698170.27643923 0.38471512 0.51838499 0.64945068]

概率密度函数:

from scipy.stats import beta# additional import for plotting
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["figure.figsize"] = (14, 7)# continuous pdf for the plot
x_s = np.linspace(0, 1, 100)
y_s = beta.pdf(a=2, b=2, x=x_s)
plt.scatter(x_s, y_s);

累计概率密度函数:

from scipy.stats import beta# probability of x less or equal 0.3
print("P(X <0.3) = {:.3}".format(beta.cdf(a=2, b=2, x=0.3)))# probability of x in [-0.2, +0.2]
print("P(-0.2 < X < 0.2) = {:.3}".format(beta.cdf(a=2, b=2, x=0.2) - beta.cdf(a=2, b=2, x=-0.2)))
P(X <0.3) = 0.216
P(-0.2 < X < 0.2) = 0.104

Beta分布(Beta Distribution)相关推荐

  1. 如何通俗理解beta分布?

    作者:小杰 链接:https://www.zhihu.com/question/30269898/answer/123261564 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  2. Gamma 分布与 Beta 分布及共轭的含义

    Gamma 分布 Gamma函数可将许多数学概念从整数集延拓到实数集合. Γ(x)=∫∞0tx−1e−tdt \Gamma(x)=\int_0^\infty t^{x-1}e^{-t}dt 我们来看对 ...

  3. 如何理解beta分布?

    相信大家学过统计学的都对 正态分布 二项分布 均匀分布 等等很熟悉了,但是却鲜少有人去介绍beta分布的. 用一句话来说,beta分布可以看作一个概率的概率分布,当你不知道一个东西的具体概率是多少时, ...

  4. 带你理解beta分布

    #beta分布介绍 相信大家学过统计学的都对 正态分布 二项分布 均匀分布 等等很熟悉了,但是却鲜少有人去介绍beta分布的. 用一句话来说,beta分布可以看作一个概率的概率分布,当你不知道一个东西 ...

  5. Gamma 分布和Beta 分布简介

    1. Gamma 分布 1.1 首先要了解一下Gamma 函数. Gamma 函数在实数域可以表示为: Γ(x)=∫0∞tx−1e−tdt\Gamma(x)=\int_0^{\infty} t^{x- ...

  6. 概率分布之Beta分布与Dirichlet分布

    Beta分布与Dirichlet分布的定义域均为[0,1],在实际使用中,通常将两者作为概率的分布,Beta分布描述的是单变量分布,Dirichlet分布描述的是多变量分布,因此,Beta分布可作为二 ...

  7. 伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布

    https://blog.csdn.net/michael_r_chang/article/details/39188321 https://www.cnblogs.com/wybang/p/3206 ...

  8. 贝叶斯统计:Inverted Beta与Three Parameter Beta分布

    贝叶斯统计:Inverted Beta与Three Parameter Beta分布 Beta分布 Inverted Beta与Three Parameter Beta TPB-Normal Mixt ...

  9. 【联系】—— Beta 分布与二项分布、共轭分布

    1. 伯努利分布与二项分布 伯努利分布:Bern(x|μ)=μx(1−μ)1−x\text{Bern}(x|\mu)=\mu^{x}(1-\mu)^{1-x},随机变量 xx 取值为 0,1,μ\mu ...

  10. 统计学(1)二项分布 几何分布 泊松分布 指数分布 正态分布 gamma分布 beta分布

    分布与分布关系 1.二项分布 2.几何分布 3.泊松分布 4.二项分布转化泊松分布,泊松转化正态分布 5.指数分布 6.gamma分布 7.泊松.指数.gamma三者关系 8.Beta分布 1.二项分 ...

最新文章

  1. CB:南土所梁玉婷组-细菌群落的高稳定性和代谢能力促进了土壤中易分解碳的快速减少...
  2. 博弈论笔记:逆向选择与非对称信息
  3. Cacti auth.php,Cacti微信企业号图文报警
  4. Qt元对象QMetaObject的indexOfSlot等函数获取类方法注意问题
  5. 将Infinispan版本映射为最低Java版本
  6. 记录——《C Primer Plus (第五版)》第七章编程练习第九题
  7. 中国数控攻牙机市场趋势报告、技术动态创新及市场预测
  8. java private list_Java基础知识回顾之四 ----- 集合List、Map和Set
  9. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)
  10. java初学者,应该怎么去学习?
  11. Android Paint中setTextSize
  12. Linux安装yum过程(超详细)
  13. 【IDEA】解决: alt+/快捷键 冲突的问题
  14. Netty系列三、Netty实战篇
  15. 万字拆解Ubras:年销15亿、暴涨10倍,内衣新秀的春天到了?
  16. 世界精神卫生日:不断变化的世界的应用程序
  17. TS中的方法重载,函数重载,构造器重载
  18. 宏碁暗影骑士4安装不了Linux,宏碁暗影骑士4评测:在细节中不断改进前行!
  19. 神经网络(线性神经网络、Delta学习规则)
  20. 考研复习时间安排初试篇

热门文章

  1. iOS - 定制多样式二维码
  2. 微型计算机阅读,CHP1微型计算机基础(阅读).ppt
  3. Unity CustomFont (怎么制作图片文字)
  4. requireJS 加载css、less文件
  5. sql注入基础原理(SQL injection)
  6. 利用公交刷卡数据分析北京职住关系和通勤出行
  7. 全面解读信创行业 关注国产操作系统
  8. 手机android的文件怎么恢复,安卓手机怎样恢复删除的文件
  9. Elliptical Head Tracking Using Intensity Gradients and Color Histograms(1998)
  10. vue 数据更新却不render?