广义加性模型(GAM) |
您所在的位置:网站首页 › r语言gam模型讲解 › 广义加性模型(GAM) |
之前介绍过线性模型和广义线性模型,线性模型的意思就是响应变量和解释变量之间服从线性关系,广义线性模型就是指如果能通过一些变换,让原本不服从线性关系的响应变量解释变量,转换成线性关系,那么他们之间就是具有广义线性关系。 除了线性模型和广义线性模型,在回归模型中,我们还介绍了多项式回归、核回归、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+β1x11+β2x22+...+βnxnn+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+β1b1(x1)+β2b2(x2)+...+βnbn(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 |