贝塔分布

BetaBetaBeta分布

众所周知,当一个随机变量YYY的密度函数如下所示时,称这个变量YYY满足Beta(a,b)Beta(a,b)Beta(a,b)分布:
f(y)=ya−1(1−y)b−1∫01ya−1(1−y)b−1dy=ya−1(1−y)b−1B(a,b)f(y)=\frac{y^{a-1}(1-y)^{b-1}}{\int_0^1{y^{a-1}(1-y)^{b-1}dy}}=\frac{y^{a-1}(1-y)^{b-1}}{B(a,b)}f(y)=01ya1(1y)b1dyya1(1y)b1=B(a,b)ya1(1y)b1
其中:B(a,b)=∫01ya−1(1−y)b−1dyB(a,b)={\int_0^1{y^{a-1}(1-y)^{b-1}dy}}B(a,b)=01ya1(1y)b1dyBetaBetaBeta函数。

然而,令人困惑不解的是,这个Beta(a,b)Beta(a,b)Beta(a,b)分布中的参数a,ba,ba,b到底是什么含义?而对于满足这个分布的变量YYY,它又有着什么实际意义?接下来我所要阐明的就是这个问题,更好的理解所谓Beta(a,b)Beta(a,b)Beta(a,b)分布。

1.二项分布

首先,从随机变量YYY的密度函数ya−1(1−y)b−1∫01ya−1(1−y)b−1dy\frac{y^{a-1}(1-y)^{b-1}}{\int_0^1{y^{a-1}(1-y)^{b-1}dy}}01ya1(1y)b1dyya1(1y)b1我们可以看出,分母部分是分子部分的从0到1的积分,证明这个YYY的取值范围是[0,1],那么我们这时候会不会自然而然地想到,这个YYY很有可能代表的就是一个概率呢?

从这个角度出发,是不是看着ya−1(1−y)b−1{y^{a-1}(1-y)^{b-1}}ya1(1y)b1也觉得有点眼熟呢?没错,对于一个服从于二项分布B(n,p)B(n,p)B(n,p)的随机变量ξ\xiξ,它的分布列为P(ξ=k)=Cnkpk(1−p)n−kP(\xi=k)=C_n^kp^k(1-p)^{n-k}P(ξ=k)=Cnkpk(1p)nk,这与服从于BetaBetaBeta分布的YYY的密度函数f(y)f(y)f(y)中的ya−1(1−y)b−1{y^{a-1}(1-y)^{b-1}}ya1(1y)b1有着异曲同工之妙!那么BetaBetaBeta分布与二项分布之间是否存在着什么联系?

2.贝叶斯

上面已经说过,对于一个服从于二项分布B(n,p)B(n,p)B(n,p)的随机变量ξ\xiξ,它的分布列为P(ξ=k)=Cnkpk(1−p)n−kP(\xi=k)=C_n^kp^k(1-p)^{n-k}P(ξ=k)=Cnkpk(1p)nk二项分布B(n,p)B(n,p)B(n,p)是独立重复nnn次伯努利实验,每次事件发生的概率都为ppp,所以ξ\xiξ实质上是在已经确定参数ppp的条件下,事件发生的次数之和,所以分布列P(ξ=k)P(\xi=k)P(ξ=k)也可以记为:P(ξ=k∣p)=Cnkpk(1−p)n−kP(\xi=k|p)=C_n^kp^k(1-p)^{n-k}P(ξ=kp)=Cnkpk(1p)nk可以看出,这是一个条件概率

熟悉贝叶斯思想与原理的朋友都知道,在贝叶斯公式中,后验概率可以由先验概率和条件概率一同得到:P(Bi∣A)=P(A∣Bi)P(Bi)∑j=1mP(A∣Bj)P(Bj)P(B_i|A)=\frac{P(A|B_i)P(B_i)}{\sum_{j=1}^mP(A|B_j)P(B_j)}P(BiA)=j=1mP(ABj)P(Bj)P(ABi)P(Bi)在已经知道参数先验分布信息与样本信息的情况下,我们也可以应用贝叶斯公式得到参数的后验分布信息:π(θ∣x)=L(x∣θ)π(θ)∫ΘL(x∣θ)π(θ)dθ\pi(\theta|x)=\frac{L(x|\theta)\pi(\theta)}{\int_\Theta L(x|\theta)\pi(\theta)d\theta}π(θx)=ΘL(xθ)π(θ)dθL(xθ)π(θ)这里,θ\thetaθ表示需要估计的未知参数,xxx表示样本信息,π(θ)\pi(\theta)π(θ)表示θ\thetaθ的先验密度函数,L(x∣θ)L(x|\theta)L(xθ)表示xxx关于θ\thetaθ的条件密度函数,Θ\ThetaΘ表示参数θ\thetaθ的取值空间。

在这里,我们可能会奇怪,为什么xxx关于θ\thetaθ的条件密度函数要用L(x∣θ)L(x|\theta)L(xθ)表示,这是因为在我们使用极大似然法进行参数估计的时候,已知样本信息xxx,需要选择合适的参数θ\thetaθ使发生样本所代表事件的概率最大,所以L(x∣θ)L(x|\theta)L(xθ)在这里是一个似然函数

假设随机变量XXX服从二项分布B(n,θ)B(n,\theta)B(n,θ),那么似然函数:
L(x∣θ)=P(X=x∣θ)=Cnxθx(1−θ)n−xL(x|\theta)=P(X=x|\theta)=C_n^x\theta^x(1-\theta)^{n-x}L(xθ)=P(X=xθ)=Cnxθx(1θ)nx如果我们对参数θ\thetaθ一无所知,那么对θ\thetaθ的先验分布π(θ)\pi(\theta)π(θ)可以做如下均匀分布的假设,假设
θ\thetaθ~U(0,1)U(0,1)U(0,1),这个假设也称为贝叶斯假设π(θ)=1   (0&lt;θ&lt;1)\pi(\theta)=1~~~(0&lt;\theta&lt;1)π(θ)=1   (0<θ<1)=0   (else)=0~~~(else)=0   (else)由以上似然函数和参数的先验分布可以得出参数的后验分布:π(θ∣x)=L(x∣θ)π(θ)∫ΘL(x∣θ)π(θ)dθ\pi(\theta|x)=\frac{L(x|\theta)\pi(\theta)}{\int_\Theta L(x|\theta)\pi(\theta)d\theta}π(θx)=ΘL(xθ)π(θ)dθL(xθ)π(θ)                    =Cnxθx(1−θ)n−x∫01Cnxθx(1−θ)n−xdθ~~~~~~~~~~~~~~~~~~~~=\frac{C_n^x\theta^x(1-\theta)^{n-x}}{\int_0^1C_n^x\theta^x(1-\theta)^{n-x}d\theta}                    =01Cnxθx(1θ)nxdθCnxθx(1θ)nx               =θx(1−θ)n−x∫01θx(1−θ)n−xdθ~~~~~~~~~~~~~~~=\frac{\theta^x(1-\theta)^{n-x}}{\int_0^1\theta^x(1-\theta)^{n-x}d\theta}               =01θx(1θ)nxdθθx(1θ)nx                         =θ(x+1)−1(1−θ)(n−x+1)−1B(x+1,n−x+1)~~~~~~~~~~~~~~~~~~~~~~~~~=\frac{\theta^{(x+1)-1}(1-\theta)^{(n-x+1)-1}}{B(x+1,n-x+1)}                         =B(x+1,nx+1)θ(x+1)1(1θ)(nx+1)1
显然有:θ∣x\theta|xθx ~ Beta(x+1,n−x+1)Beta(x+1,n-x+1)Beta(x+1,nx+1)
π(θ∣x)=θ(x+1)−1(1−θ)(n−x+1)−1B(x+1,n−x+1)\pi(\theta|x)=\frac{\theta^{(x+1)-1}(1-\theta)^{(n-x+1)-1}}{B(x+1,n-x+1)}π(θx)=B(x+1,nx+1)θ(x+1)1(1θ)(nx+1)1

再回到刚开始的服从于贝塔分布的随机变量YYY进行比对:

                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~                           YYY~Beta(a,b)Beta(a,b)Beta(a,b)
f(y)=ya−1(1−y)b−1∫01ya−1(1−y)b−1dy=ya−1(1−y)b−1B(a,b)f(y)=\frac{y^{a-1}(1-y)^{b-1}}{\int_0^1{y^{a-1}(1-y)^{b-1}dy}}=\frac{y^{a-1}(1-y)^{b-1}}{B(a,b)}f(y)=01ya1(1y)b1dyya1(1y)b1=B(a,b)ya1(1y)b1

我们可以看出,贝塔分布里的参数aaa就相当于参数估计中的x+1x+1x+1;贝塔分布里的参数bbb就相当于n−x+1n-x+1nx+1

3.参数意义

上面我们假设随机变量XXX服从二项分布B(n,θ)B(n,\theta)B(n,θ),现在我们给这个二项分布赋予一个实际意义:假设今年武汉一共出生了nnn个婴儿,θ\thetaθ为出生婴儿性别为女的概率,那么XXX就是武汉今年所出生女婴的总数,经统计,武汉今年一共出生了xxx个女婴。按照经典的统计思想,可以用频率估计概率,那么女婴出生的概率 θ^=xn\hat{\theta}=\frac{x}{n}θ^=nx
但根据贝叶斯的观点,θ\thetaθ存在着一个分布,密度函数是π(θ∣x)=θ(x+1)−1(1−θ)(n−x+1)−1B(x+1,n−x+1)\pi(\theta|x)=\frac{\theta^{(x+1)-1}(1-\theta)^{(n-x+1)-1}}{B(x+1,n-x+1)}π(θx)=B(x+1,nx+1)θ(x+1)1(1θ)(nx+1)1,我们可以看一下这个分布到底是怎样的。
分别取n=100,x=45n=100,x=45n=100,x=45 (a=46,b=56a=46,b=56a=46,b=56),以及n=100,x=65n=100,x=65n=100,x=65 (a=66,b=36a=66,b=36a=66b=36),画出的密度函数如下图所示:
在这里插入图片描述

p=ggplot(data.frame(x=c(0,1)),aes(x=x))+
stat_function(fun=dbeta,args=list(shape1=46,shape2=56),
                geom="area",fill="blue",alpha=0.3,colour="blue")+
stat_function(fun=dbeta,args=list(shape1=66,shape2=36),
                geom="area",fill="red",alpha=0.3,colour="red")+
annotate("text",x=0.45,y=8.1,label="n=100,x=45")+
annotate("text",x=0.65,y=8.5,label="n=100,x=65")+
labs(x="theta",y="density")
p_remove_bg=p+theme_bw()          
p_remove_bg

正如我们所看到的,横坐标值所代表的是女婴出生率,纵坐标代表的是密度函数,红色和蓝色所代表的随机变量分别服从Beta(46,56)Beta(46,56)Beta(46,56)Beta(66,36)Beta(66,36)Beta(66,36),从分布上来看,红色所代表的女婴出生率要高于蓝色所代表的女婴出生率。至此,服从贝塔分布的随机变量的意义,以及贝塔分布中的参数的实际意义得到了一定的解释。

4.BetaBetaBeta分布

上面我们假设n=100,x=45n=100,x=45n=100,x=45很明显不符合实际,因为武汉每年出生的婴儿量是很大的,如果我们扩大样本量,那么参数θ\thetaθ的后验分布会不会有所变化呢?我们将nnn调整为10000,xxx调整为4500,(a=4501,b=5501)(a=4501,b=5501)(a=4501,b=5501)

在这里插入图片描述

很明显可以看出,扩大样本量时,参数估计的众数基本不变(即密度函数最大的点所对应的值),而方差缩小了很多,所以扩大样本量可以使估计更为精确。

5.共轭先验分布

回顾一下,随机变量XXX~B(n,θ)B(n,\theta)B(n,θ) , 参数的先验信息为:θ\thetaθ~U(0,1)U(0,1)U(0,1),给出样本信息xxx,那么参数的后验分布为 θ∣x\theta|xθx~ Beta(x+1,n−x+1)Beta(x+1,n-x+1)Beta(x+1,nx+1)

当随机变量YYY~Beta(1,1)Beta(1,1)Beta(1,1)时, BetaBetaBeta分布退化为均匀分布,YYY~U(0,1)U(0,1)U(0,1)

所以参数θ\thetaθ的分布实质上是由先验的 θ\thetaθ~Beta(1,1)Beta(1,1)Beta(1,1) 变为后验的 θ∣x\theta|xθx~Beta(x+1,n−x+1)Beta(x+1,n-x+1)Beta(x+1,nx+1)π(θ)\pi(\theta)π(θ)π(θ∣x)\pi(\theta|x)π(θx)属于同一分布族。我们称该BetaBetaBeta分布族为θ\thetaθ共轭先验分布族

结论: 对于服从二项分布B(n,θ)B(n,\theta)B(n,θ)的随机变量XXX而言, 样本信息为xxx,假设θ\thetaθ的先验分布满足 θ\thetaθ~Beta(a,b)Beta(a,b)Beta(a,b), 经过简单的推导可得, θ\thetaθ的后验分布满足
θ∣x\theta|xθx~ Beta(x+a,n−x+b)Beta(x+a,n-x+b)Beta(x+a,nx+b)

### 关于贝塔分布在头歌平台中的实现或教程 贝塔分布是一种连续概率分布,通常用于描述随机变量的概率密度函数 (PDF),其定义域位于区间 \([0, 1]\)[^1]。它广泛应用于统计学、机器学习以及工程领域中作为先验分布模型。 #### 贝塔分布的基础理论 贝塔分布的形式可以表示为 \(f(x; \alpha, \beta) = \frac{x^{\alpha-1}(1-x)^{\beta-1}}{B(\alpha,\beta)}\) ,其中 \(B(\alpha,\beta)\) 是 Beta 函数。该分布由两个正实数参数 \(\alpha\) 和 \(\beta\) 控制,分别影响分布的形状和偏斜程度。 #### 使用 MATLAB 实现贝塔分布的相关功能 在 MATLAB 中,可以通过 `betarnd` 函数生成服从贝塔分布的随机数[^2]。此函数允许指定所需的样本数量以及控制分布形态的参数 \(\alpha\) 和 \(\beta\) 的具体值。例如: ```matlab % 设置 alpha 和 beta 参数 alpha = 2; beta_param = 5; % 生成 1000 个服从贝塔分布的随机数 random_numbers = betarnd(alpha, beta_param, [1, 1000]); % 绘制直方图观察数据分布情况 histogram(random_numbers, 'Normalization', 'pdf'); hold on; % 添加真实的 PDF 曲线对比 x_values = linspace(0, 1, 100); y_pdf = betapdf(x_values, alpha, beta_param); plot(x_values, y_pdf, 'r-', 'LineWidth', 2); title('Beta Distribution with Parameters \alpha=2 and \beta=5'); xlabel('Random Variable Value'); ylabel('Probability Density Function'); legend('Sample Data Histogram', 'True PDF Curve'); ``` 上述代码展示了如何利用 MATLAB 来模拟并可视化特定参数下的贝塔分布特性。 #### Python 下基于 NumPy 的贝塔分布操作 如果考虑使用 Python 及其科学计算库 Numpy,则可通过 `numpy.random.beta()` 方法轻松完成类似的任务[^5]。下面是一个简单的例子来展示这一过程: ```python import numpy as np import matplotlib.pyplot as plt # 定义贝塔分布的参数 a, b = 2.0, 5.0 # 形状参数 alpha 和 beta size = 1000 # 需要生成的数据点数目 # 生成随机数序列 samples = np.random.beta(a, b, size) count, bins, ignored = plt.hist(samples, density=True, bins=30, label='Histogram of Samples') # 计算真实 pdf 值以便比较 def beta_dist(x, a, b): from scipy.special import beta as B_func return x**(a-1)*(1-x)**(b-1)/B_func(a,b) real_pdf = beta_dist(bins, a=a, b=b) plt.plot(bins, real_pdf,'r-', lw=2, label='Real Beta PDF') plt.title(r'Histogram vs Real $\mathrm{{\beta({},{})}}$'.format(a,b)) plt.legend() plt.show() ``` 这段脚本不仅实现了随机抽样还绘制出了相应的概率密度曲线。 #### 头歌平台上可能存在的相关内容 虽然未直接提及头歌平台上的具体内容,但从已知信息推测,在涉及 C/C++ 编程教学资源时可能会间接提到有关数值方法或者算法设计的知识点[^4]。这些知识点或许能够帮助理解甚至自行开发针对贝塔分布的应用程序。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值