原理说明
多元线性回归是一种利用多个自变量来预测因变量的回归分析方法。在多元线性回归中,我们假设自变量和因变量之间存在线性关系,并且通过最小化残差平方和来求解最优的模型参数。
假设我们有
n
n
n 个观测值,每个观测值包含
m
m
m 个自变量和一个因变量,可以表示为
(
x
1
i
,
x
2
i
,
.
.
.
,
x
m
i
,
y
i
)
(x_{1i},x_{2i},…,x_{mi},y_i)
(x1i,x2i,…,xmi,yi),其中
i
=
1
,
2
,
.
.
.
,
n
i=1,2,…,n
i=1,2,…,n。我们的目标是找到一个线性模型来拟合这些观测值,即:
y
i
=
β
0
+
β
1
x
1
i
+
β
2
x
2
i
+
.
.
.
+
β
m
x
m
i
+
ϵ
i
y_i=\beta_0+\beta_1x_{1i}+\beta_2x_{2i}+…+\beta_mx_{mi}+\epsilon_i
yi=β0+β1x1i+β2x2i+…+βmxmi+ϵi
其中,
β
0
,
β
1
,
β
2
,
.
.
.
,
β
m
\beta_0,\beta_1,\beta_2,…,\beta_m
β0,β1,β2,…,βm 是我们需要求解的模型参数,
ϵ
i
\epsilon_i
ϵi 是误差项,表示模型无法完全拟合观测值。
为了求解模型参数,我们需要定义一个损失函数,通常使用残差平方和来表示:
RSS
=
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
=
∑
i
=
1
n
(
y
i
−
β
0
−
β
1
x
1
i
−
β
2
x
2
i
−
.
.
.
−
β
m
x
m
i
)
2
\operatorname{RSS}=\sum_{i=1}^n(y_i-\hat{y_i})^2=\sum_{i=1}^n\left(y_i-\beta_0-\beta_1x_{1i}-\beta_2x_{2i}-…-\beta_mx_{mi}\right)^2
RSS=i=1∑n(yi−yi^)2=i=1∑n(yi−β0−β1x1i−β2x2i−…−βmxmi)2
其中,
y
i
^
\hat{y_i}
yi^ 是模型对观测值
i
i
i 的预测值。
通过最小化残差平方和,我们可以求解出模型的最优参数,通常使用最小二乘法来求解,即将
RSS
\operatorname{RSS}
RSS 对模型参数求偏导数,令其等于0,然后解方程组即可得到模型参数的值。
假设我们用矩阵表示自变量,即将
n
n
n 个观测值中的自变量按列组成一个
n
×
m
n\times m
n×m 的矩阵
X
X
X,将因变量按列组成一个
n
×
1
n\times 1
n×1 的矩阵
Y
Y
Y,将模型参数按列组成一个
(
m
+
1
)
×
1
(m+1)\times 1
(m+1)×1 的矩阵
β
\beta
β,其中第一个元素是截距。那么,我们可以将模型表示为:
Y
=
X
β
+
ϵ
Y=X\beta+\epsilon
Y=Xβ+ϵ
此时,最小二乘法的解可以表示为:
β
=
(
X
T
X
)
−
1
X
T
Y
\beta=(X^TX)^{-1}X^TY
β=(XTX)−1XTY
其中,
(
X
T
X
)
−
1
(X^TX)^{-1}
(XTX)−1 是矩阵
X
T
X
X^TX
XTX 的逆矩阵。
以上就是多元线性回归的原理说明,通过求解最小化残差平方和的模型参数,我们可以建立自变量和因变量之间的线性关系模型,从而对因变量进行预测。
公式推导
我们假设有
n
n
n 个观测值,每个观测值包含
m
m
m 个自变量和一个因变量,可以表示为
(
x
1
i
,
x
2
i
,
.
.
.
,
x
m
i
,
y
i
)
(x_{1i},x_{2i},…,x_{mi},y_i)
(x1i,x2i,…,xmi,yi),其中
i
=
1
,
2
,
.
.
.
,
n
i=1,2,…,n
i=1,2,…,n。我们的目标是找到一个线性模型来拟合这些观测值,即:
y
i
=
β
0
+
β
1
x
1
i
+
β
2
x
2
i
+
.
.
.
+
β
m
x
m
i
+
ϵ
i
y_i=\beta_0+\beta_1x_{1i}+\beta_2x_{2i}+…+\beta_mx_{mi}+\epsilon_i
yi=β0+β1x1i+β2x2i+…+βmxmi+ϵi
其中,
β
0
,
β
1
,
β
2
,
.
.
.
,
β
m
\beta_0,\beta_1,\beta_2,…,\beta_m
β0,β1,β2,…,βm 是我们需要求解的模型参数,
ϵ
i
\epsilon_i
ϵi 是误差项,表示模型无法完全拟合观测值。
为了求解模型参数,我们需要定义一个损失函数,通常使用残差平方和来表示:
RSS
=
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
=
∑
i
=
1
n
(
y
i
−
β
0
−
β
1
x
1
i
−
β
2
x
2
i
−
.
.
.
−
β
m
x
m
i
)
2
\operatorname{RSS}=\sum_{i=1}^n(y_i-\hat{y_i})^2=\sum_{i=1}^n\left(y_i-\beta_0-\beta_1x_{1i}-\beta_2x_{2i}-…-\beta_mx_{mi}\right)^2
RSS=i=1∑n(yi−yi^)2=i=1∑n(yi−β0−β1x1i−β2x2i−…−βmxmi)2
其中,
y
i
^
\hat{y_i}
yi^ 是模型对观测值
i
i
i 的预测值。
我们将自变量按列组成一个
n
×
(
m
+
1
)
n\times (m+1)
n×(m+1) 的矩阵
X
X
X,其中第一列全为1,表示截距。将模型参数按列组成一个
(
m
+
1
)
×
1
(m+1)\times 1
(m+1)×1 的矩阵
β
\beta
β,将因变量按列组成一个
n
×
1
n\times 1
n×1 的矩阵
Y
Y
Y。此时,模型可以表示为:
Y
=
X
β
+
ϵ
Y=X\beta+\epsilon
Y=Xβ+ϵ
为了最小化残差平方和,我们需要对模型参数
β
\beta
β 求导,并令其等于0。即,
∂
RSS
∂
β
=
0
\frac{\partial \operatorname{RSS}}{\partial \beta}=0
∂β∂RSS=0
展开上式,得到:
∂
∂
β
[
(
Y
−
X
β
)
T
(
Y
−
X
β
)
]
=
0
\frac{\partial}{\partial \beta}[(Y-X\beta)^T(Y-X\beta)]=0
∂β∂[(Y−Xβ)T(Y−Xβ)]=0
∂
∂
β
(
Y
T
Y
−
Y
T
X
β
−
β
T
X
T
Y
+
β
T
X
T
X
β
)
=
0
\frac{\partial}{\partial \beta}(Y^TY-Y^TX\beta-\beta^TX^TY+\beta^TX^TX\beta)=0
∂β∂(YTY−YTXβ−βTXTY+βTXTXβ)=0
−
2
X
T
Y
+
2
X
T
X
β
=
0
-2X^TY+2X^TX\beta=0
−2XTY+2XTXβ=0
X
T
X
β
=
X
T
Y
X^TX\beta=X^TY
XTXβ=XTY
此时,我们可以使用矩阵运算求解模型参数
β
\beta
β,即:
β
=
(
X
T
X
)
−
1
X
T
Y
\beta=(X^TX)^{-1}X^TY
β=(XTX)−1XTY
其中,
(
X
T
X
)
−
1
(X^TX)^{-1}
(XTX)−1 是矩阵
X
T
X
X^TX
XTX 的逆矩阵。
最终,我们可以得到多元线性回归模型的公式为:
y
=
β
0
+
β
1
x
1
+
β
2
x
2
+
.
.
.
+
β
m
x
m
+
ϵ
y=\beta_0+\beta_1x_1+\beta_2x_2+…+\beta_mx_m+\epsilon
y=β0+β1x1+β2x2+…+βmxm+ϵ
其中,
β
0
,
β
1
,
β
2
,
.
.
.
,
β
m
\beta_0,\beta_1,\beta_2,…,\beta_m
β0,β1,β2,…,βm 是模型参数,
ϵ
\epsilon
ϵ 是误差项。
得到模型参数后,我们可以使用该模型对新的观测值进行预测。对于一个新的观测值
(
x
1
∗
,
x
2
∗
,
.
.
.
,
x
m
∗
)
(x_{1*},x_{2*},…,x_{m*})
(x1∗,x2∗,…,xm∗),其预测值为:
y
^
=
β
0
+
β
1
x
1
∗
+
β
2
x
2
∗
+
.
.
.
+
β
m
x
m
∗
\hat{y}=\beta_0+\beta_1x_{1*}+\beta_2x_{2*}+…+\beta_mx_{m*}
y^=β0+β1x1∗+β2x2∗+…+βmxm∗
需要注意的是,该预测值仅在模型的假设条件下成立。例如,在多元线性回归中,假设自变量之间不存在多重共线性,误差项服从正态分布等。
此外,我们还需要对模型进行评估,以确定其拟合效果。常用的评估指标包括残差平方和、平均绝对误差、均方误差等。我们还可以使用交叉验证等方法来评估模型的泛化能力。
最后,需要注意的是,在实际应用中,多元线性回归模型可能存在欠拟合或过拟合的问题。欠拟合指模型过于简单,不能很好地拟合数据;过拟合指模型过于复杂,过度拟合了训练数据,导致在测试数据上表现不佳。针对这些问题,我们可以采取一系列方法,如添加正则化项、调整模型超参数等来提高模型的泛化能力。