用regress函数可以进行多元线性回归分析,利用该函数得到的是全回归分析结果。其语法格式介绍如下
b = regress(y, X):返回X处y的最小二乘拟合值。该函数用于求解线性模型:
在上式中:
y为n1向量,X为np矩阵,为p1参数向量,为n1随机干扰向量。
[b, bint, r, rint, stats] = regress(y, X):在b中返回β的估计,在p2向量bint中返回的95%置信区间。r为残差,在n2向量rint中返回每一个残差的95%置信区间。stats向量包含R2统计量、回归的F值和p值。
[b, bint, r, rint, stats] = regress(y, X, alpha):给出bint和rint的100(1-alpha)%置信区间。例如,当alpha = 0.2时,给出80%置信区间。
某种水泥在凝固时放出的热量(单位:卡/克)Y与下面列出的水泥中的4种化学成分所占的百分比有关:
X1:3CaO·Al2O3的成分(%);
X 2:3CaO·SiO2的成分(%);
X 3:4CaO·Al2O3·Fe2O3的成分(%);
X 4:2CaO·SiO2的成分(%)。
现测得13组数据,见表4-1。要求建立放出的热量与水泥化学成分之间的经验回归关系式。
表4-1 热量-水泥化学成分数据
| 编号 | X1 | X2 | X3 | X4 | y |
|---|---|---|---|---|---|
| 1 | 7 | 26 | 6 | 60 | 78.5 |
| 2 | 1 | 29 | 15 | 52 | 74.3 |
| 3 | 11 | 56 | 8 | 20 | 104.3 |
| 4 | 11 | 31 | 8 | 47 | 87.6 |
| 5 | 7 | 52 | 6 | 33 | 95.9 |
| 6 | 11 | 55 | 9 | 22 | 109.2 |
| 7 | 3 | 71 | 17 | 6 | 102.7 |
| 8 | 1 | 31 | 22 | 44 | 72.5 |
| 9 | 2 | 54 | 18 | 22 | 93.1 |
| 10 | 21 | 47 | 4 | 26 | 115.9 |
| 11 | 1 | 40 | 23 | 34 | 83.8 |
| 12 | 11 | 66 | 9 | 12 | 113.3 |
| 13 | 10 | 68 | 8 | 12 | 109.4 |
输入自变量和因变量。
>> X=[ 7 26 6 60
1 29 15 52
11 56 8 20
11 31 8 47
7 52 6 33
11 55 9 22
3 71 17 6
1 31 22 44
2 54 18 22
21 47 4 26
1 40 23 34
11 66 9 12
10 68 8 12];
>> y=[78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4]';
进行一般多元回归分析。
>> [b,bint,r,rint,stats] = regress(y,X)
b =
2.1930
1.1533
0.7585
0.4863
bint =
1.7739 2.6122
1.0449 1.2618
0.3977 1.1194
0.3926 0.5800
r =
-0.5680
1.9943
-0.2042
-1.2017
-0.0239
4.1180
-1.5779
-3.5314
2.0821
-0.0386
1.4933
0.3946
-2.8605
rint =
-4.7218 3.5858
-2.6478 6.6363
-5.6325 5.2240
-6.1767 3.7733
-4.7305 4.6828
-0.2283 8.4642
-6.0304 2.8747
-7.1130 0.0502
-2.8664 7.0306
-3.3262 3.2490
-2.9409 5.9276
-4.8088 5.5980
-7.3850 1.6639
stats =
0.9860 152.6920 0.0000 5.8455
在上面的结果中,b为自变量的系数向量,故全回归的回归结果为
y=2.1930X1+1.1533X2+0.7585X3+0.4863X4
bint为各系数的置信区间。r和rint为对应个案系数的残差和残差置信区间,可见各残差值均较小。stats向量的值分别为相关系数平方值R2、F值和显著性概率p。相关系数平方值R2=0.9806,说明模型拟合程度相当高。显著性概率p=0.0000,小于0.05,故拒绝零假设,认为回归方程中至少有一个自变量的系数不为零,回归方程有意义。