第2章数据描述性分析•2020/1/23数据描述性分析2.2数据分布一元数据分布检验多维数据的特征与分布检验第二章直方图与QQ图能直观描述数据的分布•如何判定数据是否服从正态分布?•若不服从正态分布,可能服从怎样的分布.2.2.1一元数据分布检验1.直方图—密度函数的拟合2.经验分布函数---分布函数的拟合3.QQ图4.总体分布的正态性检验•4•2020/1/231.样本值排序1.直方图—密度函数的拟合及检验将样本观测值从小到大排序,去掉重复值,得到2.2.1一元数据分布检验)()()(nxxx212.做分组区间)()(,,nnxaxama100na等分时3.计算频率取略小于)(1x的数0a和略大于)(nx的数na,将区间分成m个不相交的小区间(一般等间隔),第i个小区间长Δi(称为组距)计算样本值落入每个区间的频数in及频率nnfii•5•2020/1/231.直方图—密度函数的拟合及检验4.画直方图nnijiaxaxaaxa)()(11)1(0如高为则矩形面积fi为数据落入该区间频率,边缘曲线作为总体密度的估计,iifh5.参数分布拟合检验由直方图形状,确定密度曲线类型;在限定参数分布中,利用数据估计参数,选出最接近的密度曲线拟合直方图,再作检验注意:Matlab默认分组数为10组,并提供拟合几种常见分布的选项.2.2.1一元数据分布检验以x轴各区间为底,频数in或/iifh为高做小矩形,得频数(频率)直方图•6•2020/1/23附加有正态密度曲线的频数直方图命令histfit,格式②histfit(X)或histfit(X,nbins)%X为样本数据向量,返回频数直方图和正态曲线;nbins指定bar的个数,缺省为X中数据个数平方根绘制频率直方图命令ecdf(ecdfhist),调用格式③[f,xc]=ecdf(X);%调用ecdf函数,计算X顺序统计量xc处分布函数值fecdf(f,xc,nbins)%绘制X频率直方图和正态曲线MATLAB绘制频数直方图命令hist(histfit),调用格式①hist(X,n)或hist(X)%绘制数据x频数直方图,n--分组个数,缺省n=10•7•2020/1/23密度函数分布函数拟概率分布函数(下侧分位数)函数名调用格式函数名调用格式函数名调用格式pdfY=pdf(name,X,A)Y=pdf(name,X,A,B)Y=pdf(name,X,A,B,C)cdfY=cdf(name,X,A)Y=cdf(name,X,A,B)Y=cdf(name,X,A,B,C)icdfY=nameinv(X,alpha,A)Y=nameinv(X,alpha,A,B)Y=icdf(name,X,A,B,C)name—常见分布名称,如norm指正态分布X—样本数据A,B,C---分布参数如Y=pdf(norm,X,mu,sigma)表示求均值mu,标准差sigma的正态分布随机变量在X处的概率密度函数概率密度)(xf,分布函数)(xF,拟概率分布函数xxF)(1Matlab函数概率密度、分布函数、拟概率分布函数值•8•2020/1/23xttfxXPxFd)(}{)()()(xfxF分布函数密度函数拟概率分布函数xXPxFxx}{),(1)(xf)(xF面积xt)(1xFxx面积)(xf•9•2020/1/23例1(1)生成服从标准正态分布N(0,1)的50个样本点;作出样本频数直方图;(3)作理论分布密度曲线图,将二者绘制一起;(2)求N(0,1)在x=1,0.5,1,2处的密度函数、分布函数值,概率P(-202)解:(1)产生服随机数,做样本直方图、概率密度曲线X=random('normal',0,1,[1,50]);%产生服从标准正态分布随机数50个formatshort%数据转为短格式,5位定点十进制数Xhistfit(X,20)%做出样本频数直方图,拟合正态分布曲线xlabel('[0,1]正态分布随机数');%为X轴加标签ylabel('频数');%为纵轴加标签legend('频数直方图','密度曲线图')%为图形加标注框•10•2020/1/23X=-0.86370.0774-1.2141-1.1135-0.00681.5326-0.76970.3714-0.22561.1174-1.08910.03260.55251.10061.54420.0859-1.4916-0.7423-1.06162.3505-0.61560.7481-0.19240.8886-0.7648-1.4023-1.42240.4882-0.1774-0.19611.41930.29160.19781.5877-0.80450.69660.8351-0.24370.2157-1.1658-1.14800.10490.72232.5855-0.66690.1873-0.0825-1.9330-0.4390-1.7947-4-3-2-101234012345678[0,1]正态分布随机数频数频数直方图密度曲线图结果注:矩形柱高为样本落入该区间频数(2)求N(0,1)在x=1,0.5,1,2处的密度函数、分布函数值,概率P(-20=2),下侧0.90分位数。•11•2020/1/23x=[0,0.5,1,2];%定义向量xy=normpdf(x,0,1)%求N(0,1)密度函数在x处值F=normcdf(x,0,1)%求N(0,1)分布函数在x的值P=normcdf(2,0,1)-normcdf(-2,0,1)%求概率P(-2x=2)u=norminv(0.90,0,1)%N(0,1)下侧0.90分位数输出结果:y=0.39890.35210.24200.0540F=分布函数值F(x)=P{X=x}0.50000.69150.84130.9772P=0.9545概率P(-1X=2)=F(2)-F(-2)u=1.2816下0.90分位数P(X=u)=0.90222)(21)(sxxexf•12•2020/1/23X=random('normal',0,1,[1,50]);%产生N(0,1)随机数50个[f,xc]=ecdf(X)%调用ecdf函数计算X的顺序统计量xc处分布函数值fecdfhist(f,xc,20);%绘制频率直方图,区间数20个xlabel('[0,1]正态分布随机数');%为X轴加标签ylabel('f(x)');%为纵轴加标签x=-3:0.1:3;%产生一个新的横坐标向量xy=normpdf(x,mean(X),std(X));%计算均值mean(X),标准差std(X)的正态分布在向量x处的密度函数值holdonplot(x,y,'k','LineWidth',2)%绘制N(mean(X),std(X))密度曲线,设置线条黑色实线,线宽2legend('频率直方图','正态分布密度曲线','Location','Northwest');%添加标注框,设框位置在图形左上角法2利用ecdf函数绘制频率直方图及密度曲线图•13•2020/1/23f=分布函数值00.02000.04000.06000.08000.10000.12000.14000.16000.18000.20000.22000.24000.26000.28000.30000.32000.34000.36000.38000.40000.42000.44000.46000.48000.50000.52000.54000.56000.58000.60000.62000.64000.66000.68000.70000.72000.74000.76000.78000.80000.82000.84000.86000.88000.90000.92000.94000.96000.98001.0000xc=X的顺序统计量值-1.8359-1.8359-1.8054-1.6989-1.4694-1.0570-1.0360-1.0257-0.9087-0.9047-0.9047-0.8759-0.8608-0.8223-0.7841-0.6045-0.5700-0.5583-0.4677-0.3158-0.3114-0.2883-0.2841-0.2339-0.2099-0.1249-0.1178-0.0942-0.08670.10340.11360.19220.30860.31990.32320.33620.35010.42860.56320.60760.69920.78470.78730.88100.94070.95941.03601.47901.85861.87792.4245•14•2020/1/23-3-2-1012300.10.20.30.40.50.60.7[0,1]正态分布随机数f(x)频率直方图正态分布密度曲线频率直方图注:长方形柱高为nnfhiii/,矩形面积为落入该区间的频率,拟合曲线为密度曲线。•15•2020/1/23--经验分布函数2.2.1一元数据分布检验总体X分布函数(){}FxPXx,样本值12,,,nxxx,顺序统计量)()2()1(,,,nxxx2.经验分布函数—分布函数的拟合及检验)1()1()()1(10)(xxxxxnkxxxFkkn如如如注意:)(xFn右连续阶梯函数,对任一实数x,格里汶科(Glivenko)1933年证明:对任一实数x,n时,)(xFn以概率1一致收敛于)(xF,.1}0|)()(|suplim{xFxFPnxn即1n,)()(xFxFn.①cdfplot(X)%作样本X的经验分布函数图形②h=cdfplot(X)%h表示曲线的环柄③[h,stats]=cdfplot(X)%结构体变量stats有5个字段,对应最小、大值、均值、中位数与标准差MATLAB经验(累积)分布函数图形命令cdfplot:例2生成服从标准正态分布N(0,1)的50个样本点,作出样本的经验分布函数图,并与理论分布函数比较.解:figure;%新建图形窗口X=normrnd(0,1,50,1);%生成服从N(0,1)的50个样本点[h,stats]=cdfplot(X);%作样本经验分布函数图,返回句柄h和结构体变量statsholdon%保留上一幅图,当前图可以画在同一个轴上plot(-3:0.01:3,normcdf(-3:0.01:3,0,1),'r')%作图形,横坐标数据从-3到3,间隔0.01,纵标为标准正态N(0,1)理论分布函数φ(x),与上一图绘制在一个图中50个正态分布的样本点X=[-0.86370.0774-1.2141-1.1135……0.1873]输出结果:h=3.0013曲线的环柄stats=min:-1.8740%样本最小值max:1.6924%最大值mean:0.0565%平均值median:0.1032%中间值std:0.7559%样本标准差-3-2-1012300.10.20.30.40.50.60.70.80.91xF(x)EmpiricalCDF图1.9标准正态分布及50个样本点的经验分布函数图程序2:figure;%新建图形窗口X=normrnd(0,1,50,1);%生成服从N(0,1)的50个样本点[h,stats]=cdfplot(X);%作样本经验分布函数图,返回句柄h和结构体变量statsset(h,'color','b','Linewidth',2);%设置线条颜色蓝色,线宽2x=-3:0.2:3;%产生新的横坐标向量y=normcdf(x,stats.mean,stats.std);%计算均值stats,mean,标准差stats.std的正态分布在向量x处分布函数值holdon%保留上一幅图,当前图可以画在同一个轴plot(x,y,':r','Linewidth',2);