广义加性模型 (GAM)
知识点概述
广义加性模型(Generalized Additive Models, GAM)是广义线性模型(GLM)的进一步扩展,它允许模型自动地学习和捕捉特征与目标之间的非线性关系。GAM通过将特征的线性项替换为灵活的平滑函数(smooth functions)来实现这一点,同时保持了模型的可加性,从而保留了较好的可解释性。
教材原文
为什么不“简单”地允许(广义)线性模型学习非线性关系呢?这就是GAM背后的动机。GAM放宽了这种限制,即关系必须是一个简单的加权和,而是假定可以由每个特征的任意函数的和建模结果。在数学上,GAM中的关系如下: 该公式与 GLM 公式类似, 不同之处在于线性项 被更灵活的函数 取代。
详细解释
- 动机: 线性模型(包括GLM)假设特征对目标的影响是线性的(即特征每增加一个单位,目标的变化是固定的)。但在现实世界中,许多关系是非线性的。例如,温度对自行车租用量的影响,在低温区是正向的,但温度过高时则会变为负向。手动进行特征转换(如取对数、平方)或分箱可以处理非线性,但很繁琐且不一定最优。
- 核心原理: GAM的核心思想是用一系列“平滑函数” 来代替线性项 。
- 可加性 (Additive): 模型的预测结果仍然是各个(平滑后的)特征效应的总和。这使得我们仍然可以分离和独立地分析每个特征对预测的影响。
- 平滑函数 (Smooth Functions): 这些非线性函数通常由样条函数 (Splines) 构建。样条可以被看作是一系列局部多项式函数的组合,它们被平滑地连接在一起,能够拟合各种复杂的曲线。
- 学习过程:
- 基函数展开: 对于每个需要非线性建模的特征,我们不再只使用原始的特征列,而是将其替换为一组(例如4个或更多)代表样条基函数的列。
- 带惩罚的拟合: GAM像拟合一个普通的GLM一样来估计这些基函数的权重。关键在于,它会增加一个惩罚项,以控制平滑函数的“曲折度”(wiggliness)。这个惩罚项会使得函数曲线趋向于平滑,防止过拟合。平滑度通常通过交叉验证来确定。
- 解释:
- 对于模型中的线性项,解释与GLM相同。
- 对于非线性项(平滑函数),我们无法再用单个权重来概括其影响。解释它们最好的方式是可视化,即绘制出学习到的平滑函数曲线 。这个图(也称为偏效应图)展示了在控制了其他所有特征后,特征 的变化如何影响预测结果。曲线的形状揭示了非线性关系。
学习要点
- 理解GAM是GLM的扩展,它用平滑函数代替了线性项来捕捉非线性关系。
- 知道GAM的核心是“可加性”,这使得模型在获得灵活性的同时,依然保持了较好的可解释性。
- 了解样条函数是构建平滑函数的基础,而惩罚项是控制平滑度和防止过拟合的关键。
- 掌握GAM的解释主要依赖于对学习到的平滑函数曲线进行可视化分析。
实践应用
- 环境科学: 建模空气污染水平与气象因素(如温度、风速)之间的非线性关系。
- 金融: 预测客户的信用风险时,客户的年龄、收入等因素对风险的影响可能是非线性的。
- 生态学: 分析物种丰度与环境梯度(如海拔、土壤湿度)之间的关系。
关联知识点
- 前置知识: 18-理论方法-广义线性模型(GLM)
- 后续知识: 30-理论方法-部分依赖图(PDP) (PDP可以用来可视化任何黑盒模型学到的非线性关系,与GAM的偏效应图思想类似)