![matlab第8章数据分析_第1页](http://file4.renrendoc.com/view/bbaea4afb97e57ad0303526c160eaa5f/bbaea4afb97e57ad0303526c160eaa5f1.gif)
![matlab第8章数据分析_第2页](http://file4.renrendoc.com/view/bbaea4afb97e57ad0303526c160eaa5f/bbaea4afb97e57ad0303526c160eaa5f2.gif)
![matlab第8章数据分析_第3页](http://file4.renrendoc.com/view/bbaea4afb97e57ad0303526c160eaa5f/bbaea4afb97e57ad0303526c160eaa5f3.gif)
![matlab第8章数据分析_第4页](http://file4.renrendoc.com/view/bbaea4afb97e57ad0303526c160eaa5f/bbaea4afb97e57ad0303526c160eaa5f4.gif)
![matlab第8章数据分析_第5页](http://file4.renrendoc.com/view/bbaea4afb97e57ad0303526c160eaa5f/bbaea4afb97e57ad0303526c160eaa5f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章数据分析
8.1数据的读入和预处理
8.2统计数据分析
8.3数据的曲线拟合
8.4数据插值
8.5综合实例
8.1数据的读入和预处理
8.1.1利用函数读取数据MATLAB提供了在主窗口(命令窗口、编辑窗口等)直接输入和利用xlsread、textread等函数直接读取数据等方式。由于大部分数据来自各种机构提供的数据库,这些数据库数据的输出大多会支持Excel和文本文件(txt)的输出格式。因此本节介绍如何利用MATLAB提供的xlsread和textread函数来读取*.xls和*.txt数据文件。首页
1.Excel数据文件的读取格式num=xlsread('filename')[num,txt,raw]=xlsread('filename')[num,txt,raw]=xlsread('filename',sheet,range)说明filename:Excel文件名(*.xls);sheet:工作表名,可用字符串名称或直接用数字表示;range:单元格区域;num:返回xls中的数值型数据;txt:返回xls中的文本(字符串),raw:返回未处理的形式(字符串)。首页【例8-1】建立2012年6月4日至6月15日上证指数文件名为shzhindex.xls的Excel文件,如图8-1所示,并将此文件存放在MATLAB自动搜索文件夹下,比如:C:\ProgramFiles\MATLAB\R2012a\bin\shzhindex.xls。
图8-1上证指数Excel数据表(一)(1)在MATLAB命令窗口输入:>>num=xlsread('shzhindex')num'=%显示num的转置num1'1.0e+03*2.34702.31372.31562.32472.30622.28292.29512.28972.30682.2998(2)若在Excel文件shzhindex中打开sheet2表(属于第2张表),如图8-2所示。图8-2上证指数Excel数据表(二)由于sheet2表排在第2张表的位置,所以输入命令:>>[num,txt,raw]=xlsread('shzhindex',2)num=1.0e+03*2.34702.30862.31372.31192.31562.30962.32472.29312.30622.28152.28292.30592.29512.28982.28972.31892.30682.29592.29982.3068首页txt='日期''开盘价''收盘价''2012-6-4''''''2012-6-5''''''2012-6-6''''''2012-6-7''''''2012-6-8''''''2012-6-11''''''2012-6-12''''''2012-6-13''''''2012-6-14''''''2012-6-15'''''raw='日期''开盘价''收盘价''2012-6-4'[2.3470e+03][2.3086e+03]'2012-6-5'[2.3137e+03][2.3119e+03]'2012-6-6'[2.3156e+03][2.3096e+03]'2012-6-7'[2.3247e+03][2.2931e+03]'2012-6-8'[2.3062e+03][2.2814e+03]'2012-6-11'[2.2829e+03][2.3059e+03]'2012-6-12'[2.2951e+03][2.2898e+03]'2012-6-13'[2.2897e+03][2.3189e+03]'2012-6-14'[2.3068e+03][2.2959e+03]'2012-6-15'[2.2998e+03][2.3068e+03]首页(3)若只选取数值,可输入命令:>>num=xlsread('shzhindex',2,'B2:C11')num=1.0e+03*2.34702.30862.31372.31192.31562.30962.32472.29312.30622.28152.28292.30592.29512.28982.28972.31892.30682.29592.29982.3068(4)如果Excel表中某张表的名字给定,如将图8-1中的“Sheet1”改为名称“Index”,如图8-3所示,则可直接运行命令:首页图8-3上证指数Excel数据表(三)>>[num,txt]=xlsread('shzhindex','Index')num’=%这里显示num的转置num1'1.0e+03*2.34702.31372.31562.32472.30622.28292.29512.28972.30682.2998txt’=%这里显示txt的转置txt''2012-6-4''2012-6-5''2012-6-6''2012-6-7''2012-6-8''2012-6-11''2012-6-12''2012-6-13''2012-6-14''2012-6-15'格式[A,B,C,…]=textread(filename,format)
[A,B,C,…]=textread(filename,format,N)
[A,B,C,…]=textread(filename,format,'param',value,…)说明filename:文件名(*.txt);format:每行要读取数据类型的格式;
N:每N行具有相同格式的数据。
“'param',value”:表示输入变量的属性和属性值,如'delimiter'指出分隔符,读数据的时候会自动跳过分隔符;“'headerlines',1”表示文件的第一行为标题,不需要读入。
“A,B,C,…”:从文件中读取到的数据,且变量组[A,B,C,…]的个数必须和format中定义的个数相同。首页2.文本数据文件的读取【例8-2】建立上证指数数据的文本文件shzhzhishu.txt,如图8-4所示,该数据文件包含5列的数据,分别为日期、开盘价、最高价、最低价、收盘价,数据包含了2012年6月4日至6月15日综合指数行情。并将此文本文件存放在:C:\ProgramFiles\MATLAB\R2012a\bin\shzhzhishu.txt。首页图8-4上证指数文本数据(一)在MATLAB命令窗口下输入以下命令:>>[A,B,C,D,E]=textread('shzhzhishu.txt','%s%f%f%f%f','headerlines',1)其中,输出变量A、B、C、D、E分别表示日期、开盘价、最高价、最低价、收盘价的列向量。A为表示时间的字符型变量,其对应的控制格式为%s,表示以字符型方式读入变量;B、C、D、E对应的是数值型变量,都有格式%f控制,表示以浮点数值型方式读入变量;'headerlines',1表示文件的第一行为标题,不需要读入。首页注意:文件名的后缀“.txt”不能省略,否则MATLAB会给出不能找到该文件的提醒。这样就将数组A、B保存在文件名为xyz的数据文件,即xyz.mat文件。
运行结果如下(只写出A、B两项,其余略):A'=%这里显示A的转置A''2012-6-4''2012-6-5''2012-6-6''2012-6-7''2012-6-8''2012-6-11''2012-6-12''2012-6-13''2012-6-14''2012-6-15'B'=%这里显示B的转置B'1.0e+03*2.34702.31372.31562.32472.30622.28292.29512.28972.30682.29988.1.2利用菜单导入数据首页1.Excel数据文件的导入(1)打开MATLAB主界面中的菜单“File”,在下拉菜单中点击“ImportData”,显示的界面如图8-5所示。图8-5Excel导入界面(一)(2)选择所要读入的Excel文件,譬如我们选择shzhindex文件(即图8-3数据),点击【打开】,显示的界面如图8-6所示。图8-6Excel导入界面(二)(3)在图8-6中,“Importas”选项栏中提供了“Matrix”(矩阵式数值型数据)、“Columnvectors”(列向量数值型数据)和“CellArray”(单元数组数据)三种数据形式。首页若我们直接选择“Matrix”,点击“Import”选项,从弹出的菜单中选择“ImportData”,则将数据结果导入工作空间Workspace中,默认名称为“untitled”,只要在命令窗口输入untitled,即可显示出所要导入的数据。例如:>>untitleduntitled=1.0e+05*7.35020.02357.35030.02317.35030.02327.35030.02327.35030.02317.35030.02287.35030.02307.35030.02297.35030.02317.35030.0230若我们选择【CellArray】,则对应的结果如图8-7所示。首页图8-7Excel导入界面(三)点击“Import”,从弹出的菜单中选择“ImportData”,则将数据结果导入工作空间Workspace中,默认名称也为“untitled”,只要在命令窗口输入untitled,即可显示出所要导入的数据。例如:首页>>untitleduntitled='2012-6-4'[2.3470e+03]'2012-6-5'[2.3137e+03]'2012-6-6'[2.3156e+03]'2012-6-7'[2.3247e+03]'2012-6-8'[2.3062e+03]'2012-6-11'[2.2829e+03]'2012-6-12'[2.2951e+03]'2012-6-13'[2.2897e+03]'2012-6-14'[2.3068e+03]'2012-6-15'[2.2998e+03](4)为了保存数据,我们可将默认文件名“untitled”重新命名,只需将鼠标移到Workspace中untitled处,点击右键弹出活动菜单,选中“Rename”项,点击左键即可输入新的名称,譬如键入“shuju”,即将数据保存在文件shuju中。若直接双击shuju,其数值可显示在如图8-8所示的表格中。图8-8Excel导入界面(四)2.文本数据文件的导入(1)先将【例8-2】文本文件shzhzhishu中的“日期”格式改写为如图8-9所示的形式(数值型),改写后的数据保存为shzhzhishu2文件。图8-9文本数据导入(一)(2)打开MATLAB主界面中的菜单“File”,在下拉菜单中点击“ImportData”,选择文本“shzhzhishu2“文件,点击“打开”,出现如图8-10所示的界面。图8-10文本数据导入(二)(3)图8-10将所要导入的内容全部显示出来,其中data显示的是全部数字数据,再点击“Next”,即得界面如图8-11所示。图8-11文本数据导入(三)(4)图8-11中的data即为所要导入的数据,点击“Finish”按钮,则数据结果导入工作空间Workspace中,只要在命令窗口输入data,即可显示出所要导入的数据。例如:>>datadata=1.0e+07*2.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.00022.01210.00020.00020.00020.0002或直接双击Workspace中的data,即可显示如图8-12的数据表。图8-12文本数据导入(四)8.1.3非数值数据处理1.含非数值(NaN)的计算在MATLAB中遇到超出范围的数据时均用NaN(非数值)表示,而且在任何运算中,只要包含NaN,就将它传递到结果中。
【例8-3】给出一个含非数值的矩阵,求其每一列的和。首页
>>A=[3579;2468;101112NaN]>>S=sum(A)S=152025NaN(2)在矩阵X中删除NaN所在的列,可执行命令:X(:,any(isnan(X)))=[]例如,在【例8-3】中对矩阵A输入命令:>>A(:,any(isnan(A)))=[]A=357246101112首页(3)在矩阵X中删除NaN所在的行,可执行命令:X(any(isnan(X)'),:)=[]例如,在【例8-3】中对矩阵A输入命令:>>A(any(isnan(A)'),:)=[]A=35792468经过这种预处理后的数据,可进行各种分析和统计操作。8.2统计数据分析
8.2.1基本统计量函数1.算术平均值或样本均值格式mean(X)%X为向量,返回X中各元素的平均值;X为矩阵,返回X中各列元素的平均值构成的向量2.中值(中位数)格式median(X)%X为向量,返回X中各元素的中位数;X为矩阵,返回X中各列元素的中位数构成的向量3.几何平均值格式geomean(X)%X为向量,返回X中各元素的几何平均值;X为矩阵,返回X中各列元素的几何平均值构成的向量4.调和平均值格式harmmean(X)%X为向量,返回X中各元素的调和平均值;X为矩阵,返回X中各列元素的调和平均值构成的向量5.样本方差格式var(X)%若X为向量,则返回向量X的样本方差;X为矩阵,则返回X的列向量的样本方差构成的向量首页首页6.样本标准差格式std(X)%若X为向量,则返回向量X的标准差;X为矩阵,则返回X的列向量的标准差构成的向量例如:用X表示从1到99的数字组成的向量:>>X=1:99;>>mean(X)ans=50>>median(X)ans=50>>geomean(X)ans=37.6231>>harmmean(X)ans=19.1216>>var(X)ans=825>>std(X)ans=28.72287.平均绝对差格式mad(X)%若X为向量,则返回向量X与其算术均值的平均绝对偏差,即用mean(abs(X-mean(X)))计算,与
mad(X,0)命令相同mad(X,1)%若X为向量,则返回向量X与其中值的平均绝对偏差,即用median(abs(X-median(X)))计算例如:>>X=[326514367];>>Y1=mad(X)Y1=1.6790>>Y2=mad(X,1)Y2=28.k阶中心距格式moment(X,k)%若X为向量,则返回向量X的k阶中心距;X为矩阵,则返回%X的列向量的k阶中心距构成的向量9.样本偏斜度格式skewness(X)%X为向量,返回X的元素的偏斜度;X为矩阵,返回X各列元素的偏斜度构成的向量skewness(X,flag)%flag=0表示偏斜纠正,flag=1(默认)表示偏斜不纠正10.样本峰度格式kurtosis(X)%X为向量,返回X的元素的峰度;X为矩阵,返回X各列元素的峰度构成的向量kewness(X,flag)%flag=0表示峰度纠正,flag=1(默认)表示峰度不纠正例如,在【例8-2】中用B表示开盘价数据(见图8-4),则有>>B=[2346.982313.742315.562324.672306.222282.892295.072289.712306.782299.78]';>>moment(B,1)ans=0>>moment(B,2)ans=309.1681>>skewness(B)ans=0.7084>>skewness(B,0)ans=0.840011.协方差格式cov(X,Y)%返回向量X、Y的协方差,X、Y为等长列向量
cov(A)%返回矩阵A的协方差矩阵,其中对角线元素是A的各列的方差12.相关系数格式corrcoef(X,Y)%返回列向量X与Y的相关系数,等同于corrcoef([XY])corrcoef(A)%返回矩阵A的列向量的相关系数矩阵>>kurtosis(B)ans=3.0448>>kurtosis(B,0)ans=4.043413.最值及其所在的位置格式[Y,U]=max(X)%如果X是向量,返回向量X的最大值Y、最大值Y所在的%位置序号U;如果X是矩阵,则Y向量记录矩阵X的每列最大值,U向量记录每列最大值的行号[Y,U]=min(X)%同max(X),只是将注释中的最大值全部换为最小值14.极差格式range(X)%X为向量,返回X中的最大值与最小值之差;X为矩阵,返回X中各列元素的最大值与最小值之差15.径向距离格式iqr(X)%X为向量,返回X中的第75%与第25%之间的距离;X为矩阵,返回X中各列元素的第75%与第25%
之间的距离16.百分位数格式prctile(X,p)%X为向量,计算X中数据大于p%的值,p的取值范围为[0,100],返回X中p百分位数;X
为矩阵,返回各列元素的p百分位数>>X=1:25;>>prctile(X,[255075])ans=6.750013.000019.250017.忽略丢失数据的计算格式nanmean(X)%忽略X中丢失数据的均值nanmedian(X)%忽略X中丢失数据的中值nanmax(X)%忽略X中丢失数据的最大值nanmin(X)%忽略X中丢失数据的最小值nansum(X)%忽略X中丢失数据的和18.期望及方差由分布律计算期望和方差:若已知离散型随机变量X的分布律,则期望公式为,故求期望和方差的命令分别为:EX=sum(X.*P),DX=sum((X-EX).^2.*P)其中X表示离散取值向量,P为其对应的概率向量。19.差分格式Y=diff(X)%如果X是一个向量,则返回[X(2)-X(1)X(3)-X(2)...X(n)-X(n-1)];如果X是一个矩阵则返回
[X(2:m,:)-X(1:m-1,:)]Y=diff(X,k)%返回k阶差分,例如diff(X,2),与语句
diff(diff(X))效果相同例如:>>X=1:2:20X=135791113151719>>Y=diff(X)Y=222222222>>Y=diff(X,2)Y=000000008.2.2概率分布函数Matlab统计工具箱包含的概率分布及其命令字符有:正态分布:norm;对数正态分布:logn;泊松分布:poiss;指数分布:exp;连续均匀分布:unif;离散均匀分布:unid;β分布:beta;二项分布:bino;几何分布:geo;超几何分布:hyge;韦伯分布:wbl(weib);瑞利分布:rayl;F分布:f;T分布:t;分布:gam;卡方分布:chi2。对每一种分布都提供五类函数,其命令字符为:概率密度函数:pdf;概率分布函数:cdf;逆概率分布函数:inv;均值与方差:stat;随机数生成:rnd。当需要一种分布的某一类函数时,只需将分布命令字符与函数命令字符连接起来,并输入自变量(可以是标量、数组或矩阵)和参数即可。1.概率密度函数格式normpdf(x,mu,sigma)%计算参数为μ=mu,σ=sigma的正态分布密度函数在x的值,当mu=0,sigma=1时可缺省binopdf(k,n,p)%参数为n、p,事件发生k次的二项分布的概率密度函数值poisspdf(k,Lambda)%参数为Lambda的泊松分布的概率密度函数值unifpdf(x,a,b)%[a,b]上均匀分布(连续)概率密度在X=x处的函数值2.分布函数格式normcdf(x,mu,sigma)%参数为mu,sigma的正态分布的分布函数
F(x)=P{X≤x}expcdf(x,Lambda)%参数为Lambda的指数分布的分布函数F(x)=P{X≤x}chi2cdf(x,n)%自由度为n的卡方分布的分布函数F(x)=P{X≤x}tcdf(x,n)%自由度为n的t分布的分布函数F(x)=P{X≤x}fcdf(x,n1,n2)%第一自由度为n1,第二自由度为n2的F分布的分布函数3.逆分布函数MATLAB中的逆累积分布函数是已知,求x。格式x=norminv(p,mu,sigma)%p为概率值,mu为均值,sigma
为标准差,x为临界值,满足:
p=P{X≤x}x=betainv(p,a,b)%分布逆分布函数x=weibinv(p,a,b)%韦伯分布逆分布函数例如:>>x=norminv(0.8,0,1)x=0.8416>>x=betainv(0.8,6,7)x=0.57794.均值与方差格式[M,V]=normstat(mu,sigma)%返回参数为mu和sigma的正态分布均值和方差[M,V]=poisstat(Lambda)%返回参数为Lambda的泊松分布的均值和方差[M,V]=expstat(Lambda)%返回参数为Lambda的指数分布的均值和方差[M,V]=fstat(n1,n2)%返回自由度为n1、n2的f分布的均值M和方差V例如:>>[M,V]=poisstat(8)M=8V=8>>[M,V]=fstat(4,6)M=1.5000V=4.5000
5.随机数生成格式unifrnd(A,B,m,n)%产生[A,B]上m行n列均匀分布(连续)随机数unidrnd(N,m,n)%产生[1,N]上m行n列均匀分布(离散)随机数binornd(N,P,m,n)%产生参数为N、P的二项分布m×n随机数矩阵normrnd(mu,sigma,m,n)%参数为mu,sigma的正态分布m×n随机数矩阵lognrnd(mu,sigma,m,n)%参数为mu,sigma的对数正态分布m×n随机数矩阵exprnd(Lambda,m,n)%参数为Lambda的指数分布m×n随机数矩阵poissrnd(Lambda,m,n)%参数为Lambda的泊松分布m×n随机数矩阵betarnd(a,b,m,n)%参数为a,b的β分布m×n随机数矩阵gamrnd(a,b,m,n)%参数为a,b的分布m×n随机数矩阵geornd(p,m,n)%参数为p的几何分布m×n随机数矩阵hygernd(A,B,C,m,n)%参数为A,B,C的超几何分布m×n随机数矩阵wblrnd(A,B,m,n)%参数为A,B的weibull分布m×n随机数矩阵raylrnd(B,m,n)%参数为B的瑞利分布m×n随机数矩阵也可用下面命令生成随机数:格式rand(n)%生成n×n随机矩阵,其元素在(0,1)内均匀分布rand(m,n)%生成m×n随机矩阵rand(size(A))%生成与矩阵A相同大小的随机矩阵randn(n)%生成n×n阶N(0,1)正态分布随机矩阵randn(m,n)%生成m×n正态分布随机矩阵randn(size(A))%生成与矩阵A相同大小的正态分布随机矩阵8.2.3统计作图1.盒状图盒状图用于描述数据样本,或比较不同样本的均值。格式boxplot(X)%绘制单个样本X的盒状图boxplot(X,notch)%notch=1,显示有凹口的盒状图notch=0,显示一个矩形盒状图boxplot(X,notch,’sym’)%sym是绘图符号标志boxplot(X,notch,’sym’,vert)%vert=1,显示垂直盒状图(默认值)
vert=0,显示水平盒状图例如,生成三个列向量的正态分布随机数,并组成一个矩阵X:>>x1=normrnd(0,1,600,1);>>x2=normrnd(1,2,600,1);>>x3=normrnd(2,1,600,1);>>X=[x1x2x3];>>boxplot(X,1)%生成带凹口的垂直盒状图运行结果如图8-13所示。图8-13带凹口的垂直盒状图>>boxplot(X,1,'*',0)%生成带凹口的水平盒状图运行结果如图8-14所示。8-14带凹口的水平盒状图注:盒的上下边界线对应样本的第25个和75个百分点处;盒中间的直线是样本的中值,如果中值不在盒的中间,表明存在倾斜度;盒的凹口是样本中值置信区间的图形化表示。2.频数直方图(1)正整数的频率表格式tabulate(X)%X为正整数构成的向量,返回3列:第1列中包含X的值,第
2列为这些值的个数,第3列为这些值的频率。例如:>>X=[13564331653423426134];>>tabulate(X)运行结果如下:
ValueCountPercent1315.00%2210.00%3630.00%4420.00%5210.00%6315.00%(2)频数直方图的命令格式hist(X,k)%画出将区间[min(X),max(X)]分为k(缺省为10)个小区间的直方图例如:>>X=randn(1,1000);>>hist(X)运行结果如图8-15所示。图8-15频数直方图(3)附加有正态密度曲线的直方图格式histfit(X)%X为向量,返回直方图和正态曲线图8-16附加正态密度曲线的直方图例如:>>X=normrnd(6,3,1000,1);>>histfit(X)运行结果如图8-16所示。3.经验累积分布函数图形格式cdfplot(X)%做样本X(向量)的累积分布函数图形[h,stats]=cdfplot(X)%h表示曲线的环柄,stats表示样本的一些特征图8-17经验累积分布函数图形例如:>>X=poissrnd(10,1,100);>>[h,stats]=cdfplot(X)h=174.0044stats=min:4max:19mean:9.6700median:9std:3.5931
4.绘制正态分布概率图形格式normplot(X)%若X为向量,则显示正态分布概率图形;若X为矩阵,则显示每一列的正态分布概率图形h=normplot(X)%返回绘图直线的句柄说明用于图形化检验正态分布,样本数据在图中用“+”显示;如果数据来自正态分布,则图形显示为直线,而其它分布可能在图中产生弯曲。例如:>>X=normrnd(0,1,1000,1);>>normplot(X)运行结果如图8-18所示,,并可看出X服从正态分布。首页图8-18正态分布概率图形5.绘制Weibull分布概率图形格式weibplot(X)%若X为向量,则显示Weibull分布概率图形;若X为矩阵,则显示每一列的正态分布概率图形h=normplot(X)%返回绘图直线的句柄说明用于图形化检验Weibull分布,样本数据在图中用“+”显示;如果数据来自Weibull分布,则图形显示为直线,而其它分布可能在图中产生弯曲。例如:>>X=weibrnd(2,1,200,1);>>weibplot(X)运行结果如图8-19所示。图8-19Weibull分布概率图形6.绘制Quantile-Quantile图格式qqplot(X)%显示X的样本值与服从正态分布的理论数据之间的Q-Q图。若X为正态分布向量,图中数据点呈一条近似于直线qqplot(X,Y)%显示X,Y两个样本值的Q-Q图,若X,Y为来自同一分布的向量,则图中数据点呈一条直线;否则为曲线关系说明显示一个或两个样本的Quantile-Quantile图,用来检验一个样本是否正态分布,或者两个样本是否来自于同一分布。(1)绘制正态分布的Q-Q图。>>X=normrnd(3,2,100,1);>>qqplot(X)运行结果如图8-20所示,并可看出X服从正态分布。图8-20正态分布Q-Q图
(2)绘制均匀分布的Q-Q图。>>X=rand(100,1);>>qqplot(X)运行结果如图8-21所示,并可看出X不服从正态分布。图8-21均匀分布的Q-Q图(3)绘制来自两个正态分布的Q-Q图。>>X=normrnd(0,1,100,1);>>Y=normrnd(1,2,50,1);>>qqplot(X,Y)运行结果如图8-22所示,并可看出X和Y服从同分布。图8-22两个正态分布的Q-Q图(4)绘制来自两个不同总体的Q-Q图。>>X=normrnd(6,2,100,1);>>Y=weibrnd(2,1,100,1);>>qqplot(X,Y)运行结果如图8-23所示,并可看出X和Y不服从同分布。图8-23两个不同总体的Q-Q图8.2.4参数估计
1.常用分布参数估计格式[muhat,sigmahat,muci,sigmaci]=normfit(X,alpha)说明命令在显著性水平alpha下,估计数据X的参数(alpha缺省时设定为0.05),返回值muhat是X的均值的点估计值,sigmahat是标准差的点估计值,muci是均值的区间估计,sigmaci是标准差的区间估计。首页例如:>>X=normrnd(0,1,80,1);>>[muhat,sigmahat,muci,sigmaci]=normfit(X)muhat=0.0076sigmahat=1.0176muci=-0.21890.2340sigmaci=0.88061.2053格式[muhat,muci]=expfit(X,alpha)说明在显著性水平alpha下,求指数分布的数据X的均值的点估计及其区间估计。
2.利用mle函数进行参数估计格式phat=mle
%返回用dist指定分布的最大似然估计值[phat,pci]=mle
%置信度为95%[phat,pci]=mle%置信度由alpha确定[phat,pci]=mle%仅用于二项分布,pl为试验次数说明dist为分布函数名,如beta(分布)、bino(二项分布)等,X为数据样本,alpha为显著水平α,为置信度。首页例如:>>X=betarnd(3,5,1,100)>>[phat,pci]=mle('beta',X)phat=2.75774.8805pci=1.97953.49813.53596.2629>>X=binornd(10,0.7,1,30)>>[phat,pci]=mle('bino',X,0.05,10)phat=0.7033pci=0.64810.75458.2.5假设检验
1.正态总体均值的检验(1)单个正态总体均值的检验。格式h=ztest(x,m,sigma,alpha)%方差已知,x为正态总体的样本,
m为均值,sigma为标准差,显著性水平为alpha(默认值为0.05)[h,sig,ci,zval]=ztest(x,m,sigma,alpha,tail)%方差已知h=ttest(x,m,alpha)%方差未知[h,sig,ci]=ttest(x,m,alpha,tail)%方差未知说明若h=0,表示在显著性水平alpha下,不能拒绝原假设;若h=1,表示在显著性水平alpha下,可以拒绝原假设。
sig为观察值的概率,当sig为小概率时则对原假设提出质疑。ci为真正均值μ的1-alpha置信区间。zval为统计量的值。原假设:,若tail=0,表示备择假设:(默认);tail=1,表示备择假设:;tail=-1,表示备择假设:。首页
(2)两个正态总体均值差的检验。格式[h,sig,ci,stats]=ttest2(X,Y,alpha)%X,Y为两个正态总体的样本,其方差未知但相等,显著性水平为alpha,默认值为
0.05[h,sig,ci,stats]=ttest2(X,Y,alpha,tail)说明若h=0,表示在显著性水平alpha下,不能拒绝原假设;若h=1,表示在显著性水平alpha下,可以拒绝原假设。
sig为当原假设为真时观察值的概率,当sig为小概率时则对原假设提出质疑。ci为真正均值μ的1-alpha置信区间。stats包含t统计量、自由度和标准差。原假设:,(为X为期望值,为Y的期望值)若tail=0,表示备择假设:;tail=1,表示备择假设:;tail=-1,表示备择假设:。首页2.正态分布检验
(1)大样本的Jarque-Bera测试。格式h=jbtest(X,alpha)%对输入向量X进行正态分布拟合优度测试[h,p,jbstat,cv]=jbtest(X,alpha)%p为接受假设的概率值,p越接近于
0,则可以拒绝是正态分布的原假设;jbstat为测试统计量的值,cv为是否拒绝原假设的临界值说明h为测试结果,若h=0,则可以认为X是服从正态分布的;若h=1,则可以否定X服从正态分布。首页
(2)小样本的Lilliefors测试。格式h=lillietest(X,alpha)%对输入向量X进行正态分布拟合优度测试[h,p,lstat,cv]=lillietest(X,alpha)%p为接受假设的概率值,p越接近于0,则可以拒绝是正态分布的原假设;lstat为测试统计量的值,cv为是否拒绝原假设的临界值说明h为测试结果,若h=0,则可以认为X是服从正态分布的;若h=1,则可以否定X服从正态分布。
3.两个总体一致性的检验——秩和检验格式p=ranksum(X,Y,alpha)%X、Y为两个总体的样本,可以不等长[p,h]=ranksum(X,Y,alpha)[p,h,stats]=ranksum(X,Y,alpha)说明p为两个总体样本X和Y为一致的显著性概率,若p接近于0,则不一致较明显;h为检验结果,h=0表示X与Y的总体差别不显著,h=1表示X与Y的总体差别显著;stats包括:ranksum为秩和统计量的值以及zval为过去计算p的正态统计量的值。首页
4.两个总体中位数相等的检验——符号秩检验格式p=signrank(X,Y,alpha)%X、Y为两个总体的样本,必须等长[p,h]=signrank(X,Y,alpha)[p,h,stats]=signrank(X,Y,alpha)说明p表两个总体样本X、Y的中位数相等的显著性概率。h=0表示两个样本中位数之差几乎为0,表明两样本总体中位数没有显著差异;h=1表示两样本总体中位数有显著差异。
5.两个总体中位数相等的检验——符号检验格式p=signtest(X,Y,alpha)%样本X、Y等长[p,h]=signtest(X,Y,alpha)[p,h,stats]=signtest(X,Y,alpha)说明p表两个等长样本X、Y的中位数相等的显著性概率。h=0表两样本总体中位数没有显著差异;h=1表两样本总体中位数有显著差异。首页例如,检验两个正态分布的样本子样中位数(均值)是否相等。>>X=normrnd(0,1,20,1);>>Y=normrnd(0,2,20,1);>>[p,h,stats]=signtest(X,Y,0.05)p=1h=0stats=sign:10h=0表示两个X、Y总体没有显著差异。8.2.6统计工具窗口
1.概率密度函数的图形用户界面在MATLAB命令窗口执行命令:>>disttool就可启动概率密度函数的图形用户界面,如图8-24所示,此窗口默认状态显示的图形是正态分布的分布函数图。首页图8-24默认分布函数图我们可以选择分布类型“Distribution”和函数类型“Functiontype”,譬如显示泊松分布的密度函数曲线,只要在“Distribution”处选择“Poisson”,在“Functiontype”处选择“PDF”,则显示的是泊松分布的密度函数图,如图8-25所示。首页图8-25泊松分布密度函数图2.随机数的图形用户界面在命令窗口执行命令:>>randtool即可启动随机数的图形用户界面,如图8-26所示,此窗口默认状态显示正态分布随机数的分布直方图。首页图8-26默认随机数分布直方图我们可以选择分布类型“Distribution”和样本数目“Samples”。譬如,显示二项分布随机数的直方图,只要在“Distribution”处选择“Binomial”,在“Samples”处选择“500”,则显示的图形如图8-27所示,近似服从正态分布。首页图8-27二项分布随机数的直方图8.3数据的曲线拟合
8.3.1多项式1.多项式的表达和创建(1)多项式的一般形式表示为:(8-1)在MATLAB中,多项式表示成向量的形式,x的幂次方是按降序排列的。只需将按降幂次序的多项式的每个系数填入向量中,就可以在MATLAB中建立一个多项式。故(8-1)多项式表成的向量为:(8-2)反之,给出的(8-2)式的向量,我们也可写出(8-1)式的多项式。首页
(2)MATLAB中用函数sym2poly将多项式形式转化成向量表示法。格式p=sym2poly(f)%将多项式表示式f转化为向量表达式p例如:>>symsx>>f=5*x^4-3*x^2+x-1>>p=sym2poly(f)p=50-31-1
3.多项式求根格式x=roots(p)%p为系数多项式组成的行向量,x为由根组成的列向量例如,求解多项式的根。>>p=[1-7240];>>x=roots(p)x=5.00004.0000-2.0000首页4.将向量变成符号多项式格式f=poly2sym(p)%将系数多项式组成的向量p变成符号多项式f例如:>>p=[13021];>>f=poly2sym(p)f=x^4+3*x^3+2*x+1
5.用多项式的根构造多项式格式p=poly(r)%r为多项式根组成向量,返回系数多项式向量p例如:>>r=[12-1];>>p=poly(r)p=1-2-12>>y=poly2sym(p)y=x^3-2*x^2-x+2首页8.3.2多项式曲线拟合法1.一元多项式的基本形式一元多项式的基本形式可以表示为:其中,系数是需要拟合的未知参数。
2.多项式拟合的命令格式p=polyfit(x,y,n)%x、y是同维向量,n拟合多项式次数,p
拟合系数Y=polyval(p,x)%Y是polyfit所得的拟合多项式在x处的预测值[p,S]=polyfit(x,y,n)%S是一结构数组,包括R、df和normr[Y,DELTA]=polyconf(p,x,S,alpha)%预测值Y的显著性为1-alpha的置信区间为%Y±DELTA;alpha缺省时为0.5[p,S,mu]=polyfit(x,y,n)%mu=[mean(x);std(x)],p中心化后的拟合系数[Y,DELTA]=polyconf(p,X,S,param1,val1,param2,val2,…)%预测值
param选项为‘alpha’、‘mu’、‘predopt’、
‘simopt’
,val为其对应的值说明结构数组S:R是根据输入向量x构建范德蒙矩阵V,然后进行QR分解,得到的上三角矩阵;df为自由度,计算公式为df=length(y)-(n+1);normr为残差范数,公式为normr=norm(y-V*p)。mu值的作用是通过xhat=(x-mu(1))/mu(2)进行中心化和比例缩放,可以改善多项式及拟合算法的数值特征。首页
【例8-4】经测量某人从出生到成年之间的体重,得到年龄与体重的数据如表8-1所示,试建立年龄与体重之间的关系。首页(1)MATLAB程序如下:x=[00.51368121518]';y=[3.55691418264060]';p=polyfit(x,y,3)%三次拟合Y=polyval(p,x)%计算在x处的预测值plot(x,y,'o',x,Y)xlabel('年龄')ylabel('体重')年龄(周岁)00.51368121518体重(千克)3.55691418264060表8-1年龄与体重数据表运行结果如下:p=0.0141-0.22302.58093.5313Y'=%显示Y的转置Y'3.53134.76785.90339.647814.036017.130126.770939.689560.0234所以所建立的多项式模型为:其对应拟合曲线图如图8-28所示。首页图8-28拟合曲线图
(2)若对上述数据x、y执行命令:>>[p,S]=polyfit(x,y,3)>>[Y,DELTA]=polyconf(p,x,S)运行结果如下:p=0.0141-0.22302.58093.5313S=R:[4x4double]df:5normr:1.3904Y'=%显示Y的转置Y'3.53134.76785.90339.647814.036017.130126.770939.689560.0234DELTA'=%显示DELTA的转置DELTA'1.93821.82971.78111.85101.89321.84831.95291.93842.2226从(2)的结果来看拟合系数p、预测值Y都与(1)的结果相同。首页
(3)若对上述数据x、y执行命令:>>[p,S,mu]=polyfit(x,y,3)>>[Y,DELTA]=polyconf(p,x,S,'mu',mu)运行结果如下:p=4.17503.359510.269915.5951S=R:[4x4double]df:5normr:1.3904mu=7.05566.6635Y'=%显示Y的转置Y'3.53134.76785.90339.647814.036017.130126.770939.689560.0234DELTA'=%显示DELTA的转置DELTA'1.93821.82971.78111.85101.89321.84831.95291.93842.2226从(3)的结果来看,p值与(1)、(2)的结果都不同,但预测值Y和DELTA的结果都与(1)、(2)的结果一致。若要找出预测值的置信区间,只需执行命令A=[Y-DELTA,Y+DELTA]即可。
8.3.3多元线性回归法
1.多元线性方程的一般形式(8-3)其中,系数是需要求的未知参数。为求方程(8-3)中的参数,我们给出观察值和y的n个样本点和(),并用矩阵表示如下:首页则得到k元线性回归模型矩阵形式:(8-4)其中,,(为单位矩阵)。利用最小二乘法原理求出矩阵方程(8-4)的估计值,即为未知参数的值。,,,
2.多元线性回归法的命令格式b=regress(Y,X)%确定回归系数的点估计值[b,bint,r,rint,stats]=regress(Y,X,alpha)%求回归系数的点估计和区间估计并检验回归模型Z=[ones(size(x1)),x1,x2,…,xk]*b%预测值Z=X*b%预测值说明Y=[y1,y2,…,yn]',X=[ones(size(x1)),x1,x2,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国智慧公园行业发展现状、市场前景、投资方向分析报告(智研咨询发布)
- 《时尚北京》杂志2023年第8期
- 第5课《黄河颂》【知识精研】统编版语文七年级下册
- Chapter 1 Buying snacks period 6【知识精研】二年级英语下学期(新思维小学英语)
- 《施工平面布置图》课件
- (高清版)JJF(皖) 204-2025 气体、粉尘、烟尘采样仪综合校准装置校准规范
- 《烧结过程及机理》课件
- 2025至2031年中国圆球形状搅齿造粒机行业投资前景及策略咨询研究报告
- 2025至2031年中国ID水控机行业投资前景及策略咨询研究报告
- 2025至2030年中国铜铁插脚数据监测研究报告
- GE-LM2500+G4航改燃气轮机在舰船和工业上的应用
- 2024山东能源集团中级人才库选拔(高频重点提升专题训练)共500题附带答案详解
- 融合教育完整版本
- 武汉市江夏区2022-2023学年七年级上学期期末数学试卷【带答案】-109
- GB/T 43921-2024无损检测超声检测全矩阵采集/全聚焦技术(FMC/TFM)
- SL 288-2014 水利工程施工监理规范
- 部编版八年级语文上册期末考试卷
- 2024年江苏淮阴城市产业投资集团有限公司招聘笔试冲刺题(带答案解析)
- 部编版人教版语文八年级下册全册课件
- 2024年太仓高新控股有限公司招聘笔试冲刺题(带答案解析)
- 人教版七年级地理下册《全册完整》
评论
0/150
提交评论