Matlab软件用于统计分析教学

时间:2025-07-10

用MATLAB解决统计方面的问题

Matlab软件用于统计分析教学

程毛林

(苏州城建环保学院,江苏 苏州 215011)

许多实际问题往往需要对数据进行统计分析,建立合适的模型,在统计分析方面。常用的软件有TSP、SAS、SPSS等。我们在这里给出Matlab在统计分析上的应用,功能已是以赶超任何其他专用的统计软件。在应用上,Matlab具有其他软件不可比拟的操作简单、接口方便、扩充能力强等优势,再加上Matlab的应用范围广泛,因此可以预见Matlab在统计应用上的地位会越来越重要。下面用实例给出Matlab在回归分析、主要成份分析上的应用.

一、回归分析

1.多元线性回归

在Matlab统计工具箱中使用命令regress()实现多元线性回归,调用格式为 b=regress(y,x)

[b,bint,r,rint,statsl = regess(y,x,alpha)

其中因变量数据向量y和自变量数据矩阵x按以下排列方式输入

对一元线性回归,取k=1即可。alpha为显著性水平(缺省时设定为0.05),输出向量b,bint为回归系数估计值和它们的置信区间,r,rint为残差及其置信区间,stats是用于检

2验回归模型的统计量,有三个数值,第一个是R,其中R是相关系数,第二个是F统计量值,

第三个是与统计量F对应的概率P,当P<α时拒绝H0,回归模型成立。

画出残差及其置信区间,用命令rcoplot(r,rint)

实例1:已知某湖八年来湖水中COD浓度实测值(y)与影响因素湖区工业产值(x1)、总人口数(x2)、捕鱼量(x3)、降水量(x4)资料,建立污染物y的水质分析模型。

(1)输入数据

x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477]

用MATLAB解决统计方面的问题

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]

(2)保存数据(以数据文件.mat形式保存,便于以后调用)

save data x1 x2 x3 x4 y

load data (取出数据)

(3)执行回归命令

x =[ones(8,1),];

[b,bint,r,rint,stats] = regress

得结果:

b = (-16.5283,15.7206,2.0327,-0.2106,-0.1991)’

stats = (0.9908,80.9530,0.0022)

= -16.5283 + 15.7206xl + 2.0327x2 – 0.2106x3 + 0.1991x4

R = 0.9908,F = 80.9530,P = 0.0022

2.非线性回归

非线性回归可由命令nlinfit来实现,调用格式为

[beta,r,j] = nlinfit(x,y,'model’,beta0)

其中,输人数据x,y分别为n×m矩阵和n维列向量,对一元非线性回归,x为n维列向量model是事先用 m-文件定义的非线性函数,beta0是回归系数的初值, beta是估计出的回归系数,r是残差,j是Jacobian矩阵,它们是估计预测误差需要的数据。 预测和预测误差估计用命令 2

用MATLAB解决统计方面的问题

[y,delta] = nlpredci(’model’,x,beta,r,j)

实例2:对实例1中COD浓度实测值(y),建立时序预测模型,这里选用logistic模型。即

(1)对所要拟合的非线性模型建立的m-文件mode1.m如下:

function yhat=model(beta,t)

yhat=beta(1)./(1+beta(2)*exp(-beta(3)*t))

(2)输人数据

t=1:8

load data y(在data.mat中取出数据y)

beta0=[50,10,1]’

(3)求回归系数

[beta,r,j]=nlinfit(t’,y’,’model’,beta0)

得结果:

beta=(56.1157,10.4006,0.0445)’

(4)预测及作图

[yy,delta] = nlprodei(’model’,t’,beta,r,j);

plot(t,y,’k+’,t,yy,’r’)

3.逐步回归

逐步回归的命令是stepwise,它提供了一个交互式画面,通过此工具可以自由地选择变量,进行统计分析。调用格式为:

用MATLAB解决统计方面的问题

stepwise(x,y,inmodel,alpha)

其中x是自变量数据,y是因变量数据,分别为n×m和n×l矩阵,inmodel是矩阵的列数指标(缺省时为全部自变量),alpha,为显著性水平(缺省时为0.5)

结果产生三个图形窗口,在stepwise plot窗口,虚线表示该变量的拟合系数与0无显著差异,实线表示有显著差异,红色线表示从模型中移去的变量;绿色线表明存在模型中的变量,点击一条会改变其状态。在stepwise Table窗口中列出一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE),相关系数 (R-square),F值和P值。

二、主成份分析

主成份分析主要求解特征值和特征向量,使用命令 eig(),调用格式为

[V,D] = eig(R)

其中R为X的相关系数矩阵,D为R的特征值矩阵,V为特征向量矩阵

实例3:对实例1中变量进行主成份成析

(1)调用数据

load data x =

(2)计算相关系数矩阵

R = corrcoef(x)

(3)求特征根、特征向量

[V,D] = eig(R)

得结果:

用MATLAB解决统计方面的问题

按特征根由大到小写出各主成份

第一主成份

f1 = 0.5438xl+0.5505x2+0.5387x3+0.3332x4 方差贡献率为3.1863/4 = 79.66% 第二主成份

f2 = -0.1693xl-0.1588x2 –0.2484x3 +0.9404x4 方差贡献率为0.7606/4 = 19.12% 第三主成份

f3 = -0.7597x1 + 0.0930x2 + 0.6418x3 + 0.0485x4

…… 此处隐藏:768字,全部文档内容请下载后查看。喜欢就下载吧 ……
Matlab软件用于统计分析教学.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219