Matlab线性回归分析(regress)

内容纲要

师弟的一篇正交试验论文涉及一些线性回归的拟合。我查看下了下matlab 的线性回归函数regress 的用法,记录如下:

clear
clc
% 数据,按列,分别是x1 x2 x3 x4 y
data=[0.3   0.09    40  26  249
0.14    0.14    15  20  279
0.38    0.05    60  14  182
0.28    0.1 35  8   263
0.2 0.15    10  30  251.5
0.36    0.06    55  24  254.5
0.24    0.11    30  18  249
0.16    0.16    5   12  235
0.32    0.07    50  6   272
0.22    0.12    25  28  248.5
0.18    0.17    0   22  210
0.34    0.08    45  16  227.5
0.26    0.13    20  10  289
];
% x1~x4是4列数据,y是试验结果
x1 = data(:,1);
x2 = data(:,2);
x3 = data(:,3);
x4 = data(:,4);
y = data(:,5);
%拟合公式
X = [ones(size(x1)) x1 x2 x3 x4 x1.^2 x2.^2 x3.^2 x4.^2 x1.*x2 x2.*x3 x3.*x4];
%结果就是b
[b,bint,r,rint,stats] = regress(y,X);
%回归模型
z=X*b;
plot(y);
hold on;
plot(z,'o');

作图如下:

可以看出拟合数据和原始的拟合还可以。

其中

b的值是[常数项 x1 x2 x3 x4 x1.^2 x2.^2 ..]的系数。

stats表示的是拟合的效果,四个值分别是R2 statistic, theF-statistic and its p-value, and an estimate of the error variance.

这些是数值统计的参数。但是我看了一些文献,发现很多文献中都存在一些问题,即拟合的试验数量非常有限,例如n个,而拟合的系数非常多,例如n-1或n-2个。

在拟合方程的最后,必须讨论其显著性,不然拟合的方程没有意义。不过真正能够去现场用,论文还需迈出很大的一步。例如正交试验的样本数过少,土样的代表性,室内试验和现场施工的差距。

留下评论

电子邮件地址不会被公开。 必填项已用*标注