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