广义加性模型(GAM)

您所在的位置:网站首页 r语言gam模型讲解 广义加性模型(GAM)

广义加性模型(GAM)

2023-07-21 05:57| 来源: 网络整理| 查看: 265

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

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

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

y i = β 0 + β 1 x 1 1 + β 2 x 2 2 + . . . + β n x n n + e i y_i = \beta_0 + \beta_1 x_1^1 + \beta_2 x_2^2 + ... + \beta_n x_n^n + e_i yi​=β0​+β1​x11​+β2​x22​+...+βn​xnn​+ei​

再来看一下k个节点三次样条的公式: y i = β 0 + β 1 b 1 ( x 1 ) + β 2 b 2 ( x 2 ) + . . . + β n b n ( x n ) + e i y_i = \beta_0 + \beta_1 b_1(x_1) + \beta_2 b_2(x_2) + ... + \beta_n b_n(x_n) + e_i yi​=β0​+β1​b1​(x1​)+β2​b2​(x2​)+...+βn​bn​(xn​)+ei​

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

y i = β 0 + f 1 ( x i 1 ) + f 2 ( x i 2 ) + . . . + f n ( x i n ) + e i y_i = \beta_0 + f_1(x_{i1}) + f_2(x_{i2}) + ... + f_n(x_{in}) + e_i yi​=β0​+f1​(xi1​)+f2​(xi2​)+...+fn​(xin​)+ei​

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

f ( x i ) = x i f(x_i) = x^i f(xi​)=xi

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

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

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

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

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

想浏览更多关于数学、机器学习、深度学习的内容,可浏览本人博客



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3