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

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

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

广义加性模型r语言 广义加性模型实例_广义加性模型r语言

再来看一下k个节点三次样条的公式:
广义加性模型r语言 广义加性模型实例_GAM_02

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

广义加性模型r语言 广义加性模型实例_GAM_03

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

广义加性模型r语言 广义加性模型实例_GAM_04

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

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

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

在github写的自然语言处理入门教程,持续更新:NLPBeginner

在github写的机器学习入门教程,持续更新:MachineLearningModels