MATLAB中的概率函数

1. pdf 概率密度函数

y=pdf(name,x,A)

返回由 name 指定的单参数分布的概率密度,x为

样本数据,A为所属分布的参数

y=pdf(name,x,A,B)

y=pdf(name,x,A,B,C) 返回由 name 指定的双参数或三参数分布的概率密度

name用来指定分布类型

二项式分布

Binomial

bino

卡方分布

Chisquare

chi2

指数分布

Exponential

exp

F分布

F

f

几何分布

Geometric

geo

正态分布

Normal

norm

泊松分布

Poisson

poiss

T分布

T

t

均匀分布

Uniform

unif

离散均匀分布

Discrete Uniform

unid

例:

x=-8:0.1:8;

y=pdf('norm',x,0,1);

y1=pdf('norm',x,1,2);

plot(x,y,x,y1,':')

注意:y=pdf('norm',x,0,1)等价于y=normpdf(x,0,1)

类似的y=pdf('bino’,x,N,p)等价于 y=bionpdf(,x,N,p)……

2、

cdf 系列函数:累积分布函数 F(x) = P(X<=x)

y=cdf('norm',x,0,1)等价于y=normcdf(x,0,1)

inv 系列函数:逆累积分布函数 (相应分布下的分位数)

y=icdf('norm',p,0,1)等价于 y=normicdf(p,0,1)

rnd 系列函数:随机数发生函数 (不唯一)

stat 系列函数:均值与方差函数

3. normfit 正态分布中的参数估计

[muhat,sigmahat,muci,sigmaci]=normfit(x,alpha)

点估计,区间估计

对样本数据 x 进行参数估计,并计算置信度为 1-alpha
的置信区间

alpha 可以省略,缺省值为 0.05,即置信度为 95%

4. hist 绘制给定数据的直方图

hist(x,m),默认时m=10(m为组数)

5.table=tabulate(x)

绘制频数表,返回值 table 中,第一列为x的值,第二列为该值出现的次数,最后一列包含每个值的百分比。

6.ttest(x,m,alpha)

假设检验函数。此函数对样本数据 x 进行显著性水平为 alpha 的 t 假设检验,以检验正态分布样本 x(标准差未知)的均值是否为 m。(单个总体的t检验)

两个总体检验:ttest2(x,y,alpha)

7、随机数(伪随机数)

A=trnd(k,m,n)生成m*n的t分布的随机数

B=raylrnd(b,m,n) 生成Rayleigh分布的伪随机数

8、函数random( )

功能:y=random(‘name’,A1,A2,A3,m,n)

说明:输入的向量或矩阵A1,A2和A3必须形式相同。标量输入将被扩展成和其它输入具有相同维数的常数矩阵。

9、随机变量数字特征

[M,V]=binostat(N,P)

[M,V]=expstat(MU)

[M,V]=normstat(MU,SIGMA)

C=cov(X) 返回X的协方差或协方差矩阵

C=cov(X,Y) 返回X与Y的协方差矩阵

R=corrcoef(X) 返回源于矩阵的相关系数矩阵

M=moment(X,order) 返回X的order阶中心矩

已知一组随机变量样本数据构成的向量:

x=[x1,x2,……,xn]’

求该向量各个元素的均值、方差和标准差:

M=mean(x),s2=var(x),s=std(x);

r阶原点矩与中心矩:Ar=sum(x.^r)/length(x);Br=moment(x,r)

 

 

 

 

 

4.8  假设检验4.8.1  已知,单个正态总体的均值μ的假设检验(U检验法)

函数  ztest

格式  h = ztest(x,m,sigma)   % x为正态总体的样本,m为均值μ0,sigma为标准差,显著性水平为0.05(默认值)

h = ztest(x,m,sigma,alpha)   %显著性水平为alpha

[h,sig,ci,zval] = ztest(x,m,sigma,alpha,tail)   %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间,zval为统计量的值。

说明  若h=0,表示在显著性水平alpha下,不能拒绝原假设;

     若h=1,表示在显著性水平alpha下,可以拒绝原假设。

     原假设:,

若tail=0,表示备择假设:(默认,双边检验);

tail=1,表示备择假设:(单边检验);

tail=-1,表示备择假设:(单边检验)。

例4-74  某车间用一台包装机包装葡萄糖,包得的袋装糖重是一个随机变量,它服从正态分布。当机器正常时,其均值为0.5公斤,标准差为0.015。某日开工后检验包装机是否正常,随机地抽取所包装的糖9袋,称得净重为(公斤)

0.497,  0.506,  0.518,  0.524,  0.498,  0.511,  0.52,  0.515,  0.512

问机器是否正常?

解:总体μ和σ已知,该问题是当为已知时,在水平下,根据样本值判断μ=0.5还是。为此提出假设:

原假设:  

备择假设:

>> X=[0.497,0.506,0.518,0.524,0.498,0.511,0.52,0.515,0.512];

>> [h,sig,ci,zval]=ztest(X,0.5,0.015,0.05,0)

结果显示为

h =

    1

sig =

   0.0248       %样本观察值的概率

ci =

   0.5014    0.5210        %置信区间,均值0.5在此区间之外

zval =

   2.2444       %统计量的值

结果表明:h=1,说明在水平下,可拒绝原假设,即认为包装机工作不正常。

4.8.2  未知,单个正态总体的均值μ的假设检验( t检验法)

函数  ttest

格式  h = ttest(x,m)   % x为正态总体的样本,m为均值μ0,显著性水平为0.05

h = ttest(x,m,alpha)   %alpha为给定显著性水平

[h,sig,ci] = ttest(x,m,alpha,tail)   %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间。

说明  若h=0,表示在显著性水平alpha下,不能拒绝原假设;

     若h=1,表示在显著性水平alpha下,可以拒绝原假设。

     原假设:,

若    tail=0,表示备择假设:(默认,双边检验);

tail=1,表示备择假设:(单边检验);

tail=-1,表示备择假设:(单边检验)。

例4-75  某种电子元件的寿命X(以小时计)服从正态分布,、σ2均未知。现测得16只元件的寿命如下

159   280   101   212   224   379   179   264   222   362   168   250

149   260   485   170

问是否有理由认为元件的平均寿命大于225(小时)?

解:未知,在水平下检验假设::,:

>> X=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170];

>> [h,sig,ci]=ttest(X,225,0.05,1)

结果显示为:

h =

    0

sig =

   0.2570

ci =

 198.2321       Inf       %均值225在该置信区间内

结果表明:H=0表示在水平下应该接受原假设,即认为元件的平均寿命不大于225小时。

4.8.3  两个正态总体均值差的检验(t检验)

两个正态总体方差未知但等方差时,比较两正态总体样本均值的假设检验

函数  ttest2  

格式  [h,sig,ci]=ttest2(X,Y)    %X,Y为两个正态总体的样本,显著性水平为0.05

     [h,sig,ci]=ttest2(X,Y,alpha)   %alpha为显著性水平

[h,sig,ci]=ttest2(X,Y,alpha,tail)   %sig为当原假设为真时得到观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间。

说明  若h=0,表示在显著性水平alpha下,不能拒绝原假设;

     若h=1,表示在显著性水平alpha下,可以拒绝原假设。

     原假设:,  (为X为期望值,为Y的期望值)

若    tail=0,表示备择假设:(默认,双边检验);

tail=1,表示备择假设:(单边检验);

tail=-1,表示备择假设:(单边检验)。

例4-76  在平炉上进行一项试验以确定改变操作方法的建议是否会增加钢的产率,试验是在同一只平炉上进行的。每炼一炉钢时除操作方法外,其他条件都尽可能做到相同。先用标准方法炼一炉,然后用建议的新方法炼一炉,以后交替进行,各炼10炉,其产率分别为

(1)标准方法:78.1  72.4  76.2  74.3  77.4  78.4  76.0  75.5  76.7  77.3

(2)新方法:  79.1  81.0  77.3  79.1  80.0  79.1  79.1  77.3  80.2  82.1

设这两个样本相互独立,且分别来自正态总体和,、、均未知。问建议的新操作方法能否提高产率?(取α=0.05)

解:两个总体方差不变时,在水平下检验假设::,:

>> X=[78.1  72.4  76.2  74.3  77.4  78.4  76.0  75.5  76.7  77.3];

>>Y=[79.1  81.0  77.3  79.1  80.0  79.1  79.1  77.3  80.2  82.1];

>> [h,sig,ci]=ttest2(X,Y,0.05,-1)

结果显示为:

h =

    1

sig =

 2.1759e-004     %说明两个总体均值相等的概率很小

ci =

     -Inf   -1.9083

结果表明:H=1表示在水平下,应该拒绝原假设,即认为建议的新操作方法提高了产率,因此,比原方法好。

4.8.4  两个总体一致性的检验——秩和检验

函数  ranksum

格式  p = ranksum(x,y,alpha)   %x、y为两个总体的样本,可以不等长,alpha为显著性水平

[p,h] = ranksum(x,y,alpha)   % h为检验结果,h=0表示X与Y的总体差别不显著h=1表示X与Y的总体差别显著

     [p,h,stats] = ranksum(x,y,alpha)  %stats中包括:ranksum为秩和统计量的值以及zval为过去计算p的正态统计量的值

说明  P为两个总体样本X和Y为一致的显著性概率,若P接近于0,则不一致较明显。

例4-77  某商店为了确定向公司A或公司B购买某种商品,将A和B公司以往的各次进货的次品率进行比较,数据如下所示,设两样本独立。问两公司的商品的质量有无显著差异。设两公司的商品的次品的密度最多只差一个平移,取α=0.05。

A:7.0  3.5  9.6  8.1  6.2  5.1  10.4  4.0  2.0  10.5

B:5.7  3.2  4.1  11.0  9.7  6.9  3.6  4.8  5.6  8.4  10.1  5.5  12.3

解:设、分别为A、B两个公司的商品次品率总体的均值。则该问题为在水平α=0.05下检验假设::,:

>> A=[7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5];

>> B=[5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3];

>> [p,h,stats]=ranksum(A,B,0.05)

结果为:

p =

   0.8041

h =

    0

stats =

      zval: -0.2481

   ranksum: 116

结果表明:一方面,两样本总体均值相等的概率为0.8041,不接近于0;另一方面,H=0也说明可以接受原假设,即认为两个公司的商品的质量无明显差异。

4.8.5  两个总体中位数相等的假设检验——符号秩检验

函数  signrank

格式  p = signrank(X,Y,alpha)   % X、Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑。

[p,h] = signrank(X,Y,alpha)   % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著。

[p,h,stats] = signrank(x,y,alpha)   % stats中包括:signrank为符号秩统计量的值以及zval为过去计算p的正态统计量的值。

例4-78 两个正态随机样本的中位数相等的假设检验

>> x=normrnd(0,1,20,1);

>> y=normrnd(0,2,20,1);

>> [p,h,stats]=signrank(x,y,0.05)

p =

   0.3703

h =

    0

stats =

        zval: -0.8960

   signedrank: 81

结果表明:h=0表示X与Y的中位数之差不显著

4.8.6  两个总体中位数相等的假设检验——符号检验

函数  signtest

格式  p=signtest(X, Y, alpha)   % X、Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑。

[p, h]=signtest(X, Y, alpha)  % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著。

[p,h,stats] = signtest(X,Y,alpha)  % stats中sign为符号统计量的值

例4-79  两个正态随机样本的中位数相等的假设检验

>> X=normrnd(0,1,20,1);

>> Y=normrnd(0,2,20,1);

>> [p,h,stats]=signtest(X,Y,0.05)

p =

   0.2632

h =

    0

stats =

   sign: 7

结果表明:h=0表示X与Y的中位数之差不显著

4.8.7  正态分布的拟合优度测试

函数  jbtest

格式  H = jbtest(X)   %对输入向量X进行Jarque-Bera测试,显著性水平为0.05。

H = jbtest(X,alpha)   %在水平alpha而非5%下施行 Jarque-Bera 测试,alpha在0和1之间。

[H,P,JBSTAT,CV] = jbtest(X,alpha)   %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;JBSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

说明  H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布。X为大样本,对于小样本用lillietest函数。

例4-80 调用MATLAB中关于汽车重量的数据,测试该数据是否服从正态分布

>> load carsmall

>> [h,p,j,cv]=jbtest(Weight)

h =

    1

p =

   0.0267

j =

   7.2448

cv =

   5.9915

说明  p=2.67%表示应该拒绝服从正态分布的假设;h=1也可否定服从正态分布;统计量的值j = 7.2448大于接受假设的临界值cv =5.9915,因而拒绝假设(测试水平为5%)。

4.8.8  正态分布的拟合优度测试

函数  lillietest

格式  H = lillietest(X)   %对输入向量X进行Lilliefors测试,显著性水平为0.05。

H = lillietest(X,alpha)   %在水平alpha而非5%下施行Lilliefors测试,alpha在0.01和0.2之间。

[H,P,LSTAT,CV] = lillietest(X,alpha)   %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

说明  H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布。

例4-81

>> Y=chi2rnd(10,100,1);

>> [h,p,l,cv]=lillietest(Y)

h =

    1

p =

   0.0175

l =

   0.1062

cv =

   0.0886

说明  h=1表示拒绝正态分布的假设;p = 0.0175表示服从正态分布的概率很小;统计量的值l = 0.1062大于接受假设的临界值cv =0.0886,因而拒绝假设(测试水平为5%)。

>>hist(Y)

从图中看出,数据Y不服从正态分布。

4.8.9  单个样本分布的 Kolmogorov-Smirnov 测试

函数  kstest

格式  H = kstest(X)      %测试向量X是否服从标准正态分布,测试水平为5%。

H = kstest(X,cdf)   %指定累积分布函数为cdf的测试(cdf=[ ]时表示标准正态分布),测试水平为5%

H = kstest(X,cdf,alpha)   % alpha为指定测试水平

[H,P,KSSTAT,CV] = kstest(X,cdf,alpha)   %P为原假设成立的概率,KSSTAT为测试统计量的值,CV为是否接受假设的临界值。

说明  原假设为X服从标准正态分布。若H=0则不能拒绝原假设,H=1则可以拒绝原假设。

例4-82 产生100个威布尔随机数,测试该随机数服从的分布

>> x=weibrnd(1,2,100,1);

>> [H,p,ksstat,cv]=kstest(x,[x weibcdf(x,1,2)],0.05)   %测试是否服从威布尔分布

H =

    0

p =

   0.3022

ksstat =

   0.0959

cv =

   0.1340

说明  H=0表示接受原假设,统计量ksstat小于临界值表示接受原假设。

>> [H,p,ksstat,cv]=kstest(x,[x expcdf(x,1)],0.05)    %测试是否服从指数分布

H =

    1

p =

   0.0073

ksstat =

   0.1653

cv =

   0.1340

说明  H=1表明拒绝服从指数分布的假设。

>> [H,p,ksstat,cv]=kstest(x,[ ],0.05)    %测试是否服从标准正态分布

H =

    1

p =

 3.1285e-026

ksstat =

   0.5380

cv =

   0.1340

说明  H=1表明不服从标准正态分布。

4.8.10  两个样本具有相同的连续分布的假设检验

函数  kstest2

格式  H = kstest2(X1,X2)       %测试向量X1与X2是具有相同的连续分布,测试水平为5%。

H = kstest2(X1,X2,alpha)   % alpha为测试水平

[H,P,KSSTAT] = kstest(X,cdf,alpha)   %与指定累积分布cdf相同的连续分布,P为假设成立的概率,KSSTAT为测试统计量的值。

说明  原假设为具有相同连续分布。测试结果为H,若H=0,表示应接受原假设;若H=1,表示可以拒绝原假设。这是Kolmogorov-Smirnov测试方法。

例4-83

>> x=-1:1:5;

>> y=randn(20,1);

>> [h,p,k]=kstest2(x,y)

h =

    1

p =

   0.0444

k =

   0.5643

说明  h=1表示可以认为向量x与y的分布不相同,相同的概率只有4.4%。

4.9  方差分析4.9.1  单因素方差分析

单因素方差分析是比较两组或多组数据的均值,它返回原假设——均值相等的概率

函数  anova1

格式  p = anova1(X)   %X的各列为彼此独立的样本观察值,其元素个数相同,p为各列均值相等的概率值,若p值接近于0,则原假设受到怀疑,说明至少有一列均值与其余列均值有明显不同。

p = anova1(X,group)   %X和group为向量且group要与X对应

p = anova1(X,group,'displayopt')   % displayopt=on/off表示显示与隐藏方差分析表图和盒图

[p,table] = anova1(…)     % table为方差分析表

[p,table,stats] = anova1(…)   % stats为分析结果的构造

说明  anova1函数产生两个图:标准的方差分析表图和盒图。

方差分析表中有6列:第1列(source)显示:X中数据可变性的来源;第2列(SS)显示:用于每一列的平方和;第3列(df)显示:与每一种可变性来源有关的自由度;第4列(MS)显示:是SS/df的比值;第5列(F)显示:F统计量数值,它是MS的比率;第6列显示:从F累积分布中得到的概率,当F增加时,p值减少。

例4-84  设有3台机器,用来生产规格相同的铝合金薄板。取样测量薄板的厚度,精确至‰厘米。得结果如下:

机器1:0.236  0.238  0.248  0.245  0.243

机器2:0.257  0.253  0.255  0.254  0.261

机器3:0.258  0.264  0.259  0.267   0.262

检验各台机器所生产的薄板的厚度有无显著的差异?

解:

>> X=[0.236  0.238  0.248  0.245  0.243; 0.257  0.253  0.255  0.254  0.261;…

0.258  0.264  0.259  0.267  0.262];

>> P=anova1(X')

结果为:

P =

  1.3431e-005

还有两个图,即图4-22和图4-23。

     

图4-22                                                          图4-23

例4-85 建筑横梁强度的研究:3000磅力量作用在一英寸的横梁上来测量横梁的挠度,钢筋横梁的测试强度是:82  86  79  83  84  85  86  87;其余两种更贵的合金横梁强度测试为合金1:74  82  78  75  76  77;合金2:79  79  77  78  82  79]。

检验这些合金强度有无明显差异?

解:

>> strength = [82 86 79 83 84 85 86 87 74 82 78 75 76 77 79 79 77 78 82 79];

>>alloy = {'st','st','st','st','st','st','st','st', 'al1','al1','al1','al1','al1','al1',…

      'al2','al2','al2','al2','al2','al2'};

>> [p,table,stats] = anova1(strength,alloy,'on')

结果为

p =

 1.5264e-004

table =

   'Source'    'SS'          'df'    'MS'         'F'          'Prob>F'     

   'Groups'    [184.8000]    [ 2]    [92.4000]    [15.4000]    [1.5264e-004]

   'Error'     [102.0000]    [17]    [ 6.0000]          [ ]              [ ]

   'Total'     [286.8000]    [19]          [ ]          [ ]              [ ]

stats =

   gnames: {3x1 cell}

        n: [8 6 6]

   source: 'anova1'

    means: [84 77 79]

       df: 17

        s: 2.4495

   

图4-24                                                       图4-25

说明  p值显示,3种合金是明显不同的,盒图显示钢横梁的挠度大于另两种合金横梁的挠度。

4.9.2  双因素方差分析

函数  anova2

格式  p = anova2(X,reps)

p = anova2(X,reps,'displayopt')

[p,table] = anova2(…)

[p,table,stats] = anova2(…)

说明  执行平衡的双因素试验的方差分析来比较X中两个或多个列(行)的均值,不同列的数据表示因素A的差异,不同行的数据表示另一因素B的差异。如果行列对有多于一个的观察点,则变量reps指出每一单元观察点的数目,每一单元包含reps行,如:

reps=2

其余参数与单因素方差分析参数相似。

例4-86  一火箭使用了4种燃料,3种推进器作射程试验,每种燃料与每种推进器的组合各发射火箭2次,得到结果如下:

推进器(B)             B1          B2           B3

           A1       58.2000       56.2000       65.3000

                     52.6000       41.2000       60.8000

           A2       49.1000       54.1000       51.6000

燃料A              42.8000       50.5000       48.4000

           A3       60.1000       70.9000       39.2000

                    58.3000       73.2000       40.7000

           A4       75.8000       58.2000       48.7000

                    71.5000       51.0000       41.4000

考察推进器和燃料这两个因素对射程是否有显著的影响?

解:建立M文件

X=[58.2000       56.2000       65.3000

  52.6000       41.2000       60.8000

  49.1000       54.1000       51.6000

  42.8000       50.5000       48.4000

  60.1000       70.9000       39.2000

  58.3000       73.2000       40.7000

  75.8000       58.2000       48.7000

  71.5000       51.0000       41.4000];

P=anova2(X,2)

结果为:

P =

   0.0035    0.0260    0.0001

显示方差分析图为图4-26。

图4-26

 

 

 

你可能感兴趣的:(matlab)