广义相加模型

我们之前已经学过线性模型和广义线性模型,线性模型的意思就是响应变量和解释变量之间服从线性关系,广义线性模型就是指如果能通过一些变换,让原本不服从线性关系的响应变量解释变量,转换成线性关系,那么他们之间就是具有广义线性关系。

除了线性模型和广义线性模型,在回归模型中,我们还介绍了多项式回归、核回归、LOESS、回归样条等等,这些模型可以针对非线性的关系进行拟合,但是,我们有没有想过,这些模型从公式的角度来说,其实本质是相似的。

我们可以拿出几个模型的公式来分析看看,首先是最简单的多项式回归:

\[y_{i}=\beta_{0}+\beta_{1} x_{1}^{1}+\beta_{2} x_{2}^{2}+\ldots+\beta_{n} x_{n}^{n}+e_{i}\]

再来看一下k个节点三次样条的公式:

\[y_{i}=\beta_{0}+\beta_{1} b_{1}\left(x_{1}\right)+\beta_{2} b_{2}\left(x_{2}\right)+\ldots+\beta_{n} b_{n}\left(x_{n}\right)+e_{i}\]

还有很多公式,就不再继续在这里列举了。事实上,这些非线性回归模型,都可以归纳为广义相加模型(generalized additive model),都可以写成一下形式:

\[\begin{equation} y_{i}=\beta_{0}+f_{1}\left(x_{i 1}\right)+f_{2}\left(x_{i 2}\right)+\ldots+f_{n}\left(x_{i n}\right)+e_{i} \end{equation}\]

式子中的f可以是任意形式的函数,对每个单独的 $x_{in}$(第 $i$ 组数据的第 $n $ 个变量)计算f,最后把结果统一起来预测y。可以看出,其实f选择的不同,广义加性模型就可以变成各种之前提到的模型,比如通过f:

\[\begin{equation} f\left(x_{i}\right)=x^{i} \end{equation}\]

这样GAM就变成了多项式回归模型了。

GAM的好处就在于,它是以一种自由度更高的方式去拟合数据,在建模之前并不需要分析出响应变量解释变量之间的关系,特别是像选择回归样条这类能够拟合效果比较好的方法,对响应变量和每个解释变量单独建模,再相加得到GAM,最后再求参数,这样的拟合效果理论上是很强大的。

GAM的一个缺点是没有考虑到解释变量事件的相互作用,这个可以从公式的形式看出来。

总结

广义相加模型提供一个有用的线性模型拓展,使得模型不仅保留着大部分的可解释性,也更加灵活。在线性模型中建模和推断熟悉的工具对于加性模型也是适用的,见表 9.2 的例子。拟合这些模型的 backfitting 过程是简单而有模式的,允许对于每个输入变量去选择合适的拟合方法.在统计领域它们越来越被广泛地应用.

然而可加模型对于大的数据挖掘的应用是有限制的,backfitting 算法拟合所有的预测变量,而大部分的预测变量是不可行的也不是必需的.