Python随机采样及概率分布(二)
在概率论和统计学中,不同的概率分布代表了不同的随机变量的概率分布规律。在Python中,我们可以通过常用的一些函数和库实现随机采样及概率分布。
本篇文章中,我们会讲解如下内容:
- 二项分布
- 泊松分布
- 对数正态分布
- 琴生分布
二项分布
二项分布(binomial distribution)是一种离散型概率分布。当进行有限次的独立重复实验,每次实验只有两种可能的结果:事件发生或者不发生。如果事件发生的概率为p,则事件不发生的概率q=1-p。在每次实验中,事件发生与否是相互独立的。成功的次数就是随机变量X的值,X ~ B(n,p)。
在Python中,可以使用SciPy库中的binom函数生成二项分布的概率质量函数(PMF)、累积分布函数(CDF)及采样的方法。以下是一个二项分布的示例:
from scipy.stats import binom
import numpy as np
n = 10
p = 0.5
size = 1000
# PMF
print(binom.pmf(np.arange(0, n+1), n=n, p=p))
# CDF
print(binom.cdf(np.arange(0, n+1), n=n, p=p))
# 随机采样
print(binom.rvs(n=n, p=p, size=size))
泊松分布
泊松分布是一种离散性概率分布,它反映了单位时间内随机事件发生次数的概率分布。它常用于估计单位时间内事件
发生的次数的概率分布,例如:
- 在电话交换机中,一个小时内分配到的电话数量。
- 在保险公司,一个小时内的汽车事故数量。
泊松分布的参数λ决定了随机事件率的平均值和方差。随机变量X ~ Poi(λ)。
在Python中,可以使用SciPy库中的poisson函数生成泊松分布的概率质量函数(PMF)、累积分布函数(CDF)及采样的方法。以下是一个泊松分布的示例:
from scipy.stats import poisson
import numpy as np
lam = 5
size = 1000
# PMF
print(poisson.pmf(np.arange(0, 11), mu=lam))
# CDF
print(poisson.cdf(np.arange(0, 11), mu=lam))
# 随机采样
print(poisson.rvs(mu=lam, size=size))
对数正态分布
对数正态分布是指随机变量的对数服从正态分布的分布。在现实中经常会遇到正态分布不适用的情况,而对数正态分布可以应用在更广泛的情况下。
在Python中,可以使用NumPy库中的random模块生成对数正态分布的随机变量。以下是一个对数正态分布的示例:
import numpy as np
mu = 0
sigma = 1
size = 1000
s = np.random.lognormal(mu, sigma, size)
琴生分布
琴生分布(Chisquare distributed)是一种重要的分布,是统计学中经常采用的分布之一,经常用于检验随机变量的独立性。在自然科学和人文科学的各个方面也有十分广泛的应用。
在Python中,可以使用NumPy库中的random模块生成琴生分布的随机变量。以下是一个琴生分布的示例:
import numpy as np
df = 5
size = 1000
s = np.random.chisquare(df, size)
以上就是本篇文章中所讲解的内容,希望通过本文的介绍,大家可以更好的掌握Python中的随机采样及概率分布相关技术。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python随机采样及概率分布(二) - Python技术站