M a t l a b与统计分析Matlab 与统计分析一、 回归分析1、多元线性回归1.1 命令 regress( ), 实现多元线性回归,调用格式为[b,bint,r,rint,stats]=regress(y,x,alpha)其中因变量数据向量Y 和自变量数据矩阵x 按以下排列方式输人⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n nk n n k k y y y y x x x x x x x x x x 21212222111211,111 对一元线性回归,取k=1即可。
alpha 为显著性水平(缺省时设定为0.05),输出向量b ,bint 为回归系数估计值和它们的置信区间,r ,rint 为残差及其置信区间,stats 是用于检验回归模型的统计量,有三个数值,第一个是2R , 其中R 是相关系数,第二个是F 统计量值,第三个是与统计量F 对应的概率P ,当α<P 时拒绝0H ,回归模型成立.注:1、两组数据的相关系数在概率论的标准定义是:R= E{(x - E{x}) * (y - E{y})} / (sqrt({(x - E{x})^2) * sqrt({(y - E{y})^2))E{}求取期望值。
也就是两组数据协方差与两者标准差乘积的商。
如果|R|=1说明两者相关,R=0说明两者不相关.1、F 是方差分析中的一个指标,一般方差分析是比较组间差异的。
F 值越大,P 值越小,表示结果越可靠.1.2 命令 rcoplot(r ,rint),画出残差及其置信区间.1.3 实例 1已知某胡八年来湖水中COD 浓度实测值(v)与影响因素湖区工业产值(x1)、总人口数(x2 )、捕鱼量(x3 )、降水量( x4)资料,建立污染物Y 的水质分析模型.Step 1 输入数据x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477];x2=[0.450,0.475,0.485,0.500,0.535,0.545,0.550,0.575];x3=[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262];x4=[0.8922, 1.1610,0.5346,0.9589, 1.0239, 1.0499,1.1065, 1.1387];Y=[5.19, 5.30,5.60,5.82,6.00,6.06,6.45,6.95];Step 2 保存数据(以数据文件.mat 形式保存,便于以后调用)save data x1 x2 x3 x4 yload data %取出数据Step 3 执行回归命令x=[ones(8,1),x1,x2,x3,x4];[b,bint,r,rint,stats]=regress(y,x)得到结果:b=(-16.5283, 15.7206, 2.0327.-0.2106,-0.1991)'stats=(0.9908,80.9530,0.0022)'即Y= -16.5283+15.7206x1+2.0327x2-0.2106xl+0.1991x42R=0.9908, F=80.9530,P=0.00222、非线性回归2.1 命令 nlinfit( ) 实现非线性回归,调用格式为[beta,r,J]=nlinfit(x,y,‘model’,beta0)其中,输入数据x,y分别为n×m矩阵和n维列向量,对一元非线性回归,x为n维列向量;model是事先用m-文件定义的非线性函数,beta0是回归系数的初值.beta是估计出的回归系数,r是残差,J是Jacobian矩阵,它们是估计预测误差需要的数据.2.2 命令 nlpredci( ) 预测和预测误差的估计,调用格式为[y,delta]=npredci('model',x,beta,r,j)2.3 实例 2对实例1中COD 浓度实测值(Y),建立时序预测模型,这里选用logistic 模型,即ktbe a y -+=1Step 1 建立非线性函数对所要拟合的非线性模型建立m-文件model.m 如下function yhat=model(beta,t)yhat=beta(1)./(1+beta(2)*exp(-beta(3)*t))Step 2 输入数据t= 1:8load data y(在data .mat 中取出数据y)beta0=[50,10,1]’Step 3 求回归系数[beta ,r ,J]=nlinfit(t ,Y ,‘model ’, beta0)得结果:beta=(56.1157,10.4006,0.0445)’即0445.04006.1011157.56-+=e yStep 4 预测及作图[YY,delta]=nlpredci(‘model ’,x',beta,r ,J);plot(x,y,'k+',x,YY,'r')3、逐步回归逐步回归的命令是stepwise , 它提供了一个交互式画面.通过此工具可自由地选择变量,进行统计分析.调用格式为:stepwise (x ,y ,inmodel ,alpha )其中x 是自变量数据,是m n ⨯阶矩阵,y 是因变量数据,1⨯n 阶矩阵,inmodel 是矩阵的列数指标(给出初始模型中包括的子集(缺省时设定为全部自变量),alpha 是显著性水平(缺省时为0.5). 运行stepwise 命令时产生三个图形窗口:Stepwise Plot ,Stepwise Table ,Stepwise History.在Stepwise Plot 窗口,显示出各项的回归系数及其置信区间.Stepwise Table 窗口中列出了一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE )、相关系数(R-square )、F 值、与F 对应的概率P.二、 主成分分析这里给出江苏省生态城市主成份分析实例。
我们对江苏省十个城市的生态环境状况进行了调查,得到生态环境指标的指数值,见表1。
现对生态环境水平进行分析和评价。
我们利用Matlab6.5中的princomp 命令实现。
具体程序如下x=[0.7883 0.7391 0.8111 0.6587 0.6543 0.8259 0.8486 0.6834 0.8495 0.78460.7633 0.7287 0.7629 0.8552 0.7564 0.7455 0.7800 0.9490 0.8918 0.8954 0.4745 0.5126 0.8810 0.8903 0.8288 0.7850 0.8032 0.8862 0.3987 0.3970 0.8246 0.7603 0.6888 0.8977 0.7926 0.7856 0.6509 0.8902 0.6799 0.9877 0.8791 0.8736 0.8183 0.9446 0.9202 0.9263 0.9185 0.9505 0.8620 0.88730.9538 0.9257 0.9285 0.9434 0.9154 0.8871 0.9357 0.8760 0.9579 0.9741 0.8785 0.8542 0.8537 0.9027 0.8729 0.8485 0.8473 0.9044 0.8866 0.9035 0.6305 0.6187 0.6313 0.7415 0.6398 0.6142 0.5734 0.8980 0.6186 0.7382 0.8928 0.7831 0.5608 0.8419 0.8464 0.7616 0.8234 0.6384 0.9604 0.8514]x=x';stdr=std(x);%求各变量标准差[n,m]=size(x);sddata= x./stdr(ones(n,1),:);%标准化变换[p,princ,egenvalue]=princomp(sddata) %调用主成分分析程序p3=p(:,1:3) %输出前三个主成分系数sc=princ(:,1:3) %输出前三个主成分得分egenvalue %输出特征根per=100*egenvalue/sum(egenvalue) %输出各个主成分贡献率执行后得到所要结果,这里是前三个主成分、主成分得分、特征根。
即egenvalue=[3.8811,2.6407,1.0597]' , per=[43.12,29.34,11.971]' .这样,前三个主成分为Zl = -0.3677xl+ 0.3702x2+ 0.1364x3+ 0.4048x4+ 0.3355x5-0.1318x6+0.4236x7+ 0.4815x8-0.0643x9Z2 = 0.1442xl+ 0.2313x2-0.5299x3+ 0.1812x4-0.1601x5+ 0.5273x6+0.3116x7-0.0267x8+ 0.4589x9Z3 = -0.3282xl-0.3535x2+ 0.0498x3+ 0.0582x4+ 0.5664x5-0.0270x6-0.0958x7-0.2804x8+ 0.5933x9第一主成分贡献率为43.12%,第二主成分贡献率为29.34%,第三主成分贡献率为11.97%,前三个主成分累计贡献率达84.24%。
如果按80%以上的信息量选取新因子,则可以选取前三个新因子。
第一新因子Z1包含的信息量最大为43.12%%,它的主要代表变量为x8(城市文明)、x7(生产效率)、x4(城市绿化),其权重系数分别为0.4815、0.4236、0.4048,反映了这三个变量与生态环境水平密切相关,第二新因子Z2包含的信息量次之为29.34%,它的主要代表变量为x3(地理结构)、x6(资源配置)、 x9(可持续性),其权重系数分别为0.5299、0.5273、0.4589,第三新因子 Z3包含的信息量为11.97%,代表总量为x9(可持续性)、 x5(物质还原),权重系数分别为0.5933、0.5664。
这些代表变量反映了各自对该新因子作用的大小,它们是生态环境系统中最重要的影响因素。
根据前三个主成分得分,用其贡献率加权,即得十个城市各自的总得分F = 43.12%princ(:,1)+29.34%princ(:,2)+11.97%princ(:,3)=[0.0970,-0.6069,-1.5170,1.1801,0.0640,-0.8178,-0.9562,1.1383,0.1107,1.3077]'根据总得分排序,结果见表1。