原文链接:http://tecdat.cn/?p=23509
咱们在钻研工作中应用狭义加性模型(GAMs)。mgcv软件包是一套优良的软件,能够为十分大的数据集指定、拟合和可视化GAMs。
这篇文章介绍一下狭义加性模型(GAMs)目前能够实现的性能。
咱们须要加载mgcv
library('mgcv')
受欢迎的例子数据集
dat中的数据在GAM相干的钻研中失去了很好的钻研,蕴含了一些协变量--标记为x0到x3--这些协变量在不同水平上与因变量有非线性关系。
咱们想通过应用样条来迫近协变量和因变量之间的实在关系来尝试拟合这些关系。为了拟合一个加性模型,咱们应用
gam(y ~ s(x0) + s(x1) + s(x2) + s(x3), dat, "REML")
mgcv提供了一个summary()办法,用来提取对于拟合GAM的信息。
check()函数,用于查看模型中的每个润滑_函数_是否应用了足够数量的基函数。你可能没有间接应用check()——会输入其余诊断后果,也会产生四个模型诊断图。
绘制润滑_函数_图
为了将预计的GAMs可视化,mgcv提供了plot.gam()办法和vis.gam()函数,从对象中产生相似ggplot2的图。为了使GAM模型中的四个预计润滑_函数_可视化,咱们将应用
plot(mod)
后果是绘制mod GAM中每一个润滑_函数_。
应用plot函数在绘图设施上绘制多个面板,并将各个绘图排成一行。
提取润滑_函数_数据
用于解决mod中示意的根底润滑_函数_,如果你想提取用于构建该图的大部分数据,你能够应用smooth()函数。
smooth(mod, "x1")
诊断图
由check()产生的诊断图
check(mod)
后果是一个蕴含四个诊断图的数组,包含模型残差的Q-Q图(左上)和直方图(左下),残差与线性预测器的图(右上),以及察看值与拟合值的图。
这四张图中的每一张都是通过用户可拜访的函数生成的,函数实现了一个特定的图。例如,qqplot(mod)产生上图左上方的Q-Q图。
qqplot(mod)
qqplot(mod)的后果是一个残差的Q-Q图,其中的参考量值是通过模仿拟合模型的数据而失去。
还能够解决目前可用的许多更业余的
润滑_函数_。例如,二维
润滑_函数_。
plot(mod)
二维润滑_函数_的默认绘制形式是应用plot()。
和因子润滑_函数_交互项,相当于润滑曲线的随机斜率和截距,被画在一个面板上,色彩被用来辨别不同的随机润滑_函数_。
## 模仿数据f0 <- function(x) 2 * sin(pi * x)f1 <- function(x, a=2, b=-1) exp(a * x)+bf2 <- function(x) 0.2 * x^11 * (10 * (1 - x))^6 + 10 * (10 * x)^3 * (1 - x)^10f <- f0(x0) + f1(x1, a\[fac\], b\[fac\]) + f2(x2)fac <- factor(fac)y <- f + rnorm(n) * 2plot(mod)
含有因子-润滑_函数_交互项的更简单的GAM的后果,bs = 'fs'。
还能做什么?
能够解决mgcv能够预计的大多数润滑_函数_,包含带有因子和间断副变量的按变量润滑_函数_、随机效应润滑_函数_(bs = 're')、二维张量积润滑_函数_,以及带有参数项的模型。
参考文献
Augustin, N. H., Sauleau, E.-A., and Wood, S. N. (2012). On quantile quantile plots for generalized linear models. _Computational statistics & data analysis_ 56, 2404–2409. doi:10.1016/j.csda.2012.01.026.
最受欢迎的见解
1.R语言多元Logistic逻辑回归 利用案例
2.面板平滑转移回归(PSTR)剖析案例实现
3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R语言泊松Poisson回归模型剖析案例
5.R语言混合效应逻辑回归Logistic模型剖析肺癌
6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
7.R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
8.python用线性回归预测股票价格
9.R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测