Linear Regression

概述

线性回归通常是学习预测模型时首选的技术之一,其中因变量是连续的,自变量可以是连续的,也可以是离散的,回归线的性质是线性的。现行回归使用最佳的拟合直线,也就是回归线,在因变量 y 和一个或多个自变量 x 之间建立一种关系。

模型

$y = a + bx + e$,其中 ​$a$ 表示截距,​$b$ 表示斜率,​$e$ 表示误差项,这里,我们希望求得一个 ​$e$ 无限接近于 ​$0$,并且 ​$y$ 和真实值偏差最小的 ​$a$ 和 ​$b$。

55d3f5dc33dc3

一元线性回归和多元线性回归的区别在于,多元线性回归有 > 1 个自变量,而一元线性回归通常只有 1 个自变量。

如何获得最佳拟合线?

最小二乘法

最小二乘法的核心是保证所有数据偏差的平方和最小。

推导过程如下

  • 由于 $y = a + bx$ 是一个二元方程,我们现在想要求得该方程中的两个参数,因此应该求 $y$ 关于 $a$ 以及 $y$ 关于 $b$ 的偏导,偏导即将所求参数视作变量,其他参数视作常量,然后求导。

  • $M$ 表示预测值与实际值差值平方和,我们现在希望找到 $M$ 最小情况下的 $a$ 和 $b$,这里的 $M$ 就是上边公式的 $e$。

    $M = \sum_{i = 1}^n[y_i - (ax_i + b)]^{2}$

    $\frac{\partial M}{\partial a} = -2 \sum_{i = 1}^n x_i[y_i - (ax_i + b)] = -2 \sum_{i = 1}^n(x_iy_i - ax_i^{2} - bx_i) = 2(a\sum_{i = 1}^nx_i^{2} + b\sum_{i = 1}^nx_i - \sum_{i = 1}^nx_iy_i)$

    $\frac{\partial M}{\partial b} = -2\sum_{i = 1}^n[y_i - (ax_i + b)] = 2(\sum_{i = 1}^ny_i - a\sum_{i = 1}^nx_i - nb)$

    我们的目的是要求极值,所以令 $\frac{\partial M}{\partial a} = 0$,$\frac{\partial M}{\partial b} = 0$,令 $n\bar x = \sum_{i = 1}^nx_i$,$n\bar y = \sum_{i = 1}^ny_i$

    $\frac{\partial M}{\partial b} = -2(n\bar y - an\bar x - nb) = 0$

    $∴ b = \bar y - a\bar x$

    $a\sum_{i = 1}^nx_i^{2} + \bar y\sum_{i = 1}^nx_i - a\bar x\sum_{i = 1}^nx_i - \sum_{i = 1}^nx_iy_i = 0$

    $a\sum_{i = 1}^n x_i^{2} - a\bar x\sum_{i = 1}^nx_i = \sum_{i = 1}^nx_iy_i - \bar y\sum_{i = 1}^nx_i$

    $\sum_{i = 1}^nx_i^{2} - \bar x\sum{i = 1}^nx_i = \frac{\sum_{i = 1}^nx_iy_i - \bar y\sum_{i = 1}^nx_i)}{a}$

    $a = \frac{\sum_{i = 1}^nx_iy_i - \bar y\sum_{i = 1}^nx_i}{\sum_{i = 1}^nx_i^{2} - \bar x\sum_{i = 1}^nx_i}$

    $a = \frac{\sum_{i = 1}^n(x_i - \bar x)(y_i - \bar y)}{\sum_{i = 1}^n(x_i - \bar x)^{2}}$

  • 化简后可得:
    $$\begin{cases}a &= \frac{\sum_{i = 1}^n(x_i - \bar x)(y_i - \bar y)}{\sum_{i = 1}^n(x_i - \bar x)^{2}}\\b &= \bar y - a\bar x\end{cases}$$

Question

为什么最小二乘法中用模型预测数据与实际数据差的平方和最小而不是绝对值和最小?

http://blog.sciencenet.cn/blog-430956-621997.html

其实本质是因为我们需要预测值和实际值的误差符合正态分布,符合客观的统计规律。

线性回归的缺陷

  • 自变量和因变量一定要是线性
  • 线性回归对异常值非常敏感,会严重影响回归线,最终影响预测
  • 从公式中可以看出,随着 n 的增加,计算量会越来越大

线性回归的损失函数

指数损失函数