高级统计方法 第一轮学习 Chapter 7 非线性模型
多项式回归
多项式回归
多项式回归
多项式回归(polynomial regression):以预测变量的幂作为新的预测变量以替代原始变量。例如,三次回归模型有三个预测变量 ,是一种简单实用的表达数据非线性关系的模型。
模型为:
对阶数 的选择不宜过大,一般不大于 或 。
的标准误差计算如下:
-
最小二乘法能到每个系数 的方差估计,以及每一对系数估计之间的协方差。
-
由此可以计算出 的方差:
的逐点标准误差(函数在某个已知点的标准误)就是其方差的平方根。
R 中可采用 lm() 函数拟合多项式回归模型。poly() 函数避免了输入带有 幂项的繁琐公式,其返回的是一个矩阵,列表示的是正交多项式的基。
poly() 函数也可通过内加 raw=TRUE 参数,实现直接估计 , , 和 。
raw=TRUE 表示直接使用 的原始值;如果不设置此项,R 函数将对年龄数据进行变换(一般是正交变换即施密特正交化)后,再进行回归,所以二者得到的系数不同。
将多项式函数作为预测变量的逻辑斯谛回归就能用来分类。即拟合的为下列模型:
阶梯函数
阶梯函数
阶梯函数
阶梯函数(step function):将预测变量的取值空间划分为若干区域,以此来生成新的预测变量,并在每个区间内拟合一个常数值。
首先在 的范围内选择 个切点 ,将 的取值空间划分为 个区间:
其中 是示性函数,表示当括号内条件成立时取值为 ,否则取值为 。
只能落在 个区间中的某一个,于是对任意 的取值:
以 作为新的预测变量,拟合下列线性模型:
-
对于 的一个给定值, 中至多只有一项是非零的。
-
当 时,式中每个 ,,所以 是 在区间 上的预测值。
当 时,,所以 是区间 上的相应变量的平均增量。
-
本质上,是基于 取值设置的哑变量。
-
回归结果相当于对 分段赋值以固定值。
拟合阶梯函数前,需对数据先用cut() 函数处理,可自动对年龄变量进行分割点的选择,cut() 函数返回的实际上是一个有序变量,之后lm() 据此生成一系列回归中的哑变量。
基函数
基函数
基函数
多项式和阶梯函数回归模型实际上是特殊的基函数方法。基本原理是使用变量X的函数或变换 作为新的预测变量,拟合线性模型:
- 称为基函数(basis function)。
多项式回归:基函数为 。
阶梯函数回归:基函数为 。
回归样条
4.1 以分段多项式回归为例
以分段多项式回归为例
分段多项式将 的取值范围切割成 个区域,在每个区域分别独立拟合一个多项式函数。
回归样条的多项式一般有一些限制,从而保证在区域边界或称为结点的位置,这些多项式能够得到光滑的连接。
简单说,分段多项式在 的不同区域拟合独立的低阶多项式函数,以此取代在 全部取值范围内拟合高阶多项式。系数发生变化的临界点(区域边界)称为结点 (knot)。
无节点的分段多项式,就是标准的三次多项式。
只有一个节点的三次多项式,方程可以为
如果不加以限制,可能会出现节点处有不连续的现象。
故而需要加上必要的额外限制,使得任一侧的多项式在节点上应该是连续的。
4.2 约束条件与样条类型
约束条件与样条类型
| 约束级别 | 对应样条类型 |
|---|---|
| 无约束 | 普通分段多项式 |
| (值连续) | 连续分段多项式 |
| (值+一阶导连续) | 三次 Hermite、普通三次样条 |
| (值+一阶+二阶导连续) | 经典三次样条、B 样条、平滑样条、自然/夹紧/周期样条 |
| + 额外形状约束 | 单调、保凸、保形样条(PCHIP 等) |
| + 惩罚项 | 平滑样条(Smoothing spline) |
| 局部支撑 + | B 样条(统计中最常用基函数) |
4.3 阶样条的定义
阶样条的定义
阶样条的一般定义是:分段 阶多项式,同时在每个节点的 阶导数(即:函数自身)到 阶导数都是连续的。
但是,直接保证分段的多项式的 阶导数(即:函数自身)到 阶导数都是连续的,是非常困难的。
我们改为使用基函数的方式表达样条:下式中 为基函数;通过选择合适的基函数,使得相加后的整个式子在节点处满足约束:在每个节点 阶导数(即:函数自身)到 阶导数都是连续的。
线性样条
在每个区域内拟合一条直线,同时要求在各结点处满足连续性。
即:一个节点为 的线性样条。该样条在节点处连续,为分段线性多项式。
其中 为基函数:
此处 表示当括号内的值大于 时取值,否则取 。
本质上,依然是分段线性函数。
方式上,采用基函数累加的方式,即每一段都是在前段数值的基础上累加,保证连续(样条定义中的要求);而不是每段都设计全新线性函数(并要求连续)。
三次样条
先以三次多项式的基为基础,即 ,然后在每个节点添加一个截断幂基:
其中 为基函数:
截断幂基:
本质上,依然是分段三次多项式函数。
方式上,采用基函数累加的方式,即每一段都是在前段数值的基础上累加,保证连续(样条定义中的要求);而不是每段都设计全新的三次多项式函数(并要求连续)。
需估计 个系数,因此拟合三次样条总共需要 个自由度。
自然样条
自然样条(natural spline):在边界处强制要求二阶导数为零的三次样条。附加了边界约束的回归样条,函数在边界区域应该是线性的,这里的边界区域指的是 的值比最小的结点处的值小或比最大的结点处的值大。
节点选择方式
节点分布:让结点在数据上呈现均匀分布;首先确定自由度,然后靠软件自动在数据的均匀分位数点上设置相应个数的结点。
具有 个结点的三次样条有 个参数或自由度;具有 个节点的自然样条有 个自由度。
如何确定节点个数(自由度):
-
尝试多个不同结点个数(或自由度),选择最优曲线。
-
交叉验证方法:首先移除部分数据,用剩余的数据拟合样条函数,接着用拟合的样条函数来对移除的那部分数据做预测,不断重复,最后计算整体交叉验证 RSS。
与多项式回归作对比
回归样条通常得到的结果比多项式回归更好(增加了截断幂基)。
-
多项式回归需设定较高幂次(自由度随之增高)。
-
而样条函数通过增加结点个数提升结果,但保持自由度固定。
-
此外,样条方法还允许我们在函数变化快的地方设置更多节点,在变化慢的地方设置少些节点,从而提升整体的效果。
光滑样条
5.1 光滑样条
光滑样条
最小化一个带光滑惩罚项的残差平方和的式子,得到光滑样条的结果。
具体的,拟合式子除了残差平方和外,还有一个光滑惩罚项,如下,其中 是一个非负的调节参数。
式中, 为损失函数,即 RSS, 为惩罚项,表示函数 的曲率。
上述损失函数部分使得函数 能很好地拟合数据。而波动性惩罚部分 则控制其整体波动性。
是函数的二阶导数,衡量的是函数的粗糙程度。
如果 在 处波动剧烈(粗糙),则 绝对值较大,反之接近于 。积分表示是在 的取值区域内对粗糙程度求和。较大,反之接近于 。积分表示是在 的取值区域内对粗糙程度求和。
-
时,惩罚项不起作用,得到的 相当于在每个训练数据点上做插值(注意:这里并没有限制 的形式;所以,不是线性/三次等设定的函数形式)。
-
时, 非常平稳并趋近于直线(使得二阶导平方的积分趋为 ),相应的,此时得到的 即为最小二乘线;对于比较适中的 , 会尽量接近训练点,同时也比较光滑。
-
在这里控制的是偏差-方差的均衡。
最小化该式,本质上是在不同 取值处 作为节点的三次多项式,且每个节点处的一阶、二阶导数都连续。
此外,在节点之外的区域是线性的。
总结来说:该式子的优化结果是节点为 的自然三次样条。
但是与给定节点为 然后确定基函数的传统步骤得到的自然三次样条是不同的。上式的结果,可以认为是自然三次样条的收缩版本, 控制了收缩的程度。
光滑样条本质上就是“在所有数据点放 knot 的自然三次样条”,不过通过 自动控制了它的自由度。
有效自由度
调节参数 控制光滑样条的粗糙度,同时也控制着有效自由度。
其中 是光滑样条的平滑矩阵。: 是优化方程对于给定 的解。 是一个 维向量,是训练集 对应的光滑样条拟合值。表明光滑样条的拟合值可以写成一个 矩阵 乘以响应变量向量 的形式。
光滑样条的自由度理论上是 (训练样本中 的 种取值对应 的 种取值),但被大量限制或者压缩。
有效自由度 是矩阵 的迹 (trace),即矩阵对角线元素之和。 从 到 变化时,有效自由度页随之从 变化到 2。
参数 的选择:使用交叉验证方法确定 的值,选择能够使得交叉验证的 RSS 尽量小的 作为解。如果使用留一交叉验证,有如下快速公式(即:代价与拟合一个模型是一致的)
其中 是在不包含第 个数据点的训练集上拟合得到的光滑样条在 处的预测值。
局部回归
6.1 局部回归
局部回归
-
局部回归仅使用附近的训练观测值,并使用(加权)最小二乘来拟合目标点 处的数值。
-
可以通过各种方式执行局部回归,某些变量可以全局拟合,而某些局部拟合。
局部回归(local regression)与样条结果比较相近,最大的差别在于局部回归中的区域之间是可以重叠的(样条拟合使用结点分段 ,各段不重叠),这个条件保证了局部回归整体光滑的拟合结果。
过程
-
选取占所有数据 比例的最靠近 的数据 。
-
对这些数据点赋予权重 ,距离 越近的点权重越大,距离越远的点权重越小。常用的权重函数是三次权重函数:
其中 是一个正数,称为带宽 (bandwidth),决定了在 附近有多少数据点被赋予非零权重。
-
- 用定义好的权重在 处拟合加权最小二乘回归,也就是对下式最小化
-
根据 得到 处的预测值。
广义可加模型
7.1 广义可加模型
广义可加模型
提供一种对标准多元线性模型进行推广的框架。框架中,每个变量用一个非线性函数替换,同时保持着模型的整体可加性。
可用于响应变量定性(分类)与定量(回归)的情形:
用于回归问题:
用于分类问题:
用于回归问题
对多元线性回归模型用一个光滑的非线性函数 替代每个预测变量 的线性项 ,从而得到广义可加模型:
这个模型称为可加模型,对每一个 对应一个独立的计算单元 ,然后将分项结果加在一起。
GAM 的优点与不足
-
GAM 模型可允许对每一个 都拟合一个非线性函数 ,可自动地对“被标准的线性回归模型所忽略”的非线性关系进行建模,不需手动为每一个变量设置不同的变形方式。
-
非线性拟合模型能将响应变量预测得更精准。
-
模型是可加的,能在保持其他变量不变的情况下看每个变量 对 单独的影响效果。
-
针对变量 的函数 的光滑性也能通过对自由度的分析得到。
-
GAM 模型的形式被限定为可加形式。在多变量的情况下,会忽略有意义的交互项。但可以通过增加形式为 ,使得 GAM 也能够表达交互效应。另外可以增加形式为 的低维交互项,可应用一些二维光滑方法如局部回归或者二维样条来拟合。
用于分类问题
GAM 也可以用于当 为定性变量的时候,假设 只取 0 或者 1。令 是给定预测变量值时响应变量为 的条件概率。下式为逻辑斯谛回归模型:
左侧为对分数,由上式推广可得: