随机变量与概率分布:Python中的统计量计算与分布拟合
发布时间:2024-01-15 07:15:45
随机变量是描述随机现象的数值特征,可以是离散的或连续的。概率分布是描述随机变量的取值概率的函数。
在Python中,可以使用scipy库来进行统计量计算和概率分布的拟合。下面以正态分布为例进行说明。
首先,需要导入必要的库:
import numpy as np import matplotlib.pyplot as plt from scipy import stats
接下来,可以创建一个正态分布的随机变量:
sample = np.random.normal(loc=0, scale=1, size=1000)
这里,loc表示正态分布的均值,scale表示标准差,size表示样本的数量。
接着,可以计算统计量:
mean = np.mean(sample) # 均值 median = np.median(sample) # 中位数 std = np.std(sample) # 标准差 var = np.var(sample) # 方差
mean()函数计算数组的均值,median()函数计算数组的中位数,std()函数计算数组的标准差,var()函数计算数组的方差。
可以通过直方图来观察样本的分布情况:
plt.hist(sample, bins=30, density=True, alpha=0.5)
这里,bins表示直方图的柱子数量,density表示是否进行归一化,alpha表示透明度。
最后,可以通过拟合来估计样本的概率分布:
params = stats.norm.fit(sample)
这里,norm.fit()函数会返回拟合后的概率分布的参数。可以使用这些参数来绘制拟合后的概率分布曲线:
x = np.linspace(-5, 5, 100) pdf = stats.norm.pdf(x, *params) plt.plot(x, pdf)
这里,linspace()函数生成-5到5之间的100个等间隔的数作为x轴,norm.pdf()函数根据拟合的参数计算对应的概率密度函数值,然后使用plot()函数绘制曲线。
综上所述,通过Python中的统计量计算和概率分布拟合,可以方便地对随机变量和概率分布进行分析和可视化。
