当前位置:育儿知识大全 早教内容页

有人知道最小二乘法求线性回归方程是如何计算的吗?

最小二乘法是一种用于线性回归分析的常用方法,其核心思想是通过最小化误差的平方和来确定最佳拟合直线(线性回归方程)的系数。以下为你介绍详细的计算步骤:

1. 数据准备

假设有 nn 组观测数据 (x1,y1),(x2,y2),,(xn,yn)(x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n),线性回归方程的一般形式为 y^=a+bx\hat{y} = a + bx,其中 y^\hat{y} 是预测值,aa 是截距,bb 是斜率,我们需要根据已知数据求出 aabb 的值。

2. 定义误差函数

对于每个观测点 (xi,yi)(x_i, y_i),其预测值为 y^i=a+bxi\hat{y}_i = a + bx_i,误差 ei=yiy^i=yi(a+bxi)e_i = y_i - \hat{y}_i = y_i - (a + bx_i)
最小二乘法的目标是使所有误差的平方和最小,即最小化误差函数 Q(a,b)=i=1nei2=i=1n(yiabxi)2Q(a, b)=\sum_{i = 1}^{n}e_{i}^{2}=\sum_{i = 1}^{n}(y_i - a - bx_i)^2

3. 求偏导数并令其为零

分别对 aabb 求偏导数:

aa 求偏导数:
Qa=2i=1n(yiabxi)=0\frac{\partial Q}{\partial a} = -2\sum_{i = 1}^{n}(y_i - a - bx_i)=0
化简可得:i=1nyinabi=1nxi=0\sum_{i = 1}^{n}y_i - na - b\sum_{i = 1}^{n}x_i = 0

bb 求偏导数:
Qb=2i=1nxi(yiabxi)=0\frac{\partial Q}{\partial b} = -2\sum_{i = 1}^{n}x_i(y_i - a - bx_i)=0
化简可得:i=1nxiyiai=1nxibi=1nxi2=0\sum_{i = 1}^{n}x_iy_i - a\sum_{i = 1}^{n}x_i - b\sum_{i = 1}^{n}x_{i}^{2}=0

4. 求解 aabb

由①式可得:na+bi=1nxi=i=1nyina + b\sum_{i = 1}^{n}x_i=\sum_{i = 1}^{n}y_i,进而推出 a=ybxa = \overline{y}-b\overline{x},其中 x=1ni=1nxi\overline{x}=\frac{1}{n}\sum_{i = 1}^{n}x_ixx 的均值,y=1ni=1nyi\overline{y}=\frac{1}{n}\sum_{i = 1}^{n}y_iyy 的均值。
a=ybxa = \overline{y}-b\overline{x} 代入②式:

i=1nxiyi(ybx)i=1nxibi=1nxi2=0i=1nxiyiyi=1nxi+bxi=1nxibi=1nxi2=0b(xi=1nxii=1nxi2)=yi=1nxii=1nxiyib=ni=1nxiyii=1nxii=1nyini=1nxi2(i=1nxi)2\begin{align*} \sum_{i = 1}^{n}x_iy_i - (\overline{y}-b\overline{x})\sum_{i = 1}^{n}x_i - b\sum_{i = 1}^{n}x_{i}^{2}&=0\\ \sum_{i = 1}^{n}x_iy_i - \overline{y}\sum_{i = 1}^{n}x_i + b\overline{x}\sum_{i = 1}^{n}x_i - b\sum_{i = 1}^{n}x_{i}^{2}&=0\\ b\left(\overline{x}\sum_{i = 1}^{n}x_i-\sum_{i = 1}^{n}x_{i}^{2}\right)&=\overline{y}\sum_{i = 1}^{n}x_i - \sum_{i = 1}^{n}x_iy_i\\ b&=\frac{n\sum_{i = 1}^{n}x_iy_i-\sum_{i = 1}^{n}x_i\sum_{i = 1}^{n}y_i}{n\sum_{i = 1}^{n}x_{i}^{2}-\left(\sum_{i = 1}^{n}x_i\right)^2} \end{align*}

5. 得出线性回归方程

求出 aabb 的值后,将其代入线性回归方程 y^=a+bx\hat{y} = a + bx 中,就得到了通过最小二乘法确定的线性回归方程。

例如,有数据 (1,2),(2,3),(3,4)(1, 2), (2, 3), (3, 4)

计算均值:x=1+2+33=2\overline{x}=\frac{1 + 2 + 3}{3}=2y=2+3+43=3\overline{y}=\frac{2 + 3 + 4}{3}=3

计算相关和:i=13xi=6\sum_{i = 1}^{3}x_i = 6i=13yi=9\sum_{i = 1}^{3}y_i = 9i=13xi2=12+22+32=14\sum_{i = 1}^{3}x_{i}^{2}=1^2 + 2^2 + 3^2 = 14i=13xiyi=1×2+2×3+3×4=20\sum_{i = 1}^{3}x_iy_i = 1\times2 + 2\times3 + 3\times4 = 20

计算 bb 值:b=3×206×93×1462=60544236=1b=\frac{3\times20 - 6\times9}{3\times14 - 6^2}=\frac{60 - 54}{42 - 36}=1

计算 aa 值:a=31×2=1a = 3 - 1\times2 = 1

所以线性回归方程为 y^=1+x\hat{y} = 1 + x