第4章 概率統計
本章介紹MATLAB在概率統計中的若干命令和使用格式,這些命令存放於MatlabR12\Toolbox\Stats中。
4.1 隨機數的產生
4.1.1 二項分布的隨機數據的產生
命令 參數為N,P的二項隨機數據
函數 binornd
格式 R = binornd(N,P) %N、P為二項分布的兩個參數,返回服從參數為N、P的二項分布的隨機數,N、P大小相同。
R = binornd(N,P,m) %m指定隨機數的個數,與R同維數。
R = binornd(N,P,m,n) %m,n分別表示R的行數和列數
例4-1
>> R=binornd(10,0.5)
R =
3
>> R=binornd(10,0.5,1,6)
R =
8 1 3 7 6 4
>> R=binornd(10,0.5,[1,10])
R =
6 8 4 6 7 5 3 5 6 2
>> R=binornd(10,0.5,[2,3])
R =
7 5 8
6 5 6
>>n = 10:10:60;
>>r1 = binornd(n,1./n)
r1 =
2 1 0 1 1 2
>>r2 = binornd(n,1./n,[1 6])
r2 =
0 1 2 1 3 1
4.1.2 正態分布的隨機數據的產生
命令 參數為μ、σ的正態分布的隨機數據
函數 normrnd
格式 R = normrnd(MU,SIGMA) %返回均值為MU,標准差為SIGMA的正態分布的隨機數據,R可以是向量或矩陣。
R = normrnd(MU,SIGMA,m) %m指定隨機數的個數,與R同維數。
R = normrnd(MU,SIGMA,m,n) %m,n分別表示R的行數和列數
例4-2
>>n1 = normrnd(1:6,1./(1:6))
n1 =
2.1650 2.3134 3.0250 4.0879 4.8607 6.2827
>>n2 = normrnd(0,1,[1 5])
n2 =
0.0591 1.7971 0.2641 0.8717 -1.4462
>>n3 = normrnd([1 2 3;4 5 6],0.1,2,3) %mu為均值矩陣
n3 =
0.9299 1.9361 2.9640
4.1246 5.0577 5.9864
>> R=normrnd(10,0.5,[2,3]) %mu為10,sigma為0.5的2行3列個正態隨機數
R =
9.7837 10.0627 9.4268
9.1672 10.1438 10.5955
4.1.3 常見分布的隨機數產生
常見分布的隨機數的使用格式與上面相同
表4-1 隨機數產生函數表
函數名 |
調用形式 |
注 釋 |
Unifrnd |
unifrnd ( A,B,m,n) |
[A,B]上均勻分布(連續) 隨機數 |
Unidrnd |
unidrnd(N,m,n) |
均勻分布(離散)隨機數 |
Exprnd |
exprnd(Lambda,m,n) |
參數為Lambda的指數分布隨機數 |
Normrnd |
normrnd(MU,SIGMA,m,n) |
參數為MU,SIGMA的正態分布隨機數 |
chi2rnd |
chi2rnd(N,m,n) |
自由度為N的卡方分布隨機數 |
Trnd |
trnd(N,m,n) |
自由度為N的t分布隨機數 |
Frnd |
frnd(N1, N2,m,n) |
第一自由度為N1,第二自由度為N2的F分布隨機數 |
gamrnd |
gamrnd(A, B,m,n) |
參數為A, B的分布隨機數 |
betarnd |
betarnd(A, B,m,n) |
參數為A, B的分布隨機數 |
lognrnd |
lognrnd(MU, SIGMA,m,n) |
參數為MU, SIGMA的對數正態分布隨機數 |
nbinrnd |
nbinrnd(R, P,m,n) |
參數為R,P的負二項式分布隨機數 |
ncfrnd |
ncfrnd(N1, N2, delta,m,n) |
參數為N1,N2,delta的非中心F分布隨機數 |
nctrnd |
nctrnd(N, delta,m,n) |
參數為N,delta的非中心t分布隨機數 |
ncx2rnd |
ncx2rnd(N, delta,m,n) |
參數為N,delta的非中心卡方分布隨機數 |
raylrnd |
raylrnd(B,m,n) |
參數為B的瑞利分布隨機數 |
weibrnd |
weibrnd(A, B,m,n) |
參數為A, B的韋伯分布隨機數 |
binornd |
binornd(N,P,m,n) |
參數為N, p的二項分布隨機數 |
geornd |
geornd(P,m,n) |
參數為 p的幾何分布隨機數 |
hygernd |
hygernd(M,K,N,m,n) |
參數為 M,K,N的超幾何分布隨機數 |
Poissrnd |
poissrnd(Lambda,m,n) |
參數為Lambda的泊松分布隨機數 |
4.1.4 通用函數求各分布的隨機數據
命令 求指定分布的隨機數
函數 random
格式 y = random('name',A1,A2,A3,m,n) %name的取值見表4-2;A1,A2,A3為分布的參數;m,n指定隨機數的行和列
例4-3 產生12(3行4列)個均值為2,標准差為0.3的正態分布隨機數
>> y=random('norm',2,0.3,3,4)
y =
2.3567 2.0524 1.8235 2.0342
1.9887 1.9440 2.6550 2.3200
2.0982 2.2177 1.9591 2.0178
4.2 隨機變量的概率密度計算
4.2.1 通用函數計算概率密度函數值
命令 通用函數計算概率密度函數值
函數 pdf
格式 Y=pdf(name,K,A)
Y=pdf(name,K,A,B)
Y=pdf(name,K,A,B,C)
說明 返回在X=K處、參數為A、B、C的概率密度值,對於不同的分布,參數個數是不同;name為分布函數名,其取值如表4-2。
表4-2 常見分布函數表
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分布 |
例如二項分布:設一次試驗,事件A發生的概率為p,那么,在n次獨立重復試驗中,事件A恰好發生K次的概率P_K為:P_K=P{X=K}=pdf('bino',K,n,p)
例4-4 計算正態分布N(0,1)的隨機變量X在點0.6578的密度函數值。
解:>> pdf('norm',0.6578,0,1)
ans =
0.3213
例4-5 自由度為8的卡方分布,在點2.18處的密度函數值。
解:>> pdf('chi2',2.18,8)
ans =
0.0363
4.2.2 專用函數計算概率密度函數值
命令 二項分布的概率值
函數 binopdf
格式 binopdf (k, n, p) %等同於, p — 每次試驗事件A發生的概率;K—事件A發生K次;n—試驗總次數
命令 泊松分布的概率值
函數 poisspdf
格式 poisspdf(k, Lambda) %等同於
命令 正態分布的概率值
函數 normpdf(K,mu,sigma) %計算參數為μ=mu,σ=sigma的正態分布密度函數在K處的值
專用函數計算概率密度函數列表如表4-3。
表4-3 專用函數計算概率密度函數表
函數名 |
調用形式 |
注 釋 |
Unifpdf |
unifpdf (x, a, b) |
[a,b]上均勻分布(連續)概率密度在X=x處的函數值 |
unidpdf |
Unidpdf(x,n) |
均勻分布(離散)概率密度函數值 |
Exppdf |
exppdf(x, Lambda) |
參數為Lambda的指數分布概率密度函數值 |
normpdf |
normpdf(x, mu, sigma) |
參數為mu,sigma的正態分布概率密度函數值 |
chi2pdf |
chi2pdf(x, n) |
自由度為n的卡方分布概率密度函數值 |
Tpdf |
tpdf(x, n) |
自由度為n的t分布概率密度函數值 |
Fpdf |
fpdf(x, n1, n2) |
第一自由度為n1,第二自由度為n2的F分布概率密度函數值 |
gampdf |
gampdf(x, a, b) |
參數為a, b的分布概率密度函數值 |
betapdf |
betapdf(x, a, b) |
參數為a, b的分布概率密度函數值 |
lognpdf |
lognpdf(x, mu, sigma) |
參數為mu, sigma的對數正態分布概率密度函數值 |
nbinpdf |
nbinpdf(x, R, P) |
參數為R,P的負二項式分布概率密度函數值 |
Ncfpdf |
ncfpdf(x, n1, n2, delta) |
參數為n1,n2,delta的非中心F分布概率密度函數值 |
Nctpdf |
nctpdf(x, n, delta) |
參數為n,delta的非中心t分布概率密度函數值 |
ncx2pdf |
ncx2pdf(x, n, delta) |
參數為n,delta的非中心卡方分布概率密度函數值 |
raylpdf |
raylpdf(x, b) |
參數為b的瑞利分布概率密度函數值 |
weibpdf |
weibpdf(x, a, b) |
參數為a, b的韋伯分布概率密度函數值 |
binopdf |
binopdf(x,n,p) |
參數為n, p的二項分布的概率密度函數值 |
geopdf |
geopdf(x,p) |
參數為 p的幾何分布的概率密度函數值 |
hygepdf |
hygepdf(x,M,K,N) |
參數為 M,K,N的超幾何分布的概率密度函數值 |
poisspdf |
poisspdf(x,Lambda) |
參數為Lambda的泊松分布的概率密度函數值 |
例4-6 繪制卡方分布密度函數在自由度分別為1、5、15的圖形
>> x=0:0.1:30;
>> y1=chi2pdf(x,1); plot(x,y1,':')
>> hold on
>> y2=chi2pdf(x,5);plot(x,y2,'+')
>> y3=chi2pdf(x,15);plot(x,y3,'o')
>> axis([0,30,0,0.2]) %指定顯示的圖形區域
則圖形為圖4-1。
4.2.3 常見分布的密度函數作圖
1.二項分布
例4-7
>>x = 0:10;
>>y = binopdf(x,10,0.5);
>>plot(x,y,'+')
2.卡方分布
例4-8
>> x = 0:0.2:15;
>>y = chi2pdf(x,4);
>>plot(x,y)
圖4-2
3.非中心卡方分布
例4-9
>>x = (0:0.1:10)';
>>p1 = ncx2pdf(x,4,2);
>>p = chi2pdf(x,4);
>>plot(x,p,'--',x,p1,'-')
4.指數分布
例4-10
>>x = 0:0.1:10;
>>y = exppdf(x,2);
>>plot(x,y)
圖4-3
5.F分布
例4-11
>>x = 0:0.01:10;
>>y = fpdf(x,5,3);
>>plot(x,y)
6.非中心F分布
例4-12
>>x = (0.01:0.1:10.01)';
>>p1 = ncfpdf(x,5,20,10);
>>p = fpdf(x,5,20);
>>plot(x,p,'--',x,p1,'-')
圖4-4
7.Γ分布
例4-13
>>x = gaminv((0.005:0.01:0.995),100,10);
>>y = gampdf(x,100,10);
>>y1 = normpdf(x,1000,100);
>>plot(x,y,'-',x,y1,'-.')
8.對數正態分布
例4-14
>>x = (10:1000:125010)';
>>y = lognpdf(x,log(20000),1.0);
>>plot(x,y)
>>set(gca,'xtick',[0 30000 60000 90000 120000])
>>set(gca,'xticklabel',str2mat('0','$30,000','$60,000',…
'$90,000','$120,000'))
圖4-5
9.負二項分布
例4-15
>>x = (0:10);
>>y = nbinpdf(x,3,0.5);
>>plot(x,y,'+')
10.正態分布
例4-16
>> x=-3:0.2:3;
>> y=normpdf(x,0,1);
>> plot(x,y)
圖4-6
11.泊松分布
例4-17
>>x = 0:15;
>>y = poisspdf(x,5);
>>plot(x,y,'+')
12.瑞利分布
例4-18
>>x = [0:0.01:2];
>>p = raylpdf(x,0.5);
>>plot(x,p)
圖4-7
13.T分布
例4-19
>>x = -5:0.1:5;
>>y = tpdf(x,5);
>>z = normpdf(x,0,1);
>>plot(x,y,'-',x,z,'-.')
14.威布爾分布
例4-20
>> t=0:0.1:3;
>> y=weibpdf(t,2,2);
>> plot(y)
圖4-8
4.3 隨機變量的累積概率值(分布函數值)
4.3.1 通用函數計算累積概率值
命令 通用函數cdf用來計算隨機變量的概率之和(累積概率值)
函數 cdf
格式
cdf('name',K,A)
cdf('name',K,A,B)
cdf('name',K,A,B,C)
說明 返回以name為分布、隨機變量X≤K的概率之和的累積概率值,name的取值見表4-1 常見分布函數表
例4-21 求標准正態分布隨機變量X落在區間(-∞,0.4)內的概率(該值就是概率統計教材中的附表:標准正態數值表)。
解:
>> cdf('norm',0.4,0,1)
ans =
0.6554
例4-22 求自由度為16的卡方分布隨機變量落在[0,6.91]內的概率
>> cdf('chi2',6.91,16)
ans =
0.0250
4.3.2 專用函數計算累積概率值(隨機變量的概率之和)
命令 二項分布的累積概率值
函數 binocdf
格式 binocdf (k, n, p) %n為試驗總次數,p為每次試驗事件A發生的概率,k為n次試驗中事件A發生的次數,該命令返回n次試驗中事件A恰好發生k次的概率。
命令 正態分布的累積概率值
函數 normcdf
格式 normcdf() %返回F(x)=的值,mu、sigma為正態分布的兩個參數
例4-23 設X~N(3, 22)
(1)求
(2)確定c,使得
解(1) p1=
p2=
p3=
p4=
則有:
>>p1=normcdf(5,3,2)-normcdf(2,3,2)
p1 =
0.5328
>>p2=normcdf(10,3,2)-normcdf(-4,3,2)
p2 =
0.9995
>>p3=1-normcdf(2,3,2)-normcdf(-2,3,2)
p3 =
0.6853
>>p4=1-normcdf(3,3,2)
p4 =
0.5000
專用函數計算累積概率值函數列表如表4-4。
表4-4 專用函數的累積概率值函數表
函數名 |
調用形式 |
注 釋 |
unifcdf |
unifcdf (x, a, b) |
[a,b]上均勻分布(連續)累積分布函數值 F(x)=P{X≤x} |
unidcdf |
unidcdf(x,n) |
均勻分布(離散)累積分布函數值 F(x)=P{X≤x} |
expcdf |
expcdf(x, Lambda) |
參數為Lambda的指數分布累積分布函數值 F(x)=P{X≤x} |
normcdf |
normcdf(x, mu, sigma) |
參數為mu,sigma的正態分布累積分布函數值 F(x)=P{X≤x} |
chi2cdf |
chi2cdf(x, n) |
自由度為n的卡方分布累積分布函數值 F(x)=P{X≤x} |
tcdf |
tcdf(x, n) |
自由度為n的t分布累積分布函數值 F(x)=P{X≤x} |
fcdf |
fcdf(x, n1, n2) |
第一自由度為n1,第二自由度為n2的F分布累積分布函數值 |
gamcdf |
gamcdf(x, a, b) |
參數為a, b的分布累積分布函數值 F(x)=P{X≤x} |
betacdf |
betacdf(x, a, b) |
參數為a, b的分布累積分布函數值 F(x)=P{X≤x} |
logncdf |
logncdf(x, mu, sigma) |
參數為mu, sigma的對數正態分布累積分布函數值 |
nbincdf |
nbincdf(x, R, P) |
參數為R,P的負二項式分布概累積分布函數值 F(x)=P{X≤x} |
ncfcdf |
ncfcdf(x, n1, n2, delta) |
參數為n1,n2,delta的非中心F分布累積分布函數值 |
nctcdf |
nctcdf(x, n, delta) |
參數為n,delta的非中心t分布累積分布函數值 F(x)=P{X≤x} |
ncx2cdf |
ncx2cdf(x, n, delta) |
參數為n,delta的非中心卡方分布累積分布函數值 |
raylcdf |
raylcdf(x, b) |
參數為b的瑞利分布累積分布函數值 F(x)=P{X≤x} |
weibcdf |
weibcdf(x, a, b) |
參數為a, b的韋伯分布累積分布函數值 F(x)=P{X≤x} |
binocdf |
binocdf(x,n,p) |
參數為n, p的二項分布的累積分布函數值 F(x)=P{X≤x} |
geocdf |
geocdf(x,p) |
參數為 p的幾何分布的累積分布函數值 F(x)=P{X≤x} |
hygecdf |
hygecdf(x,M,K,N) |
參數為 M,K,N的超幾何分布的累積分布函數值 |
poisscdf |
poisscdf(x,Lambda) |
參數為Lambda的泊松分布的累積分布函數值 F(x)=P{X≤x} |
說明 累積概率函數就是分布函數F(x)=P{X≤x}在x處的值。
4.4 隨機變量的逆累積分布函數
MATLAB中的逆累積分布函數是已知,求x。
逆累積分布函數值的計算有兩種方法
4.4.1 通用函數計算逆累積分布函數值
命令 icdf 計算逆累積分布函數
格式 icdf('name',P,a1,a2,a3)
說明 返回分布為name,參數為,累積概率值為P的臨界值,這里name與前面表4.1相同。
如果,則
例4-24 在標准正態分布表中,若已知=0.975,求x
解:>> x=icdf('norm',0.975,0,1)
x =
1.9600
例4-25 在分布表中,若自由度為10,=0.975,求臨界值Lambda。
解:因為表中給出的值滿足,而逆累積分布函數icdf求滿足的臨界值。所以,這里的取為0.025,即
>> Lambda=icdf('chi2',0.025,10)
Lambda =
3.2470
例4-26 在假設檢驗中,求臨界值問題:
已知:,查自由度為10的雙邊界檢驗t分布臨界值
>>lambda=icdf('t',0.025,10)
lambda =
-2.2281
4.4.2 專用函數-inv計算逆累積分布函數
命令 正態分布逆累積分布函數
函數 norminv
格式 X=norminv(p,mu,sigma) %p為累積概率值,mu為均值,sigma為標准差,X為臨界值,滿足:p=P{X≤x}。
例4-27 設,確定c使得。
解:由得,=0.5,所以
>>X=norminv(0.5, 3, 2)
X=
3
關於常用臨界值函數可查下表4-5。
表4-5 常用臨界值函數表
函數名 |
調用形式 |
注 釋 |
unifinv |
x=unifinv (p, a, b) |
均勻分布(連續)逆累積分布函數(P=P{X≤x},求x) |
unidinv |
x=unidinv (p,n) |
均勻分布(離散)逆累積分布函數,x為臨界值 |
expinv |
x=expinv (p, Lambda) |
指數分布逆累積分布函數 |
norminv |
x=Norminv(x,mu,sigma) |
正態分布逆累積分布函數 |
chi2inv |
x=chi2inv (x, n) |
卡方分布逆累積分布函數 |
tinv |
x=tinv (x, n) |
t分布累積分布函數 |
finv |
x=finv (x, n1, n2) |
F分布逆累積分布函數 |
gaminv |
x=gaminv (x, a, b) |
分布逆累積分布函數 |
betainv |
x=betainv (x, a, b) |
分布逆累積分布函數 |
logninv |
x=logninv (x, mu, sigma) |
對數正態分布逆累積分布函數 |
nbininv |
x=nbininv (x, R, P) |
負二項式分布逆累積分布函數 |
ncfinv |
x=ncfinv (x, n1, n2, delta) |
非中心F分布逆累積分布函數 |
nctinv |
x=nctinv (x, n, delta) |
非中心t分布逆累積分布函數 |
ncx2inv |
x=ncx2inv (x, n, delta) |
非中心卡方分布逆累積分布函數 |
raylinv |
x=raylinv (x, b) |
瑞利分布逆累積分布函數 |
weibinv |
x=weibinv (x, a, b) |
韋伯分布逆累積分布函數 |
binoinv |
x=binoinv (x,n,p) |
二項分布的逆累積分布函數 |
geoinv |
x=geoinv (x,p) |
幾何分布的逆累積分布函數 |
hygeinv |
x=hygeinv (x,M,K,N) |
超幾何分布的逆累積分布函數 |
poissinv |
x=poissinv (x,Lambda) |
泊松分布的逆累積分布函數 |
例4-28 公共汽車門的高度是按成年男子與車門頂碰頭的機會不超過1%設計的。設男子身高X(單位:cm)服從正態分布N(175,36),求車門的最低高度。
解:設h為車門高度,X為身高
求滿足條件的h,即,所以
>>h=norminv(0.99, 175, 6)
h =
188.9581
例4-29 卡方分布的逆累積分布函數的應用
在MATLAB的編輯器下建立M文件如下:
n=5; a=0.9; %n為自由度,a為置信水平或累積概率
x_a=chi2inv(a,n); %x_a 為臨界值
x=0:0.1:15; yd_c=chi2pdf(x,n); %計算的概率密度函數值,供繪圖用
plot(x,yd_c,'b'), hold on %繪密度函數圖形
xxf=0:0.1:x_a; yyf=chi2pdf(xxf,n); %計算[0,x_a]上的密度函數值,供填色用
fill([xxf,x_a], [yyf,0], 'g') %填色,其中:點(x_a, 0)使得填色區域封閉
text(x_a*1.01,0.01, num2str(x_a)) %標注臨界值點
text(10,0.10, ['\fontsize{16}X~{\chi}^2(4)'])
%圖中標注
text(1.5,0.05, '\fontsize{22}alpha=0.9' ) %圖中標注
結果顯示如圖4-9。