什么是预测区间和置信区间什么是预测区间和置信区间最近需要画带有置信区间的拟合图,其中在matlab的doc中搜索“Confidence and Prediction Bounds”,出现了两种置信区间。 置信区间估计(confidence interval estimate):利用估计的回归方程,对于自变量 x 的一个给定值 x0 ,求出因变量 y 的平均值的估计区间。 预测区间估计(prediction interval estimate):利用估计的回归方程,对于自变量 x 的一个给定值 x0 ,求出因变量 y 的一个个别值的估计区间。 预测区间的范围总是要比置信区间的范围要大的。就是说,给定一个X,估计对应Y的平均值平均值比估计一个个别值更精确一点。其实也好理解,估计平均值比估计个别值貌似更简单一点嘛。个别值更容易受一些外界因素影响而有差异性,而平均值则相对稳定些。 例1:当根据样本建立了回归方程后,假设需要预测以下2个问题:
第一个问题就是一个预测个别值的例子,而第2个问题就是预测一个平均值的例子。 例2:转自:https://www.6sq.net/question/496481 置信区间是以样本去估算总体,就是说 95% 的置信区间是指总体的区间,总体均值有95%在这个区间,而不是假如每100 有95个在区间内。 总结置信区间是以样本去估算总体,就是说 95% 的置信区间是指总体的区间,而不是假如每100 有95个在区间内,是指 总体均值有95%在这个区间,那么 预测区间是指 个体的区间,就是说100个有95个在这个区间。预测区间更广,置信区间更严谨更窄 看到咱们这个题目,不少小伙伴可能好奇了,求预测区间不就是求置信区间吗? 咦,难道这两个指的不是一回事儿? 没错,还真不是一码事儿呢,请看下图: 有没有发现,图中有件神奇的事情——预测区间比置信区间要宽许多. 这到底是为什么呢? 1. 回归模型在做回归分析的时候,首先要确定哪些是因变量,哪些是自变量. 因变量,就是因为某些影响因素变化而变化的量,它是被解释或被预测的对象,所以又被称为响应变量. 如果对应到机器学习中,回归模型的因变量就是我们所说的输出. 自变量,就是解释或预测因变量的量,所以又被称为解释变量. 如果对应到机器学习中,回归模型的自变量就是我们所说的输入. 根据因变量与自变量之间是否存在线性关系,回归模型可以分为
根据因变量包含的特征个数,可以分为
根据是否具有参数结构,又可以分为
说起来,回归模型可是占了统计学或者机器学习半边天的模型,真的是聊个一年半载都聊不完的话题. 因此,今天我们只从最简单的一元线性回归出发,解释一下置信区间与预测区间. 一元线性回归模型可以表示为: y = \beta_0 + \beta_1 x + \epsilon \\ 模型中,x 为自变量,y 为因变量,\beta_0 和 \beta_1 为模型参数,\epsilon 为随机误差项. 假如我们现在有一组样本量为 n 样本: T = \left\{(x_1, y_1), (x_2, y_2), \cdots, (x_n y_n)\right\} \\ 样本中 x 与 y 之间的散点图,如下图所示: 散点图中,各观测点基本上分布在直线周围,这说明,可以选择一元线性回归模型来研究该组数据. 假如模型中误差项 \epsilon 是一个服从正态分布 N(0, \sigma_e^2)的随机变量,那么,y 在每一个样本点处分布的形状相同,但是中心点不同 y_i \sim N(\beta_0 + \beta_1x_i, \sigma_e^2). \\ 这就说明,每给定一个 x = x_i,y 都服从期望为 \beta_0 + \beta_1x_i,方差为\sigma_e^2 的正态分布. 我们之后解释置信区间和预测区间时就用到了这里的分布. 如果用期望的形式重写之前的模型,可以表示为: E(y|x) = \beta_0 + \beta_1x. \\ 假设 x 是非随机的,也就说x 的取值是固定的,那么模型可以进一步简化为 E(y) = \beta_0 + \beta_1x. \\ 这里的期望形式被称为回归方程,是统计研究中常用的一种表达方式,因为我们在进行建模的s时候大多用的是条件期望来解释模型的,就如同在生活中大家最常用的是平均值. 如果考虑不同分位数水平下的情况,方程左边就不是期望值,而是分位数,那构建的就是分位数模型了. 比如,下面这种样本数据,我们就可以尝试用分位数模型建模. 这里提到分位数模型,只是为了帮大家打开数据分析的思路,表明获得的数据不同,研究的问题不同,那么建模的目的就不同,需要使用的模型也不同. 2. 参数估计对于一元线性回归模型 y = \beta_0 + \beta_1 x + \epsilon. \\ 该如何进行参数估计呢? 最小二乘法! 这个方法非常有名,因为这样估计参数,方法简单,又具有良好的性质. 下面咱们就来看看最小二乘法的原理. 简单来说,这个方法其实就是基于损失最小化来的,损失函数用的是平方损失,那么模型在每个点的损失就是 [y_i - (\beta_0 + \beta_1 x_i )]^2, \\ 在样本集上的损失和为 \sum_{i=1}^{n}(y_i - \beta_0 - \beta_1 x_i )^2. \\ 最小二乘法,就是寻找使平方损失和最小的参数 \arg \min_{\beta_0, \beta_1} \sum_{i=1}^{n}(y_i - \beta_0 - \beta_1 x_i )^2. \\ 为方便起见,我们把目标函数记为 Q = \sum_{i=1}^{n}(y_i - \beta_0 - \beta_1 x_i )^2. \\ 可能有小伙伴这时候纳闷了,为什么目标函数不用平方损失的均值呢? \frac{1}{n}\sum_{i=1}^{n}(y_i - \beta_0 - \beta_1 x_i )^2 \\ 这是因为,在训练模型的时候,我们用的是同一组样本,这个策略只是为了寻找到使这组样本达到平方损失最小的模型. 对于这组样本而言,{1}/{n} 始终是不变的,那么有没有这个 {1}/{n} 又有何分别呢? 根据奥卡姆剃刀原理,在效果相同的时候,自然是选择更简洁的那个策略啦. 再回到刚才所讲的最小二乘法, 由于目标函数一个凸函数,求最小值,可以通过对目标函数求偏导,令其导函数为 0 获得, \left\{\begin{aligned} &\frac{\partial Q}{\partial \beta_0} = -2\sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_i ) =0 \\ &\frac{\partial Q}{\partial \beta_1} = -2\sum_{i=1}^{n} x_i(y_i - \beta_0 - \beta_1 x_i ) =0 \\ \end{aligned} \right. \\ 解上述方程组,将结果记为 \hat{\beta}_0 和 \hat{\beta}_1,即为估计所得参数: \left\{\begin{aligned} &\hat{\beta}_1 = \frac{n\sum_{i=1}^n x_i y_i - \sum_{i=1}^{n}x_i \sum_{i=1}^{n}y_i}{n\sum_{i=1}^{n}(x_i - \overline{x})^2 } \\ &\hat{\beta}_0 = \overline{y} - \hat{\beta}_1 \overline{x} \\ \end{aligned} \right. \\ 这里 \overline{x} = \sum_{i=1}^n x_i/n,\overline{y} = \sum_{i=1}^n y_i/n. 拟合所得回归直线为: \hat{y}_i = \hat{\beta}_0 + \hat{\beta}_1x_i. \\ 这里,\hat{y}_i 就是通过训练所得模型计算出来的输出值. 之所以回顾参数估计,是因为预测时的置信区间和预测区间就是根据这个估计值的来的. 通过简单运算,易得,\hat{\beta}_1 的分布为 \hat{\beta}_1 \sim N(\beta_1, \frac{\sigma_e^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}) \\ 无论是模型的检验(一般只关注于自变量系数),还是下文的回归预测,都不需要 \hat{\beta}_0 的分布,所以这里并未列出. 3. 预测如果通过各种检验之后,发现咱们训练出的这个模型的确还不错,那么就可以用来做预测啦. 预测其实也就是估计,可以做点估计也可以做区间估计. 拍一下脑袋,直接一想:点估计应该很简单吧,根据训练得到的模型计算一个数值不就可以了. 其实不然,由于含义不同,这里的点估计分为两种:平均值估计和个别值估计. 这两种点估计理解了,下面的置信区间和预测区间,不费吹灰之力就能搞懂. 3.1 置信区间置信区间其实就是从平均值点估计出发的区间估计. 「平均值估计」 E(y) = \beta_0 + \beta_1x \\ 先看这个回归方程,它表示什么含义呢? 对于某个特定的 x = x_0,根据估计所得的参数,可以计算 \hat{y}_0 = \hat{\beta}_0 + \hat{\beta}_1x_0 \cdots (公式1) \\ 那么,此处的 \hat{y}_0 表示 E(y_0) 的估计值, 也就是把 y_0 看做随机变量的话,\hat{y}_0 就表示 y_0 所服从的分布的中心点的估计值. 这就是平均值点估计. 但是,若要度量这个预测的可信程度,一个点是不行的,还是得需要区间估计. 「置信区间」 要做区间估计,首先得找到 \hat{y}_0 的分布. 为方便计算,我们先把 \hat{y}_0 分解为两个不相关的随机变量. \begin{align*} \hat{y}_0 &= \hat{\beta}_0 + \hat{\beta}_1x_0 \\ & = \overline{y} + \hat{\beta}_1(x_0 - \overline{x})\\ \end{align*} \cdots (公式2) \\ 从(公式2)可以看出,平均值估计 \hat{y}_0 的分布其实是通过 \overline{y} 和 \hat{\beta}_1 的分布来决定的. 这时候可能有人会问,为什么你不考虑 \overline{x} 分布呢? 这是因为,在给出这个回归模型的时候,我们假设 x 是非随机的,也就是说 \overline{x} 都不是一个随机变量,又何谈分布呢? 在第一小节中,当误差项服从 N(0,\sigma_e^2) 分布时, y_i \sim N(\beta_0 + \beta_1x_i, \sigma_e^2). \\ 可以得到, \overline{y} \sim N(\beta_0 + \beta_1\overline{x}, \frac{\sigma_e^2}{n}). \\ 可见,\overline{y} 和 \hat{\beta}_1 的分布都为正态分布,而两个正态分布变量线性组合之后所得的 \hat{y}_0,也应该服从正态分布. 下面只要求出 \hat{y}_0 的期望和方差就可以了. 期望 \begin{align*} E(\hat{y}_0) &= E\{\overline{y}) + E(\hat{\beta}_1(x_0 - \overline{x})\} \\ & = \beta_0 + \beta_1\overline{x} + (x_0 - \overline{x}) \beta_1 \\ & = \beta_0 + \beta_1x_0 \end{align*} \\ 方差 \begin{align*} Var(\hat{y}_0) & = Var(\overline{y}) + Var\{\hat{\beta}_1(x_0 - \overline{x})\} \\ & = Var(\overline{y}) + (x_0 - \overline{x})^2 Var{\hat{\beta}_1} \\ & = \left\{\frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}\right\}\sigma_e^2 \end{align*} \\ 即,\hat{y}_0 的分布为 N(\beta_0 + \beta_1x_0, \left\{\frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}\right\}\sigma_e^2) \\ 一般情况下,\sigma_e^2 的值未知,所以只能用估计来替代, s_e^2 = \frac{\sum_{i=1}^{n}(y_i - \hat{y}_i)^2}{n-2} \\ 其中,\hat{y}_i 是对应于 x_i 的回归值. \frac{(n-2)s_e^2}{\sigma_e^2} \sim\mathcal{X}^2(n-2) \\ 所以, \frac{\hat{y}_0 - (\beta_0 + \beta_1x_0)}{s_e\sqrt{\frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}}} \sim t(n-2) \\ 给定 1-\alpha 的置信水平的话,区间估计就是 \hat{y}_0 \pm t_{\alpha/2}(n-2)\cdot s_e\sqrt{\frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}} \\ 这就是给定 x = x_0 的情况下,E(y_0) 在 1-\alpha 置信水平下的置信区间. 3.2 预测区间预测区间就是从个别值点估计出发的区间估计了. 「个别值点估计」 个别值点估计可以从回归直线来理解. 对于某个特定的值 x = x_0,根据估计所得的参数,可以计算 y 的个别值的点估计: \hat{y}_0 = \hat{\beta}_0 + \hat{\beta}_1x_0+ \epsilon_0 \cdots (公式3) \\ 这里 \hat{y}_0 表示个别值 y_0 的估计值. 因为 y_0 是包含一个随机误差项,所以 \hat{y}_0 实际上应该是包含 \epsilon_0. 只是,在计算 y_0 估计值的时候,默认 \epsilon_0 = 0 罢了. 对比(公式1)和(公式3),大家应该发现,(公式3)等式右边多了一个误差项,这个误差项是一个随机变量. 也就是说,因为看问题的视角不同,一个是平均值角度,一个是个别值角度,所以两个公式左边的 \hat{y}_0 含义不同,对应的分布也不同. 在个别值估计的视角,计算\hat{y}_0 的期望和方差. 期望 \begin{align*} E(\hat{y}_0) &= E\{\overline{y}) + E(\hat{\beta}_1(x_0 - \overline{x})\} + E(\epsilon_0) \\ & = \beta_0 + \beta_1\overline{x} + (x_0 - \overline{x}) \beta_1 + 0\\ & = \beta_0 + \beta_1x_0 \end{align*} \\ 方差 \begin{align*} Var(\hat{y}_0) & = Var(\overline{y}) + Var\{\hat{\beta}_1(x_0 - \overline{x})\} + Var(\epsilon_0)\\ & = Var(\overline{y}) + (x_0 - \overline{x})^2 Var{\hat{\beta}_1} + Var(\epsilon) \\ & = \left\{1 + \frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}\right\}\sigma_e^2 \end{align*} \\ 当用估计值 s_e^2 来替 代\sigma_e^2 时, \frac{\hat{y}_0 - (\beta_0 + \beta_1x_0)}{s_e\sqrt{1 + \frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}}} \sim t(n-2) \\ 给定 1-\alpha 的置信水平的话,区间估计就是 \hat{y}_0 \pm t_{\alpha/2}(n-2)\cdot s_e\sqrt{1 + \frac{1}{n} + \frac{(x_0 - \overline{x})^2}{\sum_{i=1}^{n}(x_i - \overline{x})^2}} \\ 这就是给定 x = x_0 的情况下,y_0 在 1-\alpha 置信水平下的预测区间. 在做预测的时候:
|