本文主要介绍数理统计中几种常见的概率分布函数及其图像绘制以及分位数的计算。后续将更新的内容有常见分布的随机数的产生、参数估计等。敬请期待。
一、计算概率分布律及密度函数值
matlab直接提供了通用的计算概率密度函数值的函数,它们是pdf 和namepdf函数,使用方式如下:
Y=pdf(‘name’,K,A,B)或者:namepdf (K,A,B)
上述函数表示返回在X=K处、参数为A、B、C的概率值或密度值,对于不同的分布,参数个数是不同;name为分布函数名,使用时需要按照对应分布进行改动。函数名总结如下表:
name的取值 | 函数说明 |
---|---|
‘beta’ 或 ‘Beta’ | Beta分布 |
‘bino’ 或 ‘Binomial’ | 二项分布 |
‘chi2’ 或 ‘Chisquare’ | 卡方分布 |
‘exp’ 或 ‘Exponential’ | 指数分布 |
‘f’ 或 ‘F’ | F分布 |
‘gam’ 或 ‘Gamma’ | GAMMA分布 |
‘geo’ 或 ‘Geometric’ | 几何分布 |
‘hyge’ 或 ‘Hypergeometric’ | 超几何分布 |
‘logn’ 或 ‘Lognormal’ | 对数正态分布 |
‘nbin’ 或 ‘Negative Binomial’ | 负二项式分布 |
‘ncf’ 或 ‘Noncentral F’ | 非中心F分布 |
‘nct’ 或 ‘Noncentral t’ | 非中心t分布 |
‘ncx2’ 或 ‘Noncentral Chi-square’ | 非中心卡方分布 |
‘norm’ 或 ‘Normal’ | 正态分布 |
‘poiss’ 或 ‘Poisson’ | 泊松分布 |
‘rayl’ 或 ‘Rayleigh’ | 瑞利分布 |
‘t’ 或 ‘T’ | T分布 |
‘unif’ 或 ‘Uniform’ | 连续均匀分布 |
‘unid’ 或 ‘Discrete Uniform’ | 离散均匀分布 |
‘weib’ 或 ‘Weibull’ | Weibull分布 |
例如,设随机变量 X服从参数是3的泊松分布, 求概率 P{X=6}.
选用第一种计算方式:p=pdf(‘poiss’,6,3),用第二种计算方式则有:p=poisspdf(6,3)
>> p=pdf('poiss',6,3)
p =
0.0504
>> p=poisspdf(6,3)
p =
0.0504
例、计算正态分布N(0,1)的随机变量X在点0.6578的密度函数值。
则有pdf(‘norm’,0.6578,0,1)或者normpdf(0.6578,0,1)
>> pdf('norm',0.6578,0,1)
ans =
0.3213
>> normpdf(0.6578,0,1)
ans =
0.3213
二、常见分布的密度函数作图
这一部分主要讲述几种常见的分布的密度函数图像的绘制,会采用之前以讲解过的绘图部分的一些知识。
函数:plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
绘制方法是:第一部分中的Y=pdf(‘name’,K,A,B)或者:namepdf (K,A,B) 中的常量K改成变量X,再限制X的范围,用plot函数即可完成图像的绘制
例:绘制随机变量 X在0至10之间服从参数是0.5的二项分布的图像。
>> x = 0:10;
y = binopdf(x,10,0.5);
plot(x,y)
例:绘制正态分布N(0,1)的随机变量X在-3至3的函数图像。
>> x=-3:0.2:3;
y=normpdf(x,0,1);
plot(x,y)
三、随机变量的分布函数值与分位数的求法
1.同样,matlab直接提供了通用的计算随机变量的累积概率值的函数,它们是cdf 和namecdf 函数,使用方式如下:
cdf ('name ’ ,K,A,B)或者namecdf (K,A,B)
上述函数会返回以name为分布、随机变量X≤K的概率之和的累积概率值,name的取值见第一部分,使用方式与第一部分的函数完全相同
例:设随机变量X服从参数是3的泊松分布, 求概率 P{X≤6}。
>> p=poisscdf(6,3)
p =
0.9665
例:求标准正态分布随机变量X落在区间(-∞,0.2)内的概率。
>> cdf('norm',0.2,0,1)
ans =
0.5793
2.在数理统计中,分位数是已知F(x)=P(X<=x),求x。matlab也提供了通用的计算随机变量的分位数的函数,它们是icdf和nameinv函数,使用方式如下:
icdf(‘name’, p,A,B)或者nameinv(p,A,B)
返回分布为name,参数为A,B,累积概率值为p的临界值,即满足F(x)=P(X<=x)的x值,name与第一部分表中相同。
例:在标准正态分布表中,若已知F(x)=0.975,求x。
>> x=icdf('norm',0.975,0,1)
x =
1.9600
>> norminv(0.975,0,1)
ans =
1.9600
例:在卡方分布表中,若自由度为10,F(x)=0.975,求上侧分位数。
>> icdf('chi2',0.025,10)
ans =
3.2470
>> chi2inv(0.025,10)
ans =
3.2470