简单线性回归模型原理推导(最小二乘法)和案例解析
线性回归是一种用于建模自变量与因变量之间线性关系的统计方法,核心是通过最小化误差平方和估计模型参数。以下从数学原理推导和案例两方面详细说明。
一、线性回归模型的数学原理推导
1. 模型定义
线性回归假设因变量 y 与自变量 x 存在线性关系,具体分为:
- 简单线性回归(单自变量):
yi=β0+β1xi+εi(i=1,2,...,n)y_i = \beta_0 + \beta_1 x_i + \varepsilon_i \quad (i=1,2,...,n)yi=β0+β1xi+εi(i=1,2,...,n)
2. 参数估计:最小二乘法(OLS)
要详细推导 β1=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2\boldsymbol{\beta_1 = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2}}β1=∑(xi−xˉ)2∑(xi−xˉ)(yi−yˉ) 的过程,我们从 最小二乘法的正规方程 出发,逐步化简:
步骤 1:建立误差平方和与正规方程
简单线性回归模型为:
yi=β0+β1xi+εi(i=1,2,...,n)y_i = \beta_0 + \beta_1 x_i + \varepsilon_i \quad (i=1,2,...,n)yi=β0+β1xi+εi(i=1,2,...,n)
误差平方和(SSE)为:
SSE=∑i=1n(yi−β0−β1xi)2\text{SSE} = \sum_{i=1}^n (y_i - \beta_0 - \beta_1 x_i)^2SSE=i=1∑n(yi−β0−β1xi)2
为最小化 SSE,对 β0\beta_0β0 和 β1\beta_1β1 求偏导并令其为 0,得到 正规方程:
(1)对 β0\beta_0β0 求偏导
∂SSE∂β0=−2∑i=1n(yi−β0−β1xi)=0\frac{\partial \text{SSE}}{\partial \beta_0} = -2 \sum_{i=1}^n (y_i - \beta_0 - \beta_1 x_i) = 0∂β0∂SSE=−2i=1∑n(yi−β0−β1xi)=0
整理得:
∑i=1nyi=nβ0+β1∑i=1nxi\sum_{i=1}^n y_i = n\beta_0 + \beta_1 \sum_{i=1}^n x_ii=1∑nyi=nβ0+β1i=1∑nxi
两边除以 nnn(记 xˉ=1n∑xi\bar{x} = \frac{1}{n}\sum x_ixˉ=n1∑xi,yˉ=1n∑yi\bar{y} = \frac{1}{n}\sum y_iyˉ=n1∑yi,即样本均值),得:
yˉ=β0+β1xˉ⇒β0=yˉ−β1xˉ(1)\bar{y} = \beta_0 + \beta_1 \bar{x} \quad \Rightarrow \quad \boldsymbol{\beta_0 = \bar{y} - \beta_1 \bar{x}} \tag{1}yˉ=β0+β1xˉ⇒β0=yˉ−β1xˉ(1)
(2)对 β1\beta_1β1 求偏导
∂SSE∂β1=−2∑i=1nxi(yi−β0−β1xi)=0\frac{\partial \text{SSE}}{\partial \beta_1} = -2 \sum_{i=1}^n x_i (y_i - \beta_0 - \beta_1 x_i) = 0∂β1∂SSE=−2i=1∑nxi(yi−β0−β1xi)=0
整理得:
∑i=1nxiyi=β0∑i=1nxi+β1∑i=1nxi2(2)\sum_{i=1}^n x_i y_i = \beta_0 \sum_{i=1}^n x_i + \beta_1 \sum_{i=1}^n x_i^2 \tag{2}i=1∑nxiyi=β0i=1∑nxi+β1i=1∑nxi2(2)
步骤 2:代入 β0\boldsymbol{\beta_0}β0 的表达式到方程(2)
将式(1)β0=yˉ−β1xˉ\boldsymbol{\beta_0 = \bar{y} - \beta_1 \bar{x}}β0=yˉ−β1xˉ 代入式(2),右边变为:
(yˉ−β1xˉ)∑xi+β1∑xi2(\bar{y} - \beta_1 \bar{x}) \sum x_i + \beta_1 \sum x_i^2(yˉ−β1xˉ)∑xi+β1∑xi2
利用 ∑xi=nxˉ\sum x_i = n\bar{x}∑xi=nxˉ(因为 xˉ=1n∑xi\bar{x} = \frac{1}{n}\sum x_ixˉ=n1∑xi),展开并整理:
右边=yˉ⋅nxˉ−β1xˉ⋅nxˉ+β1∑xi2=nxˉyˉ+β1(∑xi2−nxˉ2)\begin{align*}
\text{右边} &= \bar{y} \cdot n\bar{x} - \beta_1 \bar{x} \cdot n\bar{x} + \beta_1 \sum x_i^2 \\
&= n\bar{x}\bar{y} + \beta_1 \left( \sum x_i^2 - n\bar{x}^2 \right)
\end{align*}右边=yˉ⋅nxˉ−β1xˉ⋅nxˉ+β1∑xi2=nxˉyˉ+β1(∑xi2−nxˉ2)
步骤 3:化简方程求 β1\boldsymbol{\beta_1}β1
式(2)左边为 ∑xiyi\sum x_i y_i∑xiyi,因此:
∑xiyi=nxˉyˉ+β1(∑xi2−nxˉ2)\sum x_i y_i = n\bar{x}\bar{y} + \beta_1 \left( \sum x_i^2 - n\bar{x}^2 \right)∑xiyi=nxˉyˉ+β1(∑xi2−nxˉ2)
将左边的 nxˉyˉn\bar{x}\bar{y}nxˉyˉ 移到左边,得:
∑xiyi−nxˉyˉ=β1(∑xi2−nxˉ2)(3)\sum x_i y_i - n\bar{x}\bar{y} = \beta_1 \left( \sum x_i^2 - n\bar{x}^2 \right) \tag{3}∑xiyi−nxˉyˉ=β1(∑xi2−nxˉ2)(3)
步骤 4:转化为离均差形式
(1)分子:∑xiyi−nxˉyˉ\sum x_i y_i - n\bar{x}\bar{y}∑xiyi−nxˉyˉ
展开 离均差 (xi−xˉ)(yi−yˉ)(x_i - \bar{x})(y_i - \bar{y})(xi−xˉ)(yi−yˉ):
∑(xi−xˉ)(yi−yˉ)=∑(xiyi−xiyˉ−xˉyi+xˉyˉ)=∑xiyi−yˉ∑xi−xˉ∑yi+nxˉyˉ=∑xiyi−yˉ⋅nxˉ−xˉ⋅nyˉ+nxˉyˉ(因∑xi=nxˉ,∑yi=nyˉ)=∑xiyi−nxˉyˉ\begin{align*}
\sum (x_i - \bar{x})(y_i - \bar{y}) &= \sum \left( x_i y_i - x_i \bar{y} - \bar{x} y_i + \bar{x}\bar{y} \right) \\
&= \sum x_i y_i - \bar{y} \sum x_i - \bar{x} \sum y_i + n\bar{x}\bar{y} \\
&= \sum x_i y_i - \bar{y} \cdot n\bar{x} - \bar{x} \cdot n\bar{y} + n\bar{x}\bar{y} \quad (\text{因} \sum x_i = n\bar{x}, \sum y_i = n\bar{y}) \\
&= \sum x_i y_i - n\bar{x}\bar{y}
\end{align*}∑(xi−xˉ)(yi−yˉ)=∑(xiyi−xiyˉ−xˉyi+xˉyˉ)=∑xiyi−yˉ∑xi−xˉ∑yi+nxˉyˉ=∑xiyi−yˉ⋅nxˉ−xˉ⋅nyˉ+nxˉyˉ(因∑xi=nxˉ,∑yi=nyˉ)=∑xiyi−nxˉyˉ
因此,分子 ∑xiyi−nxˉyˉ=∑(xi−xˉ)(yi−yˉ)\sum x_i y_i - n\bar{x}\bar{y} = \sum (x_i - \bar{x})(y_i - \bar{y})∑xiyi−nxˉyˉ=∑(xi−xˉ)(yi−yˉ)。
(2)分母:∑xi2−nxˉ2\sum x_i^2 - n\bar{x}^2∑xi2−nxˉ2
展开离均差平方 (xi−xˉ)2(x_i - \bar{x})^2(xi−xˉ)2:
∑(xi−xˉ)2=∑(xi2−2xixˉ+xˉ2)=∑xi2−2xˉ∑xi+nxˉ2=∑xi2−2xˉ⋅nxˉ+nxˉ2(因∑xi=nxˉ)=∑xi2−nxˉ2\begin{align*}
\sum (x_i - \bar{x})^2 &= \sum \left( x_i^2 - 2x_i \bar{x} + \bar{x}^2 \right) \\
&= \sum x_i^2 - 2\bar{x} \sum x_i + n\bar{x}^2 \\
&= \sum x_i^2 - 2\bar{x} \cdot n\bar{x} + n\bar{x}^2 \quad (\text{因} \sum x_i = n\bar{x}) \\
&= \sum x_i^2 - n\bar{x}^2
\end{align*}∑(xi−xˉ)2=∑(xi2−2xixˉ+xˉ2)=∑xi2−2xˉ∑xi+nxˉ2=∑xi2−2xˉ⋅nxˉ+nxˉ2(因∑xi=nxˉ)=∑xi2−nxˉ2
因此,分母 ∑xi2−nxˉ2=∑(xi−xˉ)2\sum x_i^2 - n\bar{x}^2 = \sum (x_i - \bar{x})^2∑xi2−nxˉ2=∑(xi−xˉ)2。
步骤 5:最终推导
将分子和分母的离均差形式代入式(3),得:
β1=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2\boldsymbol{\beta_1 = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2}}β1=∑(xi−xˉ)2∑(xi−xˉ)(yi−yˉ)
核心逻辑总结
- 通过最小二乘法得到 两个正规方程,分别对应截距 β0\beta_0β0 和斜率 β1\beta_1β1。
- 利用 β0\beta_0β0 与均值的关系(β0=yˉ−β1xˉ\beta_0 = \bar{y} - \beta_1 \bar{x}β0=yˉ−β1xˉ),将其代入 β1\beta_1β1 的正规方程。
- 通过 离均差展开 化简,将代数形式转化为更直观的协方差/方差形式(分子是 xxx 和 yyy 的协方差和,分母是 xxx 的方差和)。
这种推导体现了最小二乘法的核心:通过均值和离均差简化计算,最终得到斜率的直观表达式。
二、数学案例(简单线性回归)
问题:
已知5组数据(( x ) 为广告投入,( y ) 为销售额,单位:万元):
( x: [1, 2, 3, 4, 5] ),( y: [2, 4, 5, 7, 8] ),求回归方程 y^=β^0+β^1x\hat{y} = \hat{\beta}_0 + \hat{\beta}_1 xy^=β^0+β^1x
计算步骤:
公式:
β1=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2\boldsymbol{\beta_1 = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2}}β1=∑(xi−xˉ)2∑(xi−xˉ)(yi−yˉ)
β0=yˉ−β1xˉ\beta_0 = \bar{y} - \beta_1 \bar{x}β0=yˉ−β1xˉ
-
计算均值:
xˉ=1+2+3+4+55=3\bar{x} = \frac{1+2+3+4+5}{5} = 3xˉ=51+2+3+4+5=3yˉ=2+4+5+7+85=5.2\bar{y} = \frac{2+4+5+7+8}{5} = 5.2yˉ=52+4+5+7+8=5.2 -
计算分子 ∑(xi−xˉ)(yi−yˉ)\sum (x_i - \bar{x})(y_i - \bar{y})∑(xi−xˉ)(yi−yˉ)
(1−3)(2−5.2)=(−2)(−3.2)=6.4(1-3)(2-5.2) = (-2)(-3.2) = 6.4(1−3)(2−5.2)=(−2)(−3.2)=6.4
(2−3)(4−5.2)=(−1)(−1.2)=1.2(2-3)(4-5.2) = (-1)(-1.2) = 1.2(2−3)(4−5.2)=(−1)(−1.2)=1.2
(3−3)(5−5.2)=0×(−0.2)=0(3-3)(5-5.2) = 0 \times (-0.2) = 0(3−3)(5−5.2)=0×(−0.2)=0
(4−3)(7−5.2)=1×1.8=1.8(4-3)(7-5.2) = 1 \times 1.8 = 1.8(4−3)(7−5.2)=1×1.8=1.8
(5−3)(8−5.2)=2×2.8=5.6(5-3)(8-5.2) = 2 \times 2.8 = 5.6(5−3)(8−5.2)=2×2.8=5.6
总和:6.4+1.2+0+1.8+5.6=156.4 + 1.2 + 0 + 1.8 + 5.6 = 156.4+1.2+0+1.8+5.6=15 -
计算分母 ∑(xi−xˉ)2\sum (x_i - \bar{x})^2∑(xi−xˉ)2
(1−3)2=4(1-3)^2 = 4(1−3)2=4
(2−3)2=1(2-3)^2 = 1(2−3)2=1
(3−3)2=0(3-3)^2 = 0(3−3)2=0
(4−3)2=1(4-3)^2 = 1(4−3)2=1
(5−3)2=4(5-3)^2 = 4(5−3)2=4
总和:4+1+0+1+4=104 + 1 + 0 + 1 + 4 = 104+1+0+1+4=10 -
估计参数:
斜率:β^1=1510=1.5\hat{\beta}_1 = \frac{15}{10} = 1.5β^1=1015=1.5
截距:β^0=yˉ−β^1xˉ=5.2−1.5×3=0.7\hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{x} = 5.2 - 1.5 \times 3 = 0.7β^0=yˉ−β^1xˉ=5.2−1.5×3=0.7
结果:
回归方程为 y^=0.7+1.5x\hat{y} = 0.7 + 1.5xy^=0.7+1.5x,即广告投入每增加1万元,销售额平均增加1.5万元。
三、总结
线性回归通过最小二乘法估计参数,核心是最小化误差平方和。简单线性回归的参数可通过均值和协方差直接计算。