MATLAB在概率统计中的应用.pdf
MATLABMATLABMATLABMATLAB 在概率统计中的应用在概率统计中的应用在概率统计中的应用在概率统计中的应用目录一 概率部分1.随机变量概率分布的概率计算以及数字特征21.1 随机变量概率分布的概率计算21.2 随机变量概率分布的数字特征7二 统计部分2数理统计的基础概念103.参数估计 114.假设检验165.一元线性回归分析 271随机变量概率分布的概率计算以及数字特征1.1随机变量概率分布的概率计算在 MATLAB 中列举了多种常见的概率分布,给出了这些概率分布的分布密度函数、分布函数、逆分布函数、随机数发生函数等等,在这一节中,主要研究的是常见概率分布的数字特征(数学期望,方差,协方差以及相关系数)和一些概率的计算MATLAB 中列举的离散型随机变量包括:离散均匀分布、二项分布、泊松分布、几何分布、超几何分布、负二项分布(Pascal 分布):连续型随机变量包括:连续均匀分布、指数分布、正态分布、对数正态分布、2分布、非中心2分布、t分布、非中心t分布、F分布、非中心F分布、分布、分布、Rayleigh 分布、Weibull 分布。下表是对这 20 种分布中的常见分布在 Matlab 中的应用的总结表一常见分布的密度函数在x处的值分布类型名称函数名称函数调用格式备注正态分布normpdfp=normpdf(X,MU,SIGMA)计算正态分布),(2N的密度函数在x处的值,其中参数 SIGMA 是,MU 是二项分布binopdfp=binopdf(x,n,p)均匀分布unifpdfp=unifpdf(x,a,b)计算均匀分布,baU的密度函数在x处的值几何分布geopdfp=geopdf(a,p)超 几 何 分布hygepdfp=hygepdf(x,m,k,n)指数分布exppdfp=exppdf(x,)计算指数分布的密度函数在x处的值泊松分布poisspdfp=poisspdf(x,)t分布tpdfp=tpdf(x,n)计算t分布的密度函数在x处的2分布chi2pdfp=chi2pdf(x,n)计算2分布的密度函数在x处的值F分布fpdfp=fpdf(x,n1,n2)计算F分布的密度函数在x处的值表二运用 matlab 计算常见分布的分布函数分布类型名称函数名称函数调用格式以及意义备注正态分布normcdfp=normcdf(x,mu,sigma)计算服从正态分布的随机变量落在,(x的概率,其中 mu 是参数,sigma 是参数若),(2NX,计算xXP可用p1=normcdf(x,mu,sigma)p=1-p1若),(2NX,计算xXPx21可用p1=normcdf(x1,mu,sigma)1p2=normcdf(x2,mu,sigma)1p=p2-p11或者 p=normspec(x1x2,mu,sigma)二项分布binocdfp=binocdf(x,n,p)计算服从二项分布的随机变量落在,(x的概率若求)(xP则 p=1-binocdf(x,n,p)若求)(xP则 p=1-binocdf(x-1,n,p)均匀分布unifcdfY=unifcdf(x,a,b计算服从均匀分布的随机变量落在,(x的概率若,baUX,计算xXP可用p1=unifcdf(x,a,b)p=1-p1若,baUX,计算xXPx21可用p1=normcdf(x1,a,b)p2=normcdf(x2,a,b)p=p2-p1几何分布geocdfp=geocdf(a,p)计算服从几何分布的随机变量落在,(x的概率若求)(xP则 p=1-geocdf(k,p)若求)(xP则 p=1-geocdf(k-1,p)超 几 何 分布hygecdfp=hygecdf(x,m,k,n)计算服从超几何分布的随机变量落在,(x的概率若求)(xP则 p=1-hygecdf(x,m,k,n)若求)(xP则 p=1-hygecdf(x,m,k,n)指数分布expcdfY=expcdf(x,)计算服从指数分布的随机变量落在,(x的概率若 X 服从参数为的指数分布,计算xXP可用p1=unifcdf(x,)p=1-p1若 X 服从参数为的指数分布,计算xXPx21可用p1=normcdf(x1,)p2=normcdf(x2,)p=p2-p1泊松分布poisscdfp=poisscdf(x,)计算服从泊松分布的随机变量落在,(x的概率若求)(xP则 p=1-poisscdf(x,m,k,n)若求)(xP则 p=1-poisscdf(x,m,k,n)t分布tcdfY=tcdf(x,n)计算服从t分布的随机变量落在,(x的概率若 X服从自由度为 n的 t 分布,计算xXP可用p1=chi2cdf(x,n)p=1-p1若 X 服从自由度为 n 的 t 分布,计算xXPx21可用p1=chi2cdf(x,n)p=1-p1若 X 服从自由度为 n 的2分布,计算xXPx21可用p1=fcdf(x,n),p=1-p1若 X 服从自由度为(n1,n2)的 F 分布,计算Px1X p=normpdf(2,3,1.5)p=0.2130所以X的密度函数在x=2 是的值是 0.2130(2)令 p1=1 p1=normcdf(1,3,1.5)结果:p1=0.0912令 p2=31 p=normcdf(1,3,1.5);q=normcdf(3,3,1.5);p2=q-p结果:p2=0.4088方法二:p2=normspec(1,3,3,1.5)结果:p2=0.40879Critical Value 即临界值Density 即密度图中蓝色部分表示随机变量)5.1,3(2NX,变量X在1.5,3的概率为 0.48079由蓝色曲线与横轴围成的部分的概率为 1令 p3=24xP,因此 p3=241xP=621xPp3=1-normcdf(6,3,1.5)+normcdf(2,3,1.5)结果:p3=0.2752或者 p3=1-normspec(2,6,3,1.5)结果:p3=0.2752例 2:生产某种产品的废品率为 0.1,抽取 20 件产品,初步检查已发现有 2 件废品,问这20 件中,废品不少于 3 件的概率。4解:设抽取 20 件产品中废品的个数为,则)1.0,20(B,由于初步检查已发现有 2 件废品,说明已知 20 件产品中废品数2,因此是求在给定2的条件概率于是2322,32|3=PPPPP令 P=2|3P p=(1-binocdf(3,20,0.1)/(1-binocdf(2,20,0.1)结果:p=0.4115例 3:某人进行射击试验,假定在 300 米处向目标射击的命中率为 0.02,现独立射击 500次,问至少命中 3 发的概率是多少?4解:将每次射击视为一次试验 E,500 次射击相当于作 500 重 Bernouli 试验 E500.用表示E500 击 中 目 标 的 次 数,依 题 意,服 从 参 数 为 n=500,p=0.02 的 二 项 分 布)02.0,500,(xb,于是,所求概率为)2()1()0(1)2(1)3(=PPPPP由于 n 足够大,p 足够小,所以可以用泊松分布近似,10,500,02.0=npnp在 matlab 中的实现程序为:p=1-poisspdf(0,10)-poisspdf(1,10)-poisspdf(2,10)结果:p=0.9972所以)3(P0.9972例 4:修理某机器所需时间(单位:小时)服从参数=0.5 指数分布,试求(1)修理时间超过 2 小时的概率是多少?(2)若已经持续修理了 9 小时,问还需要至少一小时才能修好的概率是多少?4解:(1)表示修理时间,服从参数=0.5 指数分布,实际是求212=Pp程序如下:p=1-expcdf(2,0.5)结果:p=0.0183(3)由指数分布的无记忆性可知)1(1)1()9|91(=+PPP程序如下:p=1-expcdf(1,0.5)结果:p=0.1353例 5:设随机变量服从5,0U上均匀分布,问方程,02442=+xx有两个不同的实数根的概率是多少?解:,02442=+xx有两个不同的实数根,则(),0216162+=则1P(有两个不同的实数根)=p(1)=1+p(1 p=1+unifcdf(-1,0,5)-unifcdf(2,0,5)结果:p=0.6000所以有两个不同实数根的概率是 0.61.2随机变量概率分布的数字特征随机变量的分布函数完整地描述了随机变量的统计特征,但在实际问题中,常常不容易求出分布函数,而许多时候只是需要知道它的某些特征就足够了,例如期望,方差,协方差以及分位数等,在 MATLAB6.5 的工具箱中提供了求 20 种分布的数字特征的函数,以下是对本科中常见的 10 中分布进行归纳总结以及对 MATLAB 程序的纠正,对于求一般的概率分布期望与方差则用其定义进行求解表一:常见 10 种分布的数学期望与方差分布类型名称函数名称函数调用格式备注正态分布normstatM,V=normstat(MU,SIGMA)(1)M 是期望,V 是方差2,不是标准方差,指数分布的期望为-1,方差为-2,在 MATLAB 中的 expstate.m 的程序中有错误:应将 m=mu,v=mu.2 改为v=mu.-2;这里的 m 表示期望,v 表示方差,mu 表示参数(2)如果变量i,ni,.,3,2,1=相互独立则=niiniiEE11,=niiniiDD11=niiniiEE11(3)如果只是单独求期望或者方差,下面举例说明:二项分布binostatM,V=binostat(n,p)均匀分布unifstatM,V=unifstat(a,b)几何分布geostatM,V=geostat(p)超 几 何 分布hygestathygestat(m,k,n)指数分布expstatM,V=expstat()泊松分布poisstatp=poisstat()t分布tstatM,V=tstat(n)2分布chi2statM V=chi2stat(5)求正态分布的均值:M=normstat(MU,SIGMA)求正态分布的方差:V=normstat(MU,SIGMA)对于其他分布调用格式类似F分布fstatp=fstat(n1,n2)例 3:计算服从均匀分布4,2U的方差与期望在 MATLAB 中实现为:M,V=unifstat(2,4)结果:M=3,V=0.3333例 4:计算服从参数=0.5 的指数分布的方差与期望 M,V=expstat(0.5)结果:M=2,V=4例 5:设随机变量();9,4;1,1(,rN,求)12(+E解:由边缘分布可知)4,1(N,)9,1(N12)12(+=+EEEM1=normstat(1,2);M2=normstat(1,3);E=M1-2*M2+1结果 E=0例 6:设随机变量服从区间21,21上均匀分布,求=的数学期望解:因为服从区间21,21上均匀分布,所以服从区间2,2上均匀分布,所以 M=unifstat(-pi/2,pi/2)结果 M=0,所以=的数学期望是 0表二:常见 10 种分布的 p 分位数分布类型名称函数名称函数调用格式正态分布norminvxp=normminv(p,mu,sigma)二项分布binoinvxp=binoinv(p,n,p1)均匀分布unifinvxp=normminv(a,b)几何分布geoinvxp=geoniv(k,p)k=0,1,2超 几 何 分布hygeinvxp=hygeinv(p,m,k,n)指数分布expinvxp=expinv()泊松分布poissinvxp=poissinv()t分布tinvxp=tinv(n)2分布chi2invxp=chi2inv(n)F分布fstatxp=finv(n1,n2)例 7:某工厂生产的产品中废品率为 0.005,任意取出 1000 件,计算(1)其中至少 2 件废品的概率:(2)其中不超过 5 件废品的概率(3)能以 0.9 以上的概率保证废品件数不超过多少?解:用 x 表示取出的 1000 件中的废品数,则 X 近似服从二项分布 B(1000,0.005)(1)所求概率为11212=p1=1-binocdf(1,1000,0.005)结果 p1=0.9599所以其中至少 2 件废品的概率是 0.9559(2)所求概率为5 xP p2=binocdf(5,1000,0.005)结果 p2=0.6160(3)由题意,求 n,使 PX=0.9,我们只求 n 满足 PX n=binoinv(0.9,1000,0.005)结果 n=8所以能以 0.9 以上的概率保证废品数不超过 8 件2数理统计的基础概念2.1总体与样本在统计学中把研究的对象全体称为全体,确切地说,应该是这些对象的某个或某些指标值全体称为总体,为了了解总体的分布,从总体中抽取n个个体,记其指标值为nxxx,.,21,称nxxx,.,21为总体的一个样本,n为样本的大小或容量利用 MATLAB 数理统计工具箱中的函数可以直接计算样本的均值,方差以及其他数字特征表一:MATLAB 中计算样本的数字特征的函数数字特征调用函数备注样本平均值M=mean(X)若X为向量,返回X中各元素的平均值若X为矩阵,返回X中各列元素的平均值构成的向量中位数N=median(X)若X为向量,返回X中各元素的平均值若X为矩阵,返回X中各列元素的平均值构成的向量样本方差D=var(X)var(X)=niiXxn12)(11若X为向量,则返回向量的样本方差。若X为矩阵,则 D 为X的列向量的样本方差构成的行向量样本标准方差D=std(X)返回向量(矩阵)X 的样本标准差(置前因子为1n1)即:=n1iiXx1n1std协方差C=cov(X)返回向量X的协方差相关系数P=corrcoef(X,Y)返回列向量X,Y的相关系数,等同于corrcoef(XY)众数hist(x,k)hist(x,nb)n,x=hist(x,k)n,x=hist(x,nb)众数通常是从频数直方图上近似看出来,因此求众数调用的是画直方图的函数,其中x是由数据组成的向量,参数k表示将区间k等分,默认值为 10,参数nb为事先给出的小区间的区间图,命令 1 和 2 能画直方图,命令 3 和 4 不画出直方图,其输出参数n为落入每个小区间的频数,x为区间的中点例子 8:统计某班 30 人某门课程某次考试成绩的分布情况,考试成绩为93 75 83 93 91 85 84 82 77 76 95 94 89 91 88 86 83 96 81 7997 78 75 67 69 68 84 83 81 75 66 85 70 94 83 82 80 78 74 7376 70 86 76 90 89 71 66 86 73 80 84 79 78 77 63 53 55求平均成绩与成绩的中位数以及方差和标准差和众数5解:x=93 75 83 93 91 85 84 82 77 76 95 94 89 91 88 86 83 96 81 79.97 78 75 67 69 68 84 83 81 75 66 85 70 94 83 82 80 78 74 73.76 70 86 76 90 89 71 66 86 73 80 84 79 78 77 63 53 55;M=mean(x)N=median(x)D1=var(x)D2=std(x)hist(x,4)结果:M=79.9138N=80.5000D1=94.0100D2=9.6959所以平均成绩是 79.9138,成绩中位数是 80.5000,方差是 94.0100,标准差是 9.6959从直方图中可以近似看出众数为 803参数估计3.1 矩估计设总体X具有分布函数);(xF,为p维待估参数,X的k阶中心矩为kkXEXEm)(=,样本nXXX,.,21的k阶中心矩为kniikXXnA=1)(1,样本的 k 阶中心矩的计算可用函数moment,其调用格式是B=moment(X,k)当1=p时,由XXE=)(求出的矩估计,其中样本均值X可用函数mean(X)计算当1p时,令pkAmXXEkk,.3,2,)()(=解此方程组,即可得到的矩估计例 9:设变量X服从区间,0上的均匀分布,即分布函数为其他=xxp0,0,1);(现得样本值为 1.3,0.6,1.7,2.2,0.3,1.1,试用矩估计法求参数的估计解:dxxXEX=01)(Syms x;Syms sita;y=int(x./sita,0,sita)(求dxx01的值,其中记为 sita)结果:y=1/2*sita,所以2110=dxx X=1.3 0.6 1.7 2.2 0.3 1.1;mean(X)结果:ans=1.2000所以X=1.2,所以2.121=,所以4.2=例 10:已知某种灯泡的寿命(单位:h)服从正态分布,在某周所生产的该种灯泡中随机抽取10 只,测得其寿命为 1067,919,1196,785,1126,936,918,1156,920,948.设总体参数为都未知,试用矩估计求出参数,的估计值解:pkDXXEXEXXE,.3,2,)()(2=pkDXX,.3,2,2=X=1067 919 1196 785 1126 936 918 1156 920 948;mean(X)%求样本均值var(X)%求样本方差结果:ans=997.1000ans=1.7305e+004 sqrt(1.7305e+004)%求样本均方差结果ans=131.5485所以=997.1000,=131.54853.2 极大似然估计与区间估计在 MATLAB 中,这两种估计可同时给出,对于二项分布,泊松分布,正态分布,分布,分布,均匀分布,指数分布,威布尔分布在 MATLAB 中可将这些分布的分布命令字符和函数命令字符 fit 连接起来(除均匀分布连接后为 unifit),得到这些分布中参数的极大似然估计值以及置信水平为1的置信区间.表一:MATLAB 中求极大似然估计与区间估计的函数调用格式分布名称函数及其调用格式函数功能以及参数的解释二项分布phat,pci=binofit(x,n,alpha)参数 p 的 MLE 以及置信区间输出参数phat和pci分别表示p的MLE,以及置信区间泊松分布lambdahat,lambdaci=poissfit(x,alpha)参数的 MLE 以及置信区间,输出参数lambdahat 和 lambdaci 分别表示lambda(即)的 MLE,以及置信区间正态分布未知muhat,sigmahat,muci,sigmaci=normfit(x,alpha)(1)参数,的 MLE 以及置信区间,输出参数 muhat 和 muci 分别表示的MLE以及置信区间,sigmahat和sigmaci分别表示MLE 以及置信区间(2)在使用中发现 MATLAB6.5 的normfit.m 程序中求的极大似然估计公式用错了,它的原句是singmahat=std(x)更正方法为在此 M 文件的最后一定要加上语句:singmahat=sqrt(moment(x,2)2已知muci=normfit1(x,sigma,alpha)均匀分布ahat,bhat,aci,bci=unifit(x,alpha)参数 a 和 b 的 MLE 以及置信区间,输出参数 ahat 和 aci 分别表示 a 的 MLE以及置信区间,bhat 和 bci 分别表示 b的 MLE 以及置信区间指数分布muhat,muci=expfit(x,alpha)参数的 MLE 以及置信区间输出参数 muhat 和 muci 分别表示 mu即的 MLE 以及置信区间分布phat,pci=gamfit(x,alpha,options)参数 a 和 b 的 MLE 以及置信区间,输出参数 phat 和 pci 分别表示 p 的 MLE,以及置信区间威布尔分布phat,pci=weibfit(data,alpha)参数 a 和 b 的 MLE 以及置信区间,输出参数 phat 和 pci 分别表示 p 的 MLE,以及置信区间注:normfit1 的程序编写function muci=normfit1(x,sigma,alpha)if nargin x=6.683 6.681 6.676 6.678 6.679 6.672;muhat,sigmahat,muci,sigmaci=normfit(x)结果:muhat=6.6782,sigmahat=0.0035,muci=6.6741 6.6822,sigmaci=0.00240.0095所以的极大似然估计值为 6.6782,置信区间是6.6741,6.6822,的极大似然估计值为0.0035,置信区间是0.0024,0.0095对常见的 20种分布,也可以用函数 mle求参数的极大似然估计值以及 1-的置信区间,命令是:phat,pci=mle(dist,x,alpha)函数中输入dist为函数分布的命令字符如 norm 即表示正态分布,输入参数 x 的样本数据向量,输入参数 alpha 的默认值为 0.05,注意对于二项分布,命令为phat,pci=mle(dist,x,alpha,n)其中 n 表示试验次数对于上述例题的数据,若用 mle 函数计算 x=6.683 6.681 6.676 6.678 6.679 6.672;phat,pci=mle(norm,x,0.05)结果:phat=6.67820.0035pci=6.67510.00086.68120.0063所以的极大似然估计值为 6.6782,置信区间是6.6751,6.6812,的极大似然估计值为0.0035,置信区间是0.0008,0.0063例 12:随机地从一批钉子中抽取 16 枚,测得其长度(单位:cm)为 2.14,2.10,2.13,2.15,2.13,2.10,2.15,2.12,2.14,2.10,2.13,2.11,2.14,2.11.设钉长分布为正态的,试求总体均值的 90%置信区间:(1)若未知(2)若已知=0.01cm4解:(1)x=2.14 2.10 2.13 2.15 2.13 2.12 2.13 2.10 2.15 2.12 2.14 2.10 2.13 2.112.14 2.11;muhat,sigmahat,muci,sigmaci=normfit(x,0.1)结果:muhat=2.1250,sigmahat=0.0166,muci=2.11752.1325,sigmaci=0.01330.0246所以总体均值的 90%置信区间是2.1175,2.1325(2)解:x=2.14 2.10 2.13 2.15 2.13 2.12 2.13 2.10 2.15 2.12 2.14 2.10 2.13 2.112.14 2.11;muci=normfit1(x,0.01,0.1)结果:muci=2.12912.1209所以若已知=0.01cm,总体均值的 90%置信区间是2.1291,2.12094假设检验4.1正态分布的参数假设检验正态分布的参数检验包括2已知时,单个正态总体的均值的假设检验(U 检验法),2未知,单个正态总体的均值的假设检验(t 检验法),21,未知,但21=时,两个正态总体均值的估计,未知,单个正态总体方差的检验,均值未知时,两个正态总体方差的假设检验,在 MTLAB 中只提供了前面三种的假设检验,但通过自己编程实现了后面两种情况的检验表一:单个正态分布的参数假设检验在 MTLAB 中的实现检验参数提前条件函数调用格式备注均值2已知h,p,ci,zval=ztest(x,m,sigma,alpha,tail)p 为观察值的概率,当 p 为小概率时则对原假设提出质疑,ci 为真正均值的1-alpha 置信区间,zval 为统计量的值,sigma 为已知的标准差,(1)原假设:m:H00=(2)若 h=0,表示在显著性水平alpha 下,不能拒绝原假设;若 h=1,表示在显著性水平 alpha下,可以拒绝原假设。(3)若 tail=0,表示备择假设:m:H01=(双边检验);若 tail=1,表示备择假设:m:H01=(单边检验);若 tail=-1,表示备择假设:m:H01=(单边检验)。2未知h,p,ci,stats=ttest(x,m,alpha,tail)p 为观察值的概率,当 p 为小概率时则对原假设提出质疑,ci 为真正均值的1-alpha 置信区间,stats 为“tstat”的检验统计量 T 的值及名为“df”的 T 统计量所服从的 t 分布的自由度方差未知h,c,c1=chitest(x,b,a,tail)x 为样本数据,a 为显著性水平,b 为正态分布的标准方差注:未知,单个正态总体方差的检验3function h,c,c1=chitest(X,b,a,tail)%单个个正态总体方差的检验(卡方检验)%调用格式:h,c,c1=chitest(X,b,a,tail)%X 样本,a 为显著性水平,b 为正态分布的标准方差%TAIL must be both,right,or left,or 0,1,or-1.%应用数理统计(叶慈南编)p119.if nargin3 tail=0;endif nargin2 a=0.05;endn=length(X);c=(n-1)*var(X)/(b2);if tail=0%two-tailed testc1=chi2inv(a/2,n-1);c2=chi2inv(1-a/2,n-1);if(c=c1)|(c=c1h=1;elseh=0;endelseif tail=-1%left one-tailed testc1=chi2inv(a,n-1);if c 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.0248ci=0.5014 0.5210,zval=2.2444结果表明:h=1,说明在水平05.0=下,可拒绝原假设,即认为包装机工作不正常。例 14.某种电子元件的寿命 X(以小时计)服从正态分布,、2均未知。现测得 16 只元件的寿命如下159280101212224379179264222362168250149260485170问是否有理由认为元件的平均寿命大于 225(小时)?解:未知2,在水平05.0=下检验假设:0H:2250=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.2570ci=198.2321Inf结果表明:H=0 表示在水平05.0=下应该接受原假设0H,即认为元件的平均寿命不大于225 小时。例题 15:在正常生产情况下,印花棉布布幅的宽度服从标准方差为 0.0048 的正态分布,某日选取该种棉布 5 匹,测得布幅宽度为 1.32,1.55,1.36,1.40,1.44,问该日印花棉布布幅宽度的标准差是否正常?(取=0.05)解:H0:0048.0=,H1:0048.0 x=1.32 1.55 1.36 1.40 1.44;h,c,c1=chitest(X,0.0048,0.05,0)结果:h=0,c=6.7597e+009,c1=2.7004所以,在05.0=下,接受原假设,该日印花棉布布幅宽度的标准差正常表二:双总体正态分布的方差检验在 MTLAB 中的实现检验参数提前条件函数调用格式备注均值21,未知,但21=h,p,ci,stats=ttest2(X,Y,alpha,tail)当 p 为小概率时则对原假设提出质疑,ci 为真正均值的 1-alpha置信区间。stats 为“tstat”的检验统计量 T 的值及名为“df”的 T 统计量所服从的 t 分布的自由度原假设:210:H=,(1为 X 为期望值,2为 Y 的期望值)若 h=0,表示在显著性水平alpha 下,不能拒绝原假设;若 h=1,表示在显著性水平alpha 下,可以拒绝原假设。若 tail=0,表示备择假设:211:H(双边检验);若 tail=1,表示备择假设:211:H(单边检验);若 tail=-1,表示备择假设:211:H(单边检验)。方差未知h,f,f1=ftest0(X,Y,a,tail)X,Y 为样本,a 为显著性水平注:函数 ftest0 的程序编写如下:function h,f,f1=ftest0(X,Y,a,tail)%两个正态总体方差的检验(F 检验)%调用格式:h,f,f1=ftest0(X,Y,a,tail):应用数理统计(叶慈南编)p122.%X,Y 为样本,a 为显著性水平if nargin4 tail=0;endif nargin3 a=0.05;endn1=length(X);n2=length(Y);f=var(X)/var(Y);if tail=0%two-tailed testf1=finv(1-a/2,n1-1,n2-1);f2=finv(a/2,n1-1,n2-1);if(f1=f)|(f=f2)h=1;elseh=0;endelseif tail=1%right one-tailed testf1=finv(1-a,n1-1,n2-1);if f=f1h=1;elseh=0;endelseif tail=-1%left one-tailed testf1=finv(a,n1-1,n2-1);if f X=78.172.476.274.377.478.476.075.576.777.3;Y=79.181.077.379.180.079.179.177.380.282.1;h,f,f1=ftest0(X,Y,0.05,0)结果:h=0,f=1.4945,f1=4.0260因为 h=0,所以接受原假设21=在水平05.0=下检验假设:0H:21=,1H:21 X=78.172.476.274.377.478.476.075.576.777.3;Y=79.181.077.379.180.079.179.177.380.282.1;h,p,ci,stats=ttest2(X,Y,0.05,-1)结果:h=1,p=2.1759e-004,ci=-Inf-1.9083,stats=tstat:-4.295df:18结果表明:H=1 表示在水平05.0=下,应该拒绝原假设,即认为建议的新操作方法提高了产率,因此,比原方法好。4.3 分布的检验随机变量的分布完全描述了随机现象的规律,因此,确定随机现象的分布十分重要,对于分布的检验,主要讨论两大类,第一类是理论分布完全已知且只取有限个值的情形,第二类是理论分布含有未知参数且只取有限个值的情形,这里讨论的理论分布是泊松分布以及正态,对于正态分布的检验,可以运用 matlab 中 kstest.m 函数,调用格式为:H,pValue,KSstatistic,criticalValue=kstest(x,CDF,alpha,tail)说明:(1)原假设为具有相同连续分布.测试结果为 H,若 H=0,表示应接受原假设;若 H=1,表示可以拒绝原假设(2)P 为假设成立的概率,KSstatistic 为测试统计量的值,tail=1对于第一类的情形,主要采用2分布,利用皮尔逊定理,自己编出检验的程序程序如下:function s1,s2=possion(a,b,c,d,n,alpha)t1=dot(a,b)./n;r=size(c);t2=poisspdf(0,t1)poisspdf(1,t1)poisspdf(2,t1)poisspdf(3,t1)poisspdf(4,t1)poisspdf(5,t1)1-poisscdf(5,t1);s1=sum(d-n.*t2).2./(n.*t2);s2=chi2inv(1-alpha,r-1-1);if s1s2disp(该数据源不服从泊松分布。)elsedisp(该数据源服从泊松分布。)end说明:(1)程序还不都完善,程序中的 t2 需要根据不同的数据进行调整(2)在计算数据是否服从已知分布时可以先用作图函数 cdfplot 将数据的分布图画出.例 17:根据近 63 年的观测资料,上海每年夏季(5 月至 9 月)发生暴雨的天数如下:暴雨天数0123456789年份数4814191042110试问上海每年夏季发生暴雨的天数是否服从泊松分布)05.0(=4解:A=0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 7 8;cdfplot(A)a=0 1 2 3 4 5 6 7 8 9;b=4 8 14 19 10 4 2 1 1 0;c=0 1 2 3 4 5 6;d=4 8 14 19 10 4 4;n=63;alpha=0.05;s1,s2=possion(a,b,c,d,n,alpha)结果:该数据源服从泊松分布。s1=2.9090s2=NaN11.0705所以上海每年夏季发生暴雨的天数是否服从泊松分布例 18:某厂生产灯泡,检验光通量(单位:流明)是否服从正态分布)05.0(=今测得120=n个灯泡,数据如下:216 203 197 208 206 209 206 208 202 203206 213 218 207 208 202 194 203 213 211193 213 208 208 204 206 204 206 208 209213 203 206 207 196 201 208 207 213 208210 208 211 211 214 220 211 203 216 224211 209 218 214 219 211 208 221 211 218218 190 219 211 208 199 214 207 207 214206 217 214 201 212 213 211 212 216 206210 216 204 221 208 209 214 214 199 204211 201 216 211 209 208 209 202 211 207202 205 206 216 206 213 206 207 200 198200 202 203 208 216 206 222 213 209 219解:A=216 203 197 208 206 209 206 208 202 203(把 A 的数据以向量的形式输入)cdfplot(A)h,p,k,c=kstest(A,0.05,1)结果:h=0p=1k=0c=0.1103所以检验光通量(单位:流明)服从正态分布4.2 独立性检验在 MATLAB 中没有实现独立性检验的程序,通过用列联表的方法进行独立性检验,编程如下:function chi2,chi21,h,ni,nj=indenpendencetest0(nij,alpha)%调用格式:chi2,chi21,h=indenpendencetest0(nij,alpha)%Author:Ji Lin,2007if nargin=chi21h=X 与 Y 有关;elseh=X 与 Y 独立;end函数调用格式:chi2,chi21,h=indenpendencetest0(nij,alpha)例 19:对 150 人进行生活满意程度与其婚姻状况的调查,结果如下:已婚丧偶很满意2210较满意1922一般1136不满意822问二者是否有关系(05.0=)?4解:H0:生活满意程度与婚姻状况无关H1:生活满意程度