《统计学原理》与MATLAB编程第三章 抽样和抽样分布.docx
《《统计学原理》与MATLAB编程第三章 抽样和抽样分布.docx》由会员分享,可在线阅读,更多相关《《统计学原理》与MATLAB编程第三章 抽样和抽样分布.docx(33页珍藏版)》请在冰点文库上搜索。
《统计学原理》与MATLAB编程第三章抽样和抽样分布
第一节排列与组合
排列:
perms(x)x为向量,求x的全排列。
如:
a=perms([237])
a=
732
723
372
327
237
273
size(a,1)回车
ans=
6
有6种排列
在EXCEL中,用FACT返回n!
,用FACTDOUBLE返回n!
!
即返回参数半阶乘。
PERMUT(n,k)=Pnk
组合
(1)Syntax:
C=nchoosek(n,k)
其中n和k是一个非负整数。
该命令只有对n<15时有用。
函数描述:
从n个元素中一次选k个元素的所有组合数C(注意,C是一个数值)。
C=n!
/((n–k)!
k!
)
如:
C=nchoosek(10,3)回车
C=
120
C=nchoosek(v,k)
其中v是一个长度为n的向量,k小于等于n。
函数描述:
从向量v中一次选其中k个元素的所有组合C(注意:
C是一个矩阵,行数为n!
/((n–k)!
k!
)列数为k)
Examples:
A=2:
2:
10回车
A=246810
nchoosek(A,4)回车
2 4 6 8
2 4 6 10
2 4 8 10
2 6 8 10
4 6 8 10
(2)combntns
从给定集合中列出所有可能的元素的组合,和nchoosek(v,k)的用法一样。
Syntax
combos=combntns(set,subset)
combos=combntns(1:
5,3)
combos=
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
size(combos,1)
ans=
10
第二节随机数的生成
2.1均匀分布的随机数据的产生
函数rand
功能生成元素均匀分布于(0,1)上的向量与矩阵。
用法Y=rand(n)%返回n*n阶的方阵Y,其元素均匀分布于区间(0,1)。
若n不是一标量,在显示一出错信息。
Y=rand(m,n),或Y=rand([mn])%返回阶数为m*n的,元素均匀分布于区间(0,1)上矩阵Y。
Y=rand(m,n,p,…)或Y=rand([mnp…])%生成阶数m*n*p*…的,元素服从均匀分布的多维随机矩阵Y。
Y=rand(size(A))%生成一与阵列A同型的随机均匀矩阵Y
rand%该命令在每次单独使用时,都返回一随机数(服从均匀分布)。
s=rand('state')%返回一有35元素的列向量s,其中包含均匀分布生成器的当前状态。
该改变生成器的当前的状态,见表2-1。
表2-1
命令
含义
rand(‘state’,s)
设置状态为s
rand('state',0)
设置生成器为初始状态
rand(‘state’,k)
设置生成器第k个状态(k为整数)
rand(‘state’,sum(100*clock))
设置生成器在每次使用时的状态都不同(因为clock每次都不同)
例如:
s=rand('state')回车,返回一有35元素的列向量s。
rand(‘state’,0)回车
s1=rand('state')回车,返回一有35元素的列向量s1,但与s不同。
如果要生(a,b)的均匀分布的随机数,则可用:
a+(b-a)*rand(n,m)
例:
>>R1=rand(4,5)
>>a=10;b=50;
>>R2=a+(b-a)*rand(5)%生成元素均匀分布于(10,50)上的矩阵
计算结果可能为:
R1=
0.66550.05630.26560.53710.6797
0.32780.44020.92930.54570.6129
0.63250.44120.93430.93940.3940
0.53950.65010.56480.70840.2206
R2=
33.683519.821636.943649.628946.4679
18.516434.259715.366331.054949.0377
19.002637.100633.604639.536113.9336
12.464112.980435.542023.291646.8304
28.523848.741849.084313.051210.9265
2.2标准正态分布随机数据的产生
函数randn
功能生成元素服从正态分布(N(0,1))的向量或矩阵。
格式Y=randn(n)%返回n*n阶的方阵Y,其元素服从正态分布N(0,1)。
若n不是一标量,则显示一出错信息。
Y=randn(m,n)、Y=randn([mn])%返回阶数为m*n的,元素正态分布于区间(0,1)上矩阵Y。
Y=randn(m,n,p,…)、Y=randn([mnp…])%生成阶数m*n*p*…的,元素服从正态分布的多维随机阵列Y。
Y=randn(size(A))%生成一与阵列A同型的随机正态阵列Y
randn%该命令在每次单独使用时,都返回一随机数(服从正态分布)。
s=randn('state')%返回一有2元素的向量s,其中包含正态分布生成器的当前状态。
该改变生成器的当前状态,见表2-2。
表2-2
命令
含义
randn(‘state’,s)
设置状态为s
randn(’state’,0)
设置生成器为初始状态
randn(‘state’,k)
设置生成器第k个状态(k为整数)
randn(‘state’,sum(100*clock))
设置生成器在每次使用时的状态都不同(因为clock每次都不同)
2.3正态分布随机数据的产生
命令参数为μ、σ的正态分布的随机数据
函数normrnd
格式R=normrnd(MU,SIGMA)%返回均值为MU,标准差为SIGMA的正态分布的随机数据,R可以是一个数或向量或矩阵,具体视MU和SIGMA的形式而定。
如:
当MU和SIGMA都为标量时,R为一个标量(一个数)。
如:
R=normrnd(2,4)
R=
-4.6623
当MU和SIGMA都为大小相同向量时,R为大小与MU相同的一个向量。
R=normrnd(1:
6,1./(1:
6))
R=
1.12532.14382.61784.29775.23785.9937
当MU和SIGMA都为大小相同的矩阵时,R为大小与MU相同的一个矩阵。
A=reshape(1:
6,2,3)回车
A=
135
246
R=normrnd(A,1./A)回车
R=
1.32732.93784.8823
2.08734.18146.3639
R=normrnd(MU,SIGMA,[mn])或R=normrnd(MU,SIGMA,m,n)%[mn]和m,n指定随机数R的行数m与列数n。
R=normrnd(3,8,[25])回车
R=
-0.19919.525013.322012.52672.8417
8.52008.69538.3488-6.61971.7463
或R=normrnd(3,8,2,5)回车
R=
-9.8327-5.4518-3.44074.7546-14.3654
5.058414.32117.2299-4.37522.5265
n3=normrnd([123;456],0.1,2,3)mu为均值矩阵
n3=
0.92991.93612.9640
4.12465.05775.9864
正态分布也可用正态分布randn命令构造:
MU+SIGMA*randn(m,n)
均值为0.6、方差为0.1的2×3阶正态分布随机矩阵。
命令如下:
R=0.6+sqrt(0.1)*randn(2,3)
R=
0.95990.19150.4955
0.38370.57690.3332
2.4常见分布的随机数产生
方法一:
常见分布的随机数的使用格式与上面相同
表2-1随机数产生函数表
函数名
调用形式
注释
Unifrnd
unifrnd(A,B,m,n)
[A,B]上均匀分布(连续)随机数
Unidrnd
unidrnd(N,m,n)
均匀分布(离散)随机数
Exprnd
exprnd(MU,m,n)
参数为MU的指数分布随机数
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的泊松分布随机数
方法二:
通用函数求各分布的随机数据
命令求指定分布的随机数
函数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.35672.05241.82352.0342
1.98871.94402.65502.3200
2.09822.21771.95912.0178
表2-2常见分布函数表
name的取值
函数说明
'beta'
或
'Beta'
Beta分布
'bino'
或
'Binomial'
二项分布
'chi2'
或
'Chisquare'
卡方分布
'exp'
或
'Exponential'
指数分布
'f'
或
'F'
F分布
'gam'
或
'Gamma'
GAMMA分布
'geo'
或
'Geometric'
几何分布
'hyge'
或
'Hypergeometric'
超几何分布
'logn'
或
'Lognormal'
对数正态分布
'nbin'
或
'NegativeBinomial'
负二项式分布
'ncf'
或
'NoncentralF'
非中心F分布
'nct'
或
'Noncentralt'
非中心t分布
'ncx2'
或
'NoncentralChi-square'
非中心卡方分布
'norm'
或
'Normal'
正态分布
'poiss'
或
'Poisson'
泊松分布
'rayl'
或
'Rayleigh'
瑞利分布
't'
或
'T'
T分布
'unif'
或
'Uniform'
均匀分布
'unid'
或
'DiscreteUniform'
离散均匀分布
'weib'
或
'Weibull'
Weibull分布
2.5随机变量的概率密度计算
2.5.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为分布函数名,其取值如上表2-2。
例如二项分布:
设一次试验,事件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
2.5.2专用函数计算概率密度函数值
命令二项分布的概率值
函数binopdf
格式binopdf(k,n,p)%等同于
p—每次试验事件A发生的概率;K—事件A发生K次;n—试验总次数
命令泊松分布的概率值
函数poisspdf
格式poisspdf(k,Lambda)%等同于
命令正态分布的概率值
函数normpdf(K,mu,sigma)%计算参数为μ=mu,σ=sigma的正态分布密度函数在K处的值
专用函数计算概率密度函数列表如
表2-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的泊松分布的概率密度函数值
2.6常见分布的密度函数作图
1.二项分布
例2-
x=0:
10;
y=binopdf(x,10,0.5);
plot(x,y,'+','markersize',30)
2.卡方分布
例4-8
x=0:
0.2:
15;
y=chi2pdf(x,4);
plot(x,y,'linewidth',10)回车
3.非中心卡方分布
例4-9
x=(0:
0.1:
10);
p1=ncx2pdf(x,4,2);
p=chi2pdf(x,4);
plot(x,p,'--',x,p1,'-','linewidth',10)回车
legend('卡方','非中心卡方')
4.指数分布
例4-10
x=0:
0.1:
10;
y=exppdf(x,2);
plot(x,y,'linewidth',10)
5.F分布
例4-11
x=0:
0.01:
10;
y=fpdf(x,5,3);
plot(x,y,'linewidth',10)
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,'-','linewidth',10)回车
legend('F分布','非中心分布')回车
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,'-.','linewidth',8)
8.正态分布
例4-16
x=-3:
0.2:
3;
y=normpdf(x,0,1);
plot(x,y)
9.泊松分布
例4-17
x=0:
15;
y=poisspdf(x,5);
plot(x,y,'+')
10.T分布
例4-19
x=-5:
0.1:
5;
y=tpdf(x,5);
z=normpdf(x,0,1);
plot(x,y,'-',x,z,'-.')回车
legend('T分布','正态分布')回车
2.6随机变量的累积概率值(分布函数值)
2.6.1通用函数计算累积概率值
命令通用函数cdf用来计算随机变量
的概率之和(累积概率值)
函数cdf
格式
说明返回以name为分布、随机变量X≤K的概率之和的累积概率值,name的取值见表2-2常见分布函数表
例求标准正态分布随机变量X落在区间(-∞,0.4)内的概率(该值就是概率统计教材中的附表:
标准正态数值表)。
解:
cdf('norm',0.4,0,1)
ans=
0.6554
例求自由度为16的卡方分布随机变量落在[0,6.91]内的概率
>>cdf('chi2',6.91,16)
ans=
0.0250
2.6.2专用函数计算累积概率值(随机变量
的概率之和)
命令二项分布的累积概率值
函数binocdf
格式binocdf(k,n,p)%n为试验总次数,p为每次试验事件A发生的概率,k为n次试验中事件A发生的次数,该命令返回n次试验中事件A发生0、1、2…k次的总概率。
例如:
binocdf(2,3,0.6)回车
ans=
0.7840
binopdf(0,3,0.6)+binopdf(1,3,0.6)+binopdf(2,3,0.6)回车
ans=
0.7840
两者相等
命令正态分布的累积概率值
函数normcdf
格式normcdf(
)%返回F(x)=
的值,mu、sigma为正态分布的两个参数
例4-23设X~N(3,4)
(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
专用函数计算累积概率值函数列表如表2-4。
表2-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,MU)
参数为MU的指数分布累积分布函数值F(x)=P{X≤x}
normcdf
normcdf(x,mu,sigma)
参数为mu