Python 概率论:概率、数学期望、方差
一、基础概念速览概率事件发生可能性 P∈[0,1]期望 E (X)随机变量平均值 E(X)∑xipi离散、∫xf(x)dx连续方差 D (X)/Var (X)数据离散程度 Var(X)E[(X−E(X))2]E(X2)−[E(X)]2 标准差σVar(X)二、离散型随机变量举例掷骰子、二项分布1. 手动计算已知取值 概率骰子X{1,2,3,4,5,6}每个p61import numpy as np # 取值、对应概率 x np.array([1,2,3,4,5,6]) p np.array([1/6]*6) # 1.期望 E(X)Σx*p E np.sum(x * p) # 2.E(X²) E2 np.sum(x**2 * p) # 3.方差 Var E2 - E**2 # 4.标准差 std np.sqrt(Var) print(期望E:,E) print(方差Var:,Var) print(标准差σ:,std)2. 二项分布 B(n,p)n 次独立试验单次成功率 pX∼B(n,p),Enp, Varnp(1−p)from scipy.stats import binom n 10; p 0.3 # 理论期望、方差 E_bin binom.mean(n,p) Var_bin binom.var(n,p) print(二项期望,E_bin,方差,Var_bin) # 生成随机样本用样本估算期望方差 sample binom.rvs(n,p,size10000) print(样本均值,sample.mean(),样本方差,sample.var(ddof0))三、连续型随机变量正态分布最常用 N(μ,σ2)正态Eμ, Varσ2from scipy.stats import norm mu 5; sigma 2 # 理论值 E_norm norm.mean(locmu,scalesigma) Var_norm norm.var(locmu,scalesigma) print(正态期望,E_norm,方差,Var_norm) # 概率计算P(3X7) P norm.cdf(7,mu,sigma) - norm.cdf(3,mu,sigma) print(P(3X7),P) # 抽样验证 s norm.rvs(mu,sigma,size20000) print(抽样均值,s.mean(),抽样方差,s.var())四、样本统计用实测数据算均值 (样本期望)、样本方差ddof0总体方差ddof1无偏样本方差统计学常用data np.array([2,4,6,8,10]) mean_ data.mean() # 样本均值≈期望 var_all data.var(ddof0) # 总体方差 var_sample data.var(ddof1)# 样本无偏方差 print(mean_,var_all,var_sample)五、常用公式代码对照表公式代码离散期望 E∑xpnp.sum(x*p)方差 E(X2)−E2np.sum(x**2*p)-E**2样本均值arr.mean()总体方差arr.var(ddof0)无偏样本方差arr.var(ddof1)标准差arr.std()六、拓展均匀分布、泊松分布from scipy.stats import uniform,poisson # 均匀U(a,b) uniuniform(loc2,scale3) # [2,5] print(均匀期望,uni.mean(),方差,uni.var()) # 泊松P(λ),EVarλ poipoisson(mu4) print(泊松期望,poi.mean(),方差,poi.var())