概率论与数理统计 第二讲 随机数的产生数据的统计描述(精品).ppt
概率论与数理统计实验概率论与数理统计实验实验实验2 2 随机数的产生随机数的产生 数据的统计描述数据的统计描述实验目的实验目的实验内容实验内容学习随机数的产生方法学习随机数的产生方法直观了解统计描述的基本内容。直观了解统计描述的基本内容。2 2、统计的基本概念。、统计的基本概念。4、计算实例。、计算实例。3、计算统计描述的命令。、计算统计描述的命令。1 1、随机数的产生随机数的产生 在在MatlabMatlab软件中,可以直接产生满足各种常用软件中,可以直接产生满足各种常用分布的随机数,命令如下:分布的随机数,命令如下:一、随机数的产生一、随机数的产生10常用分布随机数的产生常用分布随机数的产生定义:设随机变量定义:设随机变量XF(x),则称随机变量则称随机变量X的的抽样序列抽样序列Xi为分布为分布F(x)的随机数的随机数函数名 对应分布的随机数binornd二项分布的随机数chi2rnd卡方分布的随机数exprnd指数分布的随机数frndf分布的随机数gamrnd伽玛分布的随机数geornd几何分布的随机数hygernd超几何分布的随机数normrnd正态分布的随机数poissrnd泊松分布的随机数trnd学生氏t分布的随机数unidrnd离散均匀分布的随机数unifrnd连续均匀分布的随机数调用格式:调用格式:1、y=random(name,A1,A2,A3,m,n)其中:其中:name为相应分布的名称,为相应分布的名称,A1,A2,A3为分布为分布参数,参数,m为产生随机数的行数,为产生随机数的行数,n为列数。为列数。2、直接调用。、直接调用。如:如:y=binornd(n,p,1,10)产生参数位产生参数位n,p的的1行行10列的二项分布随机数列的二项分布随机数 当只知道一个随机变量取值在当只知道一个随机变量取值在(a,b)内,但不内,但不知道(也没理由假设)它在何处取值的概率大,在知道(也没理由假设)它在何处取值的概率大,在何处取值的概率小,就只好用何处取值的概率小,就只好用U(a,b)来模拟它。来模拟它。1、均匀分布、均匀分布U(a,b)1)unifrnd(a,b)产生一个产生一个a,b 均匀分布的随机数均匀分布的随机数2)unifrnd(a,b,m,n)产生产生m行行n列的均匀分布随机数矩阵列的均匀分布随机数矩阵例例1、产生、产生U(2,8)上的一个随机数,上的一个随机数,10个随机数,个随机数,2行行5列的随机数。列的随机数。命令:命令:(1)y1=unifrnd(2,8)(2)y2=unifrnd(2,8,1,10)(3)y3=unifrnd(2,8,2,5)y1=7.7008y2=3.3868 5.6411 4.9159 7.3478 6.5726 4.7388 2.1110 6.9284 4.6682 5.6926y3=6.7516 6.4292 4.4342 7.5014 7.3619;7.5309 3.0576 7.6128 4.4616 2.34732、正态分布随机数、正态分布随机数例例2、产生、产生N(10,4)上的一个随机数,上的一个随机数,10个随机数,个随机数,2行行5列的随机数列的随机数.命令命令(1)y1=normrnd(10,2)(2)y2=normrnd(10,2,1,10)(3)y3=normrnd(10,2,2,5)1)R=normrnd(,):产生一个正态分布随机数产生一个正态分布随机数2)R=normrnd(,m,n)产生产生m行行n列的正态分布随机数列的正态分布随机数 当研究对象视为大量相互独立的随机变量之和,当研究对象视为大量相互独立的随机变量之和,且其中每一种变量对总和的影响都很小时,可以认且其中每一种变量对总和的影响都很小时,可以认为该对象服从正态分布。为该对象服从正态分布。机械加工得到的零件尺寸的偏差、射击命中点机械加工得到的零件尺寸的偏差、射击命中点与目标的偏差、各种测量误差、人的身高、体重等,与目标的偏差、各种测量误差、人的身高、体重等,都可近似看成服从正态分布。都可近似看成服从正态分布。3、指数分布随机数、指数分布随机数例例3、产生、产生E(0.1)上的一个随机数,上的一个随机数,20个随机数,个随机数,2行行6列的随机数。列的随机数。命令命令(1)y1=exprnd(0.1)(2)y2=exprnd(0.1,1,20)(3)y3=exprnd(0.1,2,6)1)R=exprnd():产生一个指数分布随机数:产生一个指数分布随机数2)R=exprnd(,m,n)产生产生m行行n列的指数分布随机数列的指数分布随机数结果结果(1)y1=0.0051(2)y2=0.1465 0.0499 0.0722 0.0115 0.0272 0.0784 0.3990 0.0197 0.0810 0.0485 0.0233(3)y3=0.1042 0.4619 0.1596 0.0505 0.1615 0.0292;0.0207 0.1974 0.1616 0.1301 0.4182 0.0809排队服务系统中顾客到达率为常数时的到达间隔、排队服务系统中顾客到达率为常数时的到达间隔、故障率为常数时零件的寿命都服从指数分布。故障率为常数时零件的寿命都服从指数分布。指数分布在排队论、可靠性分析中有广泛应用。指数分布在排队论、可靠性分析中有广泛应用。例例 顾客到达某商店的间隔时间服从参数为顾客到达某商店的间隔时间服从参数为0.1的指的指数分布数分布 指数分布的均值为指数分布的均值为1/0.1=10。指两个顾客到达商店的平均间隔时间是指两个顾客到达商店的平均间隔时间是10个个单位时间单位时间.即平均即平均10个单位时间到达个单位时间到达1 1个顾客个顾客.顾顾客到达的间隔时间可用客到达的间隔时间可用exprnd(10)模拟。模拟。4、二项分布随机数、二项分布随机数例例4、产生、产生B(10,0.8)上的一个随机数,上的一个随机数,15个随机数,个随机数,3行行6列的随机数。列的随机数。命令命令(1)y1=binornd(10,0.8)(2)y2=binornd(10,0.8,1,15)(3)y3=binornd(10,0.8,3,6)1)R=binornd(n,p):产生一个二项分布随机数:产生一个二项分布随机数2)2)R=binornd(n,p,m,n)产生产生m行行n列的二项分布随机数列的二项分布随机数20、其他分布随机数的产生方法、其他分布随机数的产生方法定理定理 设设X的分布函数为的分布函数为F(x),连续且严格单调上升,连续且严格单调上升,它的反函数存在,且记为它的反函数存在,且记为F-1(x),则则 F(X)U(0,1)若随机变量若随机变量UU(0,1),则则F-1(U)的分布函数为的分布函数为F(x)。此定理给出的构造分布函数为此定理给出的构造分布函数为F(x)的随机的随机数的产生方法为:数的产生方法为:取取U(0,1)随机数随机数Ui,(i=1,2),令令Xi=F-1(Ui),则则Xi,(i=1,2),就是就是F(x)随机数,如果随机数,如果Ui独立,则独立,则Xi也互相独立。也互相独立。(一)直接抽样法(反函数法)(一)直接抽样法(反函数法)(1 1)连续分布的直接抽样法)连续分布的直接抽样法设连续型随机变量设连续型随机变量X的分布函数为的分布函数为F(x),则产生随机数的方法为:则产生随机数的方法为:取取U(0,1)随机数随机数Ui,(i=1,2),令令Xi=F(Ui),则则Xi,(i=1,2),就是就是F(x)随机数,如果随机数,如果Ui独立,则独立,则Xi也互也互相独立。相独立。设分布律为设分布律为P(X=xi)=pi,i=1,2,.,其分布函数为,其分布函数为F(x)(2 2)离散分布的直接抽样法)离散分布的直接抽样法 产生均匀随机数产生均匀随机数R,即,即RU(0,1)则则XF(x)(二)变换抽样法(二)变换抽样法(三)值序抽样法(三)值序抽样法(四)舍选抽样法(四)舍选抽样法(五)复合抽样法(合成法)(五)复合抽样法(合成法)(六)近似抽样法(六)近似抽样法详见:高惠璇详见:高惠璇 北京大学出版社北京大学出版社统计计算统计计算例例5、设设X分布分布函数为函数为解:解:Y的分布函数为的分布函数为其反函数为其反函数为生成生成n=20的的1行行10列随机数列随机数命令:命令:U=unifrnd(0,1,1,10);Y=1-(1-U).(1/20);设设则则例例6 生成单位圆上均匀分布的生成单位圆上均匀分布的1行行10000列随机数,并列随机数,并画经验分布函数曲线。画经验分布函数曲线。Randnum=unifrnd(0,2*pi,1,10000);%(0,2pi)上均匀分布随机数上均匀分布随机数xRandnum=cos(Randnum);%横坐标横坐标yRandnum=sin(Randnum);%丛坐标丛坐标plot(xRandnum,yRandnum);例例6 频率的稳定性频率的稳定性1、事件的频率事件的频率 在一组不变的条件下,重复作在一组不变的条件下,重复作n次试验次试验,记记m是是n次试验中事件次试验中事件A发生的次数。发生的次数。频率频率 f=m/n 2.频率的稳定性频率的稳定性 在重复试验中,事件在重复试验中,事件A的频率总在一个定值附近摆动,的频率总在一个定值附近摆动,而且,随着重复试验次数的增加,频率的摆动幅度而且,随着重复试验次数的增加,频率的摆动幅度越来越小,呈现出一定的稳定性越来越小,呈现出一定的稳定性.掷一枚硬币,记录掷硬币试验中频率掷一枚硬币,记录掷硬币试验中频率P*的波动情况。的波动情况。(1)(1)模拟产生模拟产生n个个0-1分布随机数分布随机数randnum(n)(2)(2)对模拟产生的随机数,对模拟产生的随机数,xrandnum(i)表示表示第第i次试验的结果,次试验的结果,1表示正面向上,表示正面向上,0 0表示反表示反面向上。面向上。(3)(3)统计前统计前i次试验中正面向上的次数,次试验中正面向上的次数,并计算频率并计算频率(4 4)作图)作图(关于频率和试验次数的图像)关于频率和试验次数的图像)p为为正面向上的概率,正面向上的概率,n为试验次数为试验次数在在Matlab中编辑中编辑.m文件输入以下命令:文件输入以下命令:function binomoni(p,n)pro=zeros(1,n);%频率向量频率向量randnum=binornd(1,p,1,n);%产生二项分布随机数产生二项分布随机数a=0;for i=1:n a=a+randnum(1,i);%频数频数 pro(i)=a/i;%频率频率end pro=pro;num=1:n;plot(num,pro,num,p)在在Matlab命令行中输入以下命令:命令行中输入以下命令:binomoni(0.5,1000)在在Matlab命令行中输入以下命令:命令行中输入以下命令:binomoni(0.5,10000)在在Matlab命令行中输入以下命令:命令行中输入以下命令:binomoni(0.3,1000)1、表示位置的统计量、表示位置的统计量平均值和中位数平均值和中位数平均值(或均值,数学期望):平均值(或均值,数学期望):中位数:将数据由小到大排序后位于中间位置中位数:将数据由小到大排序后位于中间位置 的那个数值的那个数值.二、常用统计量二、常用统计量平均值:平均值:mean(x)中位数:中位数:median(x)若若x为矢量,返回平均值和中位数,若为矢量,返回平均值和中位数,若x为为矩阵,结果为行向量,每个元素对应矩阵,结果为行向量,每个元素对应x中中列元素的平均值和中位数列元素的平均值和中位数2、表示变异(离散)程度的统计量、表示变异(离散)程度的统计量 方差、标准差、极差方差、标准差、极差 样本方差:样本方差:它是各个数据与均值偏离程度的度量它是各个数据与均值偏离程度的度量 标准差:是方差的开方标准差:是方差的开方 极差:样本中最大值与最小值之差极差:样本中最大值与最小值之差.标准差:标准差:std(x)方差:方差:var(x)极差:极差:range(x)例例7:产生:产生5组正态分布随机数,每组组正态分布随机数,每组100个,个,计算均值、中位数、标准差、极差、方差。计算均值、中位数、标准差、极差、方差。x=normrnd(0,1,100,5);mean1=mean(x)median1=median(x)std1=std(x)var1=var(x)rang1=range(x)3.表示分布形状的量表示分布形状的量偏度和峰度偏度和峰度 分布偏度:分布偏度:其估计量为:其估计量为:其中其中命令:命令:y=skewness(x)若若x为矢量,返回样本偏度,若为矢量,返回样本偏度,若x为矩阵,为矩阵,结果为行向量,每个元素对应结果为行向量,每个元素对应x中列元素中列元素的样本偏度。的样本偏度。正态分布偏度为正态分布偏度为0,偏度反映分布的对称性,偏度反映分布的对称性,g1 0称为右偏态,此时数据位于均值右边的称为右偏态,此时数据位于均值右边的比位于左边的多;比位于左边的多;g1 0称为左偏态,情况相称为左偏态,情况相反;而反;而g1接近接近0则可认为分布是对称的则可认为分布是对称的.分布峰度分布峰度 其估计量为:其估计量为:其中其中命令:命令:y=kurtosis(x)若若x为矢量,返回为矢量,返回x的样本峰度,若的样本峰度,若x为矩为矩阵,结果为行向量,每个元素对应阵,结果为行向量,每个元素对应x中列中列元素的样本峰度。元素的样本峰度。峰度是分布形状的另一种度量,正态分布峰度是分布形状的另一种度量,正态分布的峰度为的峰度为3,若,若g2比比3大很多,表示分布有沉大很多,表示分布有沉重的尾巴,说明样本中含有较多远离均值的重的尾巴,说明样本中含有较多远离均值的数据,因而峰度可用作衡量偏离正态分布的数据,因而峰度可用作衡量偏离正态分布的尺度之一尺度之一 例例8:产生:产生5组正态分布随机数,每组组正态分布随机数,每组100个,个,计算样本偏度和峰度。计算样本偏度和峰度。x=normrnd(0,1,100,5);skewness1=skewness(x)kurtosis1=kurtosis(x)例例9:产生:产生5组指数分布随机数,每组组指数分布随机数,每组100个,个,计算样本偏度和峰度。计算样本偏度和峰度。x=exprnd(10,100,5);skewness1=skewness(x)kurtosis1=kurtosis(x)三、分布函数的近似求法(直方图)三、分布函数的近似求法(直方图)1、经验分布函数(累计频率直方图)、经验分布函数(累计频率直方图)Empirical Cumulative Distribution Function 定义:定义:设设x1,x2,xn是总体的容量为是总体的容量为n的样的样本值,将其按由小到大的顺序排列,并本值,将其按由小到大的顺序排列,并重新编号,记为重新编号,记为则经验分布函数为:则经验分布函数为:总体分布函数的近似总体分布函数的近似2、频率直方图、频率直方图近似概率密度函数近似概率密度函数下面介绍频率直方图和经验分布函数的做法下面介绍频率直方图和经验分布函数的做法1、整理资料:、整理资料:把样本值把样本值x1,x2,xn进行分组,先进行分组,先将它们依大小次序排列,得将它们依大小次序排列,得 在包含在包含 的区间的区间a,b内插入内插入m-1个等分点:个等分点:注意要使每一个区间注意要使每一个区间(i=1,2,m)内都有样本观测值内都有样本观测值x i(i=1,2,n-1)落入其中)落入其中.记记t0=a,tm=b。第。第i个小区间为个小区间为 2、求出各组的频数和频率:、求出各组的频数和频率:统计出样本观测值在每个区间统计出样本观测值在每个区间 中出现的次数中出现的次数 它就是这区间或这组的频数,它就是这区间或这组的频数,计算频率计算频率 累计频数为累计频数为累计频率为累计频率为3、作图:、作图:记:记:其中其中d为区间长度为区间长度,以小区间,以小区间为底为底,以,以为高作长方形为高作长方形(i=1,2,m)这样画出一排竖着的长方形极为频率直方图这样画出一排竖着的长方形极为频率直方图若以若以为高既得累计频率直方图为高既得累计频率直方图(1)、描绘数组、描绘数组data的频数直方图的命令为:的频数直方图的命令为:hist(data,k)4 4、频数直方图的描绘频数直方图的描绘(2)、描绘附加带有正态密度曲线的直方图命令为:、描绘附加带有正态密度曲线的直方图命令为:histfit(data,k)(3)、描绘数组、描绘数组data的经验分布函数的命令为:的经验分布函数的命令为:cdfplot(data)例例10 一一道道工工序序用用自自动动化化车车床床连连续续加加工工某某种种零零件件,由由于于刀刀具具损损坏坏等等会会出出现现故故障障.故故障障是是完完全全随随机机的的,并并假假定定生生产产任任一一零零件件时时出出现现故故障障机机会会均均相相同同.工工作作人人员员是是通通过过检检查查零零件件来来确确定定工工序序是是否否出出现现故故障障的的.现现积积累累有有100次次故故障障纪纪录录,故故障障出出现现时时该该刀刀具具完完成成的零件数如下:作频数直方图及经验分布函数图的零件数如下:作频数直方图及经验分布函数图459 362 624 542 509 584 433 748 815 505612 452 434 982 640 742 565 706 593 680926 653 164 487 734 608 428 1153 593 844527 552 513 781 474 388 824 538 862 659775 859 755 49 697 515 628 954 771 609402 960 885 610 292 837 473 677 358 638699 634 555 570 84 416 606 1062 484 120447 654 564 339 280 246 687 539 790 581621 724 531 512 577 496 468 499 544 645764 558 378 765 666 763 217 715 310 851解解x=459 362 624 542 509 584 433 748 815 505 612 452 434 982 640 742 565 706 593 680 926 653 164 487 734 608 428 1153 593 844 527 552 513 781 474 388 824 538 862 659 775 859 755 49 697 515 628 954 771 609 402 960 885 610 292 837 473 677 358 638 699 634 555 570 84 416 606 1062 484 120 447 654 564 339 280 246 687 539 790 581 621 724 531 512 577 496 468 499 544 645 764 558 378 765 666 763 217 715 310 851hist(x,10)histfit(x,10)作经验分布函数图作经验分布函数图cdfplot(x)例例11、产生参数为、产生参数为10的指数分布随机数的指数分布随机数500个,个,并画出直方图和经验分布函数图。并画出直方图和经验分布函数图。x=exprnd(10,100,1);作经验分布函数图作经验分布函数图cdfplot(x)hist(x,9)作直方图作直方图产生随机数产生随机数