Beta 分布和 Gamma 分布

0. 摘要

本文主要介绍 B e t a Beta Beta 分布和 G a m m a Gamma Gamma 分布之间的关系, 以及两者的采样方法. 其实, PyTorch、Numpy、Scipy 等一些机器学习包已经实现了对这两种分布的包装, 本文主要目的是理解背后的大致原理.

1. Beta 分布

X ∼ B e t a ( α , β ) X \sim Beta(\alpha, \beta) XBeta(α,β), 概率密度函数为: f ( x ; α , β ) = 1 B ( α , β ) x α − 1 ( 1 − x ) β − 1 \begin{aligned} f(x; \alpha, \beta) = \frac{1}{\Beta(\alpha,\beta)} x^{\alpha-1}(1-x)^{\beta-1} \end{aligned} f(x;α,β)=B(α,β)1xα1(1x)β1 其中 x ∈ ( 0 , 1 ) , α , β > 0 x \in (0,1), \alpha, \beta > 0 x(0,1),α,β>0.

更具体的介绍见博文《beta分布及共轭Bernoulli分布-先验、后验、预测分布》.

2. Gamma 分布

X ∼ Γ ( α , β ) X \sim \Gamma(\alpha, \beta) XΓ(α,β), 概率密度函数: f ( x ; α , β ) = β α Γ ( α ) x α − 1 e − β x \begin{aligned} f(x; \alpha, \beta) &= \frac{\beta^\alpha}{\Gamma(\alpha)} x^{\alpha-1} e^{-\beta x} \end{aligned} f(x;α,β)=Γ(α)βαxα1eβx 其中 α > 0 \alpha \gt 0 α>0 控制形状, β > 0 \beta \gt 0 β>0 控制缩放.

3. 惊叹于文心一言, 太厉害了

提问: 已知 X , Y X,Y X,Y 相互独立, 都服从 G a m m a Gamma Gamma 分布, 请推导 X X + Y \frac{X}{X+Y} X+YX 服从 B e t a Beta Beta 分布.

: 为了证明 X X + Y \frac{X}{X+Y} X+YX 服从 B e t a Beta Beta 分布,我们可以按照以下步骤进行推导:

第一步,根据题目已知, X X X Y Y Y 是相互独立的随机变量,且都服从 G a m m a Gamma Gamma 分布。设 X ∼ G a m m a ( α , λ ) , Y ∼ G a m m a ( β , λ ) X \sim Gamma(\alpha, \lambda),~ Y \sim Gamma(\beta, \lambda) XGamma(α,λ), YGamma(β,λ),其中 α , β , λ > 0 \alpha, \beta, \lambda>0 α,β,λ>0.

第二步,根据 G a m m a Gamma Gamma 分布的概率密度函数,我们有: f X ​ ( x ) = λ α Γ ( α ) x α − 1 e − λ x , x > 0 f Y ( y ) = λ β Γ ( β ) x β − 1 e − λ y , y > 0 \begin{aligned} f_X​(x) =& \frac{\lambda^\alpha}{\Gamma(\alpha)} x^{\alpha-1} e^{-\lambda x}, x \gt 0 \\ f_Y(y) =& \frac{\lambda^\beta}{\Gamma(\beta)} x^{\beta-1} e^{-\lambda y}, y \gt 0 \end{aligned} fX(x)=fY(y)=Γ(α)λαxα1eλx,x>0Γ(β)λβxβ1eλy,y>0 第三步,为了求 X X + Y \frac{X}{X+Y} X+YX 的分布,我们考虑随机变量 U = X X + Y U=\frac{X}{X+Y} U=X+YX V = X + Y V=X+Y V=X+Y联合分布。注意到 U U U V V V 的变换是可逆的,即 X = U V , Y = V ( 1 − U ) X=UV,~ Y=V(1−U) X=UV, Y=V(1U)

第四步,根据随机变量变换的联合概率密度函数,我们有: f U , V ​ ( u , v ) = f X , Y ​ ( u v , v ( 1 − u ) ) ∣ ∂ ( x , y ) ∂ ( u , v ) ∣ f_{U,V}​(u,v) = f_{X,Y}​(uv,v(1−u))\left|\frac{\partial(x,y)}{\partial(u,v)}\right| fU,V(u,v)=fX,Y(uv,v(1u)) (u,v)(x,y) 其中,雅可比行列式 ∣ ∂ ( x , y ) ∂ ( u , v ) ∣ = v \left|\frac{\partial(x,y)}{\partial(u,v)}\right| = v (u,v)(x,y) =v.

第五步,将 f X ​ ( x ) f_X​(x) fX(x) f Y ​ ( y ) f_Y​(y) fY(y) 代入第四步的公式中,得到: f U , V ​ ( u , v ) = λ α Γ ( α ) ( u v ) α − 1 e − λ u v ⋅ λ β Γ ( β ) ( v ( 1 − u ) ) β − 1 e − λ v ( 1 − u ) ⋅ v = λ α + β Γ ( α ) Γ ( β ) u α − 1 ( 1 − u ) β − 1 v α + β − 1 e − λ v \begin{aligned} f_{U,V}​(u,v) =& \frac{\lambda^\alpha}{\Gamma(\alpha)} (uv)^{\alpha-1} e^{-\lambda uv} \cdot \frac{\lambda^\beta}{\Gamma(\beta)} (v(1-u))^{\beta-1} e^{-\lambda v(1-u)} \cdot v \\ =& \frac{\lambda^{\alpha+\beta}}{\Gamma(\alpha)\Gamma(\beta)} u^{\alpha-1} (1-u)^{\beta-1} v^{\alpha+\beta-1} e^{-\lambda v} \end{aligned} fU,V(u,v)==Γ(α)λα(uv)α1eλuvΓ(β)λβ(v(1u))β1eλv(1u)vΓ(α)Γ(β)λα+βuα1(1u)β1vα+β1eλv 第六步,注意到 f U , V ​ ( u , v ) f_{U,V}​(u,v) fU,V(u,v) 可以分解为 f U ​ ( u ) f_{U}​(u) fU(u) f V ​ ( v ) f_{V}​(v) fV(v) 的乘积,即: f U , V ​ ( u , v ) = f U ​ ( u ) ⋅ f V ​ ( v ) f_{U,V}​(u,v) = f_{U}​(u) \cdot f_{V}​(v) fU,V(u,v)=fU(u)fV(v) 其中: f U ​ ( u ) = 1 B ( α , β ) u α − 1 ( 1 − u ) β − 1 , 0 < u < 1 f V ​ ( v ) = λ α + β Γ ( α + β ) v α + β − 1 e − λ v , v > 1 \begin{aligned} f_{U}​(u) =& \frac{1}{\Beta(\alpha,\beta)} u^{\alpha-1} (1-u)^{\beta-1}, & 0 \lt u \lt 1 \\ f_{V}​(v) =& \frac{\lambda^{\alpha+\beta}}{\Gamma(\alpha+\beta)} v^{\alpha+\beta-1} e^{-\lambda v}, & v \gt 1 \end{aligned} fU(u)=fV(v)=B(α,β)1uα1(1u)β1,Γ(α+β)λα+βvα+β1eλv,0<u<1v>1 这里, B ( α , β ) \Beta(\alpha,\beta) B(α,β) B e t a Beta Beta 函数,与 G a m m a Gamma Gamma 函数的关系为 B ( α , β ) = Γ ( α ) Γ ( β ) Γ ( α + β ) \Beta(\alpha,\beta) = \frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)} B(α,β)=Γ(α+β)Γ(α)Γ(β)

第七步,由于 f U , V ​ ( u , v ) f_{U,V}​(u,v) fU,V(u,v) 可以分解为 f U ​ ( u ) f_{U}​(u) fU(u) f V ​ ( v ) f_{V}​(v) fV(v) 的乘积,根据随机变量的独立性,我们知道 U U U V V V 是独立的

第八步,根据第七步的结论, U = X X + Y U=\frac{X}{X+Y} U=X+YX 的边缘分布就是 f U ​ ( u ) f_{U}​(u) fU(u),即 B e t a Beta Beta 分布 B e t a ( α , β ) Beta(α,β) Beta(α,β)

综上,我们证明了 X X + Y \frac{X}{X+Y} X+YX 服从 B e t a Beta Beta 分布。

以上一字未改哦! 非常简洁, 确实厉害. 不足之处在于其对步骤的划分不是很合理, 主要是第一步和第二步, 感觉合起来比较好.

[注1]: 关于二元概率分布的变量代换, 请参阅《二重积分的换元公式及其应用简介(高等数学入门系列拓展阅读)》.

[注2]: 同时得到结论 V = X + Y ∼ G a m m a ( α + β ) V = X+Y \sim Gamma(\alpha+\beta) V=X+YGamma(α+β).

4. 采样


这是 Wikipedia 中对 Beta 分布采样方法的描述. 也即, 我们只需要从 X ∼ G a m m a ( α , 1 ) X \sim Gamma(\alpha,1) XGamma(α,1) Y ∼ G a m m a ( β , 1 ) Y \sim Gamma(\beta,1) YGamma(β,1)分别独立地采样两个随机数 x , y x,y x,y, 就能得到随机数 x x + y \frac{x}{x+y} x+yx, 其相当于采样自 B e t a ( α , β ) Beta(\alpha, \beta) Beta(α,β). 这也许就是所谓的不需要拒绝接受采样吧.

但是, G a m m a ( α , 1 ) Gamma(\alpha,1) Gamma(α,1) 就好采样了吗?

大概意思是说:

  1. 分布 G a m m a ( 1 , 1 ) Gamma(1,1) Gamma(1,1) 就是指数分布 E x p ( 1 ) Exp(1) Exp(1), 其可以采用 Inverse Transform Sampling, 轻而易举的到 − l n U ∼ G a m m a ( 1 , 1 ) -lnU \sim Gamma(1,1)~ lnUGamma(1,1) (其中 U ∼ U n i f o r m ( 0 , 1 ] U \sim Uniform(0,1] UUniform(0,1]);
  2. G a m m a Gamma Gamma 分布有一个叫 α \alpha α-addition 的性质, 可以使 − ∑ k = 1 n l n U k ∼ G a m m a ( n , 1 ) -\sum_{k=1}^{n} lnU_k \sim Gamma(n,1) k=1nlnUkGamma(n,1).
4.1 G a m m a ( 1 , 1 ) Gamma(1,1) Gamma(1,1)

X ∼ G a m m a ( 1 , 1 ) X \sim Gamma(1,1) XGamma(1,1), 则其概率密度函数为 f X ( x ) = 1 Γ ( 1 ) e − x = e − x , x ≥ 0 f_X(x) = \frac{1}{\Gamma(1)} e^{-x} = e^{-x}, x\ge0 fX(x)=Γ(1)1ex=ex,x0 则累积分布函数为 F X ( x ) = 1 − e − x F_X(x) = 1 - e^{-x} FX(x)=1ex 按照逆变换采样, U = F X ( x ) ∼ U n i f o r m ( 0 , 1 ) U=F_X(x) \sim Uniform(0,1) U=FX(x)Uniform(0,1), 则 x = − l n ( 1 − U ) x = -ln(1-U) x=ln(1U) 哎, 为什么和 Wikipedia 的 − l n U -lnU lnU 不一致? 其实 ( 1 − U ) ∼ U n i f o r m ( 0 , 1 ) (1-U) \sim Uniform(0,1) (1U)Uniform(0,1). 即, 从 U n i f o r m ( 0 , 1 ) Uniform(0,1) Uniform(0,1) 中采样的到 U U U, 计算 x = − l n U x = -lnU x=lnU 就得到对 G a m m a ( 1 , 1 ) Gamma(1,1) Gamma(1,1) 的采样.

4.2 α \alpha α-addition 性质

前面已经说过 “ V = X + Y ∼ G a m m a ( α + β ) V = X+Y \sim Gamma(\alpha+\beta) V=X+YGamma(α+β)”, 那么 n n n G a m m a ( 1 , 1 ) Gamma(1,1) Gamma(1,1) 加起来, 就服从 G a m m a ( n , 1 ) Gamma(n,1) Gamma(n,1) 了, 故而对 G a m m a ( n , 1 ) Gamma(n,1) Gamma(n,1) 的采样很简单: − ∑ k = 1 n l n U k -\sum_{k=1}^{n} lnU_k k=1nlnUk 独立地从 U n i f o r m ( 0 , 1 ) Uniform(0,1) Uniform(0,1) 中采样 n n n 个样本, 再按照上面的式子计算就好了.

如此以来, 从分布 B e t a ( α , β ) Beta(\alpha, \beta) Beta(α,β) 中采样易如反掌:

  1. 搞一个均匀分布 U n i f o r m ( 0 , 1 ) Uniform(0,1) Uniform(0,1) 的生成器, 生成 ( α + β ) (\alpha + \beta) (α+β) 个随机数 { U i } 1 α + β \{U_i\}_1^{\alpha + \beta} {Ui}1α+β;
  2. 计算 x = − ∑ k = 1 α l n U k x = -\sum_{k=1}^{\alpha} lnU_k x=k=1αlnUk, y = − ∑ k = α + 1 α + β l n U k y = -\sum_{k=\alpha+1}^{\alpha+\beta} lnU_k y=k=α+1α+βlnUk;
  3. x x + y \frac{x}{x+y} x+yx 为所求采样.

前提是 ( α , β ) (\alpha, \beta) (α,β) 均为整数. 对于非整数的情况, 还是需要接受-拒绝采样:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金蝶「起舞」,AI进化

能清晰感受到的是&#xff0c;金蝶仍然在不断进化&#xff0c;甚至伴随着AI时代的到来&#xff0c;它的进化信号愈发明显。 这些进化对应的具体动作是&#xff0c;把过去多年的服务模型整合成AI模型&#xff0c;把具体的服务“工艺”整理成流程编排能力&#xff0c;以及从740…

水下哨兵 智能守护——北斗人员落水报警与快速应急响应方案

随着科技的不断发展&#xff0c;人们对于安全的需求也越来越高&#xff0c;尤其是在水域活动中&#xff0c;落水事故时有发生&#xff0c;给人们的生命和财产安全带来了很大威胁。为了更好地保障水域活动者的安全&#xff0c;北斗短报文技术被广泛应用于落水报警系统中&#xf…

不平衡数据研究:分配权重 合并2个loader

分配权重&#xff08;基于实例分配&#xff0c;基于类分配&#xff09; import numpy as np import torch from torch.utils.data import DataLoader, WeightedRandomSampler, Dataset# Mock dataset class class MockDataset(Dataset):def __init__(self, data, targets):sel…

玩转OpenHarmony智能家居:如何实现开发版“碰一碰”设备控制

一、简介 “碰一碰”设备控制&#xff0c;依托NFC短距通信协议&#xff0c;通过碰一碰的交互方式&#xff0c;将OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&#xff09;标准系统设备和全场景设备连接起来&#xff0c;解决了应用与设备之间接续慢、传输难的问题&…

什么是DDoS流量清洗?

随着互联网的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;其中分布式拒绝服务&#xff08;DDoS&#xff09;攻击尤为引人关注。为了有效应对这一威胁&#xff0c;流量清洗服务应运而生&#xff0c;成为网络安全领域的一项重要技术。 流量清洗服务是一种专门针对DDoS…

昔日辉煌不再,PHP老矣,尚能饭否?

导语 | 近期 TIOBE 最新指数显示&#xff0c;PHP 的流行度降至了历史最低&#xff0c;排在第 17 名&#xff0c;同时&#xff0c;在年度 Stack Overflow 开发者调查报告中&#xff0c;PHP 在开发者中的受欢迎程度已经从之前的约 30% 萎缩至现在的 18%。“PHP 是世界上最好的语言…

WiFi蓝牙模块开发配置过程中需要注意的细节

在很多产品的应用场景中&#xff0c;WIFI网络会给我们提供很多便捷&#xff0c;MCU开发中大多使用串口WIFI蓝牙模块来实现产品接入WIFI网络中。   具体的使用模型如下图所示&#xff1a;整个系统涉及到WIFI网络、手机、服务器平台以及我们设计的产品&#xff0c;一个完整的生…

Docker技术搭建Grafana监控平台

centos7虚拟机和docker的安装&#xff1a;可以参考之前的博文 CPU、mysql-exporter、docker监控模板&#xff1a;百度网盘 提取码&#xff1a;0000 先查看服务器时间是否和当前时间一致&#xff0c;如果不一致&#xff0c;查看对应设置&#xff1a;centos7时间同步博文 一、…

拆分盘投资深度解析:投资逻辑、风险探讨与投资建议

随着互联网技术的飞速发展&#xff0c;金融领域也迎来了诸多创新。其中&#xff0c;拆分盘作为一种新型投资模式&#xff0c;以其独特的“只涨不跌”机制&#xff0c;吸引了众多投资者的目光。本文将深入探讨拆分盘的投资逻辑&#xff0c;并通过一个实际案例进行解析&#xff0…

BUUCTF [GUET-CTF2019]zips 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 得到的 flag 请包上 flag{} 提交。 密文&#xff1a; 得到一个attachment.zip文件 解题思路&#xff1a; 1、解压attachment.zip&#xff0c;得到222.zip文件。尝试解压需要密码&#xff0c;使用Ziperello爆破密码…

CATIA入门操作——萌新宝宝遇到的奇奇怪怪的问题解决,持续更新中。。。

目录 引出发生肾么事了&#xff1f;&#xff1f;鼠标中键旋转不了解决&#xff1a;特征树不显示参数关系 我的窗口去哪了&#xff1f;插曲&#xff1a;草图工具的调出插曲&#xff1a;颜色工具栏显示 弹窗警告警告&#xff1a;创建约束是临时的 操作技巧技巧&#xff1a;快速隐…

Bytebase 2.17.0 - 支持为工单设置标签

&#x1f680; 新功能 支持为工单设置标签。 支持显示工单任务执行日志&#xff0c;如影响行数或错误&#xff08;支持 MySQL 和 PostgreSQL&#xff09;。 支持在数据库页面为表或列配置分类分级。之前的版本需要通过 DDL 实现&#xff0c;且只支持 MySQL 和 PostgreSQL。…

【传知代码】Modnet 人像抠图-论文复现

文章目录 概述原理介绍核心逻辑ModNet 的结构 环境配置WebUI 小结 论文地址 论文GitHub 本文涉及的源码可从Modnet 人像抠图该文章下方附件获取 概述 人像抠图技术在多个领域有着广泛的应用场景&#xff0c;包括但不限于&#xff1a; 展馆互动拍照&#xff1a;展馆中使用的抠…

【高阶数据结构】 B树 -- 详解

一、常见的搜索结构 适合做内查找&#xff1a; 以上结构适合用于数据量相对不是很大&#xff0c;能够一次性存放在内存中&#xff0c;进行数据查找的场景。如果数据量很大&#xff0c;比如有 100G 数据&#xff0c;无法一次放进内存中&#xff0c;那就只能放在磁盘上了。 如果…

计算机系统基础 8 循环程序

概要 两种实现方法——分支指令实现和专门的循环语句实现以及有关循环的优化。 分支指令实现 倒计数 …… MOV ECX&#xff0c;循环次数 LOOPA&#xff1a;…… …… DEC ECX JNE LOOPA 正计数 …… MOV ECX&#xff0c;0 LOOPA&#xff1a; …… INC ECX CMP …

向郭老师学习研发项目管理

学习研发项目管理思路 通过以下思路来学习研发项目管理&#xff1a; 1、研发项目管理分3级 2、研发项目管理分4类 3、研发项目管理分5大过程组 4、新产品开发项目生命周期分6个阶段 5、研发项目管理分10大知识体系 项目组合、项目集、简单项目3级管理 针对Portfolio组合…

Nodejs及stfshow相关例题

Nodejs及stfshow相关例题 Node.js 是一个基于 Chrome V8 引擎的 Javascript 运行环境。可以说nodejs是一个运行环境&#xff0c;或者说是一个 JS 语言解释器而不是某种库。 Node.js可以生成动态页面内容Node.js 可以在服务器上创建、打开、读取、写入、删除和关闭文件Node.js…

解决无法启动Redis,打开redis-server闪退的问题

【问题】 ① 双击redis-server.exe闪退。 ② 终端运行redis-server没反应。 但是终端运行redis -cli没问题。 【解决方法】 步骤1&#xff1a;找到Redis文件夹&#xff0c;右击&#xff0c;在终端打开。 步骤2&#xff1a;输入命令&#xff1a;redis-server.exe redis.windows…

深入解析力扣161题:相隔为 1 的编辑距离(逐字符比较与动态规划详解)

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…