利用Matlab进行线性回归分析之欧阳歌谷创编

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用Matlab进行线性回归分析

欧阳歌谷(2021.02.01)

回归分析是处理两个及两个以上变量间线性依存关系的统计方法。可以通过软件Matlab实现。

1.利用Matlab软件实现

在Matlab中,可以直接调用命令实现回归分析,

(1)[b,bint,r,rint,stats]=regress(y,x),其中b是回归方程中的参数估计值,bint是b的置信区间,r和rint分别表示残差及残差对应的置信区间。stats包含三个数字,分别是相关系数,F统计量及对应的概率p值。

(2)recplot(r,rint)作残差分析图。

(3)rstool(x,y)一种交互式方式的句柄命令。

以下通过具体的例子来说明。

例现有多个样本的因变量和自变量的数据,下面我们利用Matlab,通过回归分析建立两者之间的回归方程。

% 一元回归分析

x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311

2003 2435 2625 2948 3, 55 3372];%自变量序列数据

y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];%因变量序列数据

X=[ones(size(x')),x'],pause

[b,bint,r,rint,stats]=regress(y',X,0.05),pause%调用一元回归分析函数rcoplot(r,rint)%画出在置信度区间下误差分布。

% 多元回归分析

% 输入各种自变量数据

x1=[5.5 2.5 8 3 3 2.9 8 9 4 6.5 5.5 5 6 5 3.5 8 6 4 7.5 7]';

x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 7040 50 62 59]';

x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';

x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';

%输入因变量数据

y=[79.3 200.1 163.1 200.1 146.0 177.7 30.9 291.9 160 339.4 159.6 86.3 237.5 107.2 155 201.4 100.2 135.8 223.3 195]';

X=[ones(size(x1)),x1,x2,x3,x4];

[b,bint,r,rint,stats]=regress(y,X)%回归分析

Q=r'*r

sigma=Q/18

rcoplot(r,rint);

%逐步回归

X1=[x1,x2,x3,x4];

stepwise(X1,y,[1,2,3])%逐步回归

%X2=[ones(size(x1)),x2,x3];

%X3=[ones(size(x1)),x1,x2,x3];

%X4=[ones(size(x1)),x2,x3,x4];

%[b1,b1int,r1,r1int,stats1]=regress(y,X2) %[b2,b2int,r2,r2int,stats2]=regress(y,X3); %[b3,b3int,r3,r3int,stats3]=regress(y,X4);

相关文档
最新文档