在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。
regress用于一元及多元线性回归,本质上是最小二乘法。
[b,bint,r,rint,stats] = regress(Y,X)
[b,bint,r,rint,stats]=regress(Y,X,alpha)
bint是回归系数的区间估计,r是残差,rint是置信区间,stats是用于检验回归模型的统计量,有三个数值:相关系数r^2,F值,与F对应的概率P,alpha是显著性水平(缺省的时候为0.05)。相关系数r^2越大,说明回归方程越显著;与F对应的概率P..
regress函数不仅可以做一元线性回归、多元线性回归,还可以做特定形式的一元、多元非线性回归,具体见示例3.
示例1:Y=a*X1+b*X2型
clear all;close all;clc;
X1=[5 14 25 32 52 74 96 101 123 154 173 197 215 235];
X2=[12 23 34 45 56 67 78 89 100 111 123 134 145 156];
Y=(1:14);
X=[X1' X2'];
[b,bint,r,rint,stats]=regress(Y',X);
b =
0.0009
0.0885
stats =
1.0e+005 *
0.0000 1.7483 0 0.0000
示例2:Y=a+b*X1+c*X2型
clear all;close all;clc;
X1=[5 14 25 32 52 74 96 101 123 154 173 197 215 235];
X2=[12 23 34 45 56 67 78 89 100 111 123 134 145 156];
Y=(1:14);
X=[ones(length(Y),1) X1' X2'];
[b,bint,r,rint,stats]=regress(Y',X);
运行结果:
b =
-0.1160
-0.0018
0.0932
stats =
1.0e+005 *
0.0000 2.3275 0 0.0000
示例3:Y=b0+b1*X1+b2*X2+b3*X3+b4*X1*X3+b5*X2*X3+b6*X1*X1+b7*X2*X2+b8*X*X3
x1=[4.7 4.7 4.7 4.7 2.9 2.9 2.9 2.9 5.3 2.3 3.8 3.8 3.8 3.8 3.8 3.8 3.8 3.8 3.8 3.8];
x2=[91 91 79 79 91 91 79 79 85 85 95 75 85 85 85 85 85 85 85 85];
x3=[68 32 68 32 68 32 68 32 50 50 50 50 80 20 50 50 50 50 50 50];
y=[1.73 1.36 1.22 1.09 2.65 2.27 2.4 2.03 2.32 0.79 2.21 2.66 2.01 2.33 2.48 2.45 2.34 2.62 2.62 2.36];
x=[ones(20,1),x1',x2',x3',(x1.*x2)',(x1.*x3)',(x2.*x3)',(x1.*x1)',(x2.*x2)',(x3.*x3)'];
[b,bint,r,rint,stats]=regress(y',x);
b,stats
运行结果:
b =
-13.2774
2.8877
0.2202
0.0317
0.0067
-0.0019
0.0003
-0.4574
-0.0015
-0.0005
stats =
0.3915 0.7148 0.6876 0.3645