python概率计算事件下一次发生概率_统计概率思维—常见概率分布

本文介绍了统计概率的基础概念,包括概率、事件、随机变量及其分类。详细讲解了离散概率分布的伯努利、二项、几何和泊松分布,并通过Python实现展示了它们的概率计算。此外,还探讨了连续概率分布中的正态分布及其特点,以及幂律分布在现实世界中的应用。
摘要由CSDN通过智能技术生成

概率统计无处不在,它被广泛地应用于各行各业,金融、保险、天气预测等都离不开统计概率,本次分享是对统计概率基础知识的梳理和总结。

统计概率的几个基础定义

概率

概率是对事件发生可能性的数值度量,介于0~1之间,数值越大发生的可能性越高。比如说,对于“明天下雨”这一事件,如果天气预报称:“降水的概率几乎为零”,则我们能理解为明天几乎不可能下雨;如果天气预报称“降水的概率为90%”,则意味着明天极有可能要下雨。

事件

在统计概率中,用事件表示某件事情,在一定条件下可能发生可能不发生的事件成为随机事件,例如抛一次硬币,可能正面朝上,也可能反面朝上。

随机变量

随机变量是对事件结果的数值描述。例如抛一次硬币会有两个结果:正面朝上或者反面朝上,我们将正面朝上用1表示,反面朝上用0表示。则0和1即是随机变量。

根据不同事件的属性我们可将随机变量分为:离散随机变量与连续随机变量。例如事件A:明天是否下雨?有下雨和不下雨两个结果,那么事件A属于离散型。事件B:明天日间雨量如何?日间不同时间段每时每分每秒甚至都各不相同,那么事件B属于连续型。

两者的差异体现在数值取值上:离散随机变量可取有限多个或者无限可数个,而连续随机变量可取某一区间或多个区间的任意值。

概率分布

随机变量的概率分布:用统计分布图描述随机变量取不同值时的概率,横坐标为随机变量的取值,纵坐标为对应取值的概率。

概率分布可分为:离散概率分布和连续概率分布。

两者的差异体现在概率计算上:离散概率分布通过概率质量函数(PMF)计算出某特定取值的概率,而连续概率分布则通过概率密度函数(PDF)计算出某区间取值的概率(即通过曲下面积计算概率,连续概率分布的某一特定取值概率为零)。

离散概率分布

1 伯努利分布(Bernoulli Distribution)

伯努利试验(Bernoulli Experiment)是在同样的条件下,重复的、相互独立地进行的一种随机试验。其特点是该随机试验只有两种可能结果:发生1或者不发生0,发生的概率为p,则不发生的概率为1-p。

例如:进行一次抛硬币试验就符合伯努利试验的条件,假设成功的概率为0.5,失败的概率为1-0.5。

伯努利分布的Python实现:

# 导入包

from scipy.stats import bernoulli

import matplotlib.pyplot as plt

% matplotlib inline

from scipy.stats import bernoulli

r=[0,1] # 事件的随机变量 成功为1 失败为0

p=0.5 # 成功的概率为0.5 失败的概率为1-p

result=bernoulli.pmf(r,p) # 调用概率质量函数pmf 返回随机变量对应发生概率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python有许多库可以用来实现概率推理,其中最常用的是NumPy和SciPy库。以下是一个简单的概率推理的例子: 假设有两个硬币,一个是正面朝上的概率为p1,另一个是正面朝上的概率为p2。我们随机选择一个硬币,并抛掷10次,结果有7次是正面朝上。现在我们想知道我们选择的是哪个硬币的概率更大。 这个问题可以使用贝叶斯定理来解决。假设事件A表示我们选择了第一个硬币,事件B表示我们抛掷10次后有7次正面朝上。我们可以使用贝叶斯定理来计算P(A|B),即我们选择的是第一个硬币的概率已知抛掷结果的情况下。贝叶斯定理表达式如下: P(A|B) = P(B|A)P(A) / P(B) 其中,P(B|A)表示在选择第一个硬币的情况下,抛掷10次有7次正面朝上的概率,可以使用二项分布来计算;P(A)表示选择第一个硬币的先验概率,假设为0.5;P(B)表示抛掷10次有7次正面朝上的概率,可以使用全概率公式来计算。 下面是Python代码实现: ```python import numpy as np from scipy.stats import binom # 选择第一个硬币的先验概率 p_A = 0.5 # 抛掷10次有7次正面朝上的概率 p_B = binom.pmf(7, 10, p_A) * p_A + binom.pmf(7, 10, 1-p_A) * (1-p_A) # 在选择第一个硬币的情况下,抛掷10次有7次正面朝上的概率 p_B_given_A = binom.pmf(7, 10, p_A) # 计算后验概率 p_A_given_B = p_B_given_A * p_A / p_B print("选择第一个硬币的概率为:", p_A_given_B) ``` 输出: ``` 选择第一个硬币的概率为: 0.7241379310344828 ``` 因此,选择第一个硬币的概率为0.724。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值