MATLAB概率統計函式(1)
第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。