一个关于先验概率、似然函数与后验概率计算的小例子

本文的例子来源于:http://bbs.pinggu.org/thread-3211854-1-1.html

如果有一所学校,有60%是男生和40%是女生。女生穿裤子与裙子的数量相同;所有男生穿裤子。一个观察者,随机从远处看到一名学生,观察者只能看到该学生穿裤子。那么该学生是女生的概率是多少?这里题目中观察者比如近似眼看直接不清性别,或者从装扮上看不出。答案可以用贝叶斯定理来算。
用事件 G 表示观察到的学生是女生,用事件 T 表示观察到的学生穿裤子。于是,现在要计算 P(G|T) ,我们需要知道:
P(G) ,表示一个学生是女生的概率,这是在没有任何其他信息下的概率。这也就是我们说的先验概率。由于观察者随机看到一名学生,意味着所有的学生都可能被看到,女生在全体学生中的占比是 40 ,所以概率是 0.4 。
P(B) ,是学生不是女生的概率,也就是学生是男生的概率,也就是在没有其他任何信息的情况下,学生是男生的先验概率。 B 事件是 G 事件的互补的事件,这个比例是 60 ,也即 0.6 。
P(T|G) 是在女生中穿裤子的概率,根据题目描述,是相同的 0.5 。这也是 T 事件的概率,given G 事件。
P(T|B) 是在男生中穿裤子的概率,这个值是1。
P(T) 是学生穿裤子的概率,即任意选一个学生,在没有其他信息的情况下,TA穿裤子的概率。如果要计算的话,那可以计算出所有穿裤子的学生的数量,除以总数,总数可以假设为常数 C ,但是最后会被约去。或者根据全概率公式 P(T)=P(T|G)P(G)+P(T|B)P(B) 计算得到 P(T)=0.5×0.4+1×0.6=0.8 。
基于以上所有信息,如果观察到一个穿裤子的学生,并且是女生的概率是
P(G|T)=P(T|G)P(G)/P(T)=0.5×0.40.8=0.25.

在R语言中,先验概率分布是指在考虑观测数据之前对一个参数的信念分布,而后验概率分布是在观测到数据之后,根据贝叶斯定理更新后的参数分布。贝叶斯定理表达了先验分布和数据信息结合后得到后验分布的关系。 计算后验概率分布通常遵循以下步骤: 1. 定义先验分布:先验分布是根据先前的知识或假设指定的,它可以是任何适合问题的分布,例如正态分布、均匀分布等。 2. 收集数据并计算似然函数似然函数是在给定参数下观测到数据的可能性,它依赖于数据和模型的结构。 3. 应用贝叶斯定理:通过贝叶斯定理将先验分布和似然函数相结合,计算后验概率分布。贝叶斯定理的公式为: 后验概率似然函数 × 先验概率 其中,“∝”表示成比例。 在R语言中,可以使用多种函数和包来计算和分析先验后验分布,例如: - 使用`density`函数来估计和绘制概率密度函数。 - 使用`dplyr`和`ggplot2`包进行数据处理和可视化。 - 对于贝叶斯分析,可以使用专门的包,如`rstan`、`brms`或者`JAGS`来进行复杂的贝叶斯推断。 下面是一个简单的例子,演示如何在R中使用贝叶斯定理计算后验概率分布: ```r # 假设我们的先验分布是参数theta的均匀分布 # 似然函数由二项分布给出,这里使用R内置的dbinom函数 # 先验概率密度函数 prior <- function(theta) dunif(theta, min = 0, max = 1) # 似然函数 likelihood <- function(theta, data) { product <- prod(dbinom(data, size = 1, prob = theta)) return(product) } # 贝叶斯定理计算后验概率密度函数(这里简化为离散形式) posterior <- function(theta, data) { prior_value <- prior(theta) likelihood_value <- likelihood(theta, data) posterior_value <- c(1, 0, 1, 0, 1) # 计算后验概率分布 # 这里只是一个简单的示例,实际应用中可能需要进行数值积分或使用MCMC方法 theta_values <- seq(0, 1, length.out = 100) posterior_values <- posterior(theta_values, data) # 绘制后验概率分布图 plot(theta_values, posterior_values, type = "l", main = "Posterior Probability Distribution", xlab = "Parameter Theta", ylab = "Posterior Density") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值