Matlab 多元线性回归
在 Matlab 图示所示:
/输出结果如图所示:/
因 此 我 们 可 得 bˆ0 = −16.0730, , bˆ1 = 0.7194.
bˆ0 的置信区间 ( − 33.7071, 1.5612) ,
bˆ1 的置信区间 (0.6047, 0.834). r2 = 0.9282, F = 180.9531, p = 0.0000.
多元线性回归模型的一般形式为:
Yi =β0 +β1X1i +β2X2i + +βk Xki +μi , i=1,2, ,n
(1)
其中 k 为解释变量的数目, β j ( j = 1,2, ,k) 称为回归系数(regression coefficient)。上
式也被称为总体回归函数的随机表达式。它的非随机表达式为:
Matlab 多元线性回归
1、 多元线性回归
在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象 常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一 个自变量进行预测或估计更有效,更符合实际。
在实际经济问题中,一个变量往往受到多个变量的影响。例如,家庭消费支出,除了受 家庭可支配收入的影响外,还受诸如家庭所有的财富、物价水平、金融机构存款利息等多种 因素的影响,表现在线性回归模型中的解释变量有多个。这样的模型被称为多元线性回归模 型。(multivariable linear regression model )
在 Matlab 图示所示:
/输出结果如图所示:/
bˆ0 = 62.4054, bˆ0 的置信区间 ( − 99.1786, 223.9893) , bˆ1 = 1.5511, bˆ1 的置信区间 (−0.1663, 3.2685) , 因此我们可得 bˆ2 = 0.5102, , bˆ2 的置信区间 (−1.1589, 2.1792) , bˆ3 = 0.1019, bˆ3 的置信区间 (−1.6385, 1.8423) , bˆ4 = −1441. bˆ4 的置信区间 (−1.7791, 1.4910). r2 = 0.9824, F = 111.4792, p = 0.0000. p < 0.05,回归模型 y = −62.4054 +1.5511x1 + 0.5102x2 +0.1019x3 -0.1441x4成立.
序号
8
9
10
11
12
13
x1
1
2
21
1
11
10
x2
31
54
47
4066ຫໍສະໝຸດ 68x322
18
4
23
9
8
x4
44
22
26
34
12
12
y
72.5 93.1 115.9 83.8 113.3 109.4
分析:
x1=[7,1,11,11,7,11,3,1,2,21,1,11,10]; x2=[26,29,56,31,52,55,71,31,54,47,40,66,68]; x3=[6,15,8,8,6,9,17,22,18,4,23,9,8]; x4 =[60,52,20,47,33,22,6,44,22,26,34,12,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]; 由式(9)可得 X=[eT, x1T, x2T, x3T, x4T](eT 为单位列向量) Y= yT
Yi =β0 +β1X1i +β2X2i + +βk Xki , i=1,2, ,n
(2)
β j 也被称为偏回归系数(partial regression coefficient)。
2、 多元线性回归计算模型
Y=β0 +β1x1+β2 x2 + +βk xk +ε , ε ∼ N (0,δ 2 )
(3)
159
160
162
164
腿长
96
98
97
96
98
99
100
102
试研究这些数据之间的关系。
分析: x=[143,145,146,147,149,150,153,154,155,156,157,158,159,160,162,164] 由式(9)可得 X=[eT, xT](eT 为单位列向量) y=[88,85,88,91,92,93,93,95,96,98,97,96,98,99,100,102] Y= yT
达到最小。
⎧
∑ ⎪⎪
⎨ ⎪
∑ ⎪⎩
∂Q ∂b0
=
n
−2
i =1
( yi
− b0
− b1xi1
−
∂Q ∂bj
=
n
−2
i =1
( yi
− b0
− b1xi1
−
j = 1, 2, , p
− bp xip ) = 0, − bp xip )xij = 0
(4)化简可得:
− bp xip )2
(4)
∑ ∑ ∑ ∑ n
多元性回归模型的参数估计,同一元线性回归方程一样,也是在要求误差平方和(Σe) 为最小的前提下,用最小二乘法或最大似然估计法求解参数。
设 (x11, x12 ,
参数:
, x1p , y1),
, (xn1, xn2 ,
, xnp , yn ) 是一个样本,用最大似然估计法估计
n
∑ 取 bˆ0 , bˆ1, , bˆp , 当 b0 = bˆ0 , b1 = bˆ1, , bp = bˆp 时,Q = ( yi − b0 − b1xi1 − i =1
⎛1
X
=
⎜⎜1 ⎜
x11 x21
x12 x22
⎜⎜⎝1 xn1 xn2
x1 p x2 p
⎞
⎟
⎟ ⎟
,Y
=
⎛ ⎜ ⎜ ⎜
y1 y2
⎞ ⎟ ⎟⎟, B
=
⎛ ⎜ ⎜
b0 b1
⎜
⎞
⎟
⎟ ⎟
.
xnp ⎟⎟⎠
⎜⎟ ⎝ yn ⎠
⎜⎜⎝ bp ⎟⎟⎠
(5)
(6) (7) (8)
(9)
(2)[b,bint,r,rint,stats]=regress(Y,X,alpha) 求回归系数的点估计和区间估计、并检
x12 x22
x1 p x2 p
⎞
⎟
⎟ ⎟
,Y
=
⎛ ⎜ ⎜ ⎜
y1 y2
⎞
⎟
⎟ ⎟
,
B
=
⎛ ⎜ ⎜ ⎜
b0 b1
⎞ ⎟ ⎟⎟ .
xn 2
xnp ⎟⎟⎠
⎜⎟ ⎝ yn ⎠
⎜⎜⎝ bp ⎟⎟⎠
X ' XB = X 'Y
⎛ ⎜
bˆ0
⎞ ⎟
Bˆ
=
⎜ ⎜
bˆ1
⎟ ⎟
=
(X
'
X
)−1
X
'Y
⎜⎟
⎜ ⎝
bˆp
⎟ ⎠
n
b0n + b1 xi1 + b2 xi2 +
n
+ bp
xip =
n
yi ,
⎫ ⎪
i =1
i =1
i =1
i =1
⎪
∑ ∑ ∑ ∑ n
n
n
b0 xi1 + b1 xi21 + b2 xi1xi2 +
+ bp
n
⎪ xi1xip ⎪
i =1
i =1
i =1
i =1
⎪
n
∑ = xi1 yi , i =1
/残差分析/ 在 Matlab 命令窗口输入
rcoplot(r,rint) 得到残差图如图所示:
/预测及作图/ 在 Matlab 命令窗口输入
z=b(1)+b(2)*x1+b(3)*x2+b(4)*x3+b(5)*x4; plot(X,Y, 'k+',X,z, 'r') 得到预测比较图所示:
μ(x1, x2 , , xp ) = b0 + b1x1 + + bp xp 的估计是:
yˆ = bˆ0 + bˆ1x1 + bˆ2 x2 +
公式(8)为 P 元经验线性回归方程。
+ bˆp xp
3、 Matlab 多元线性回归的实现
多元线性回归在 Matlab 中主要实现方法如下: (1)b=regress(Y, X ) 确定回归系数的点估计值 其中
Matlab 程序为: /输入如下命令:/
x1=[7,1,11,11,7,11,3,1,2,21,1,11,10]; x2=[26,29,56,31,52,55,71,31,54,47,40,66,68]; x3=[6,15,8,8,6,9,17,22,18,4,23,9,8]; x4 =[60,52,20,47,33,22,6,44,22,26,34,12,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]; X=[ones(length(y),1),x1',x2',x3',x4']; %把行向量转轶为列向量 Y=y'; %把行向量转轶为列向量 [b,bint,r,rint,stats]=regress(Y,X); b,bint,stats