乐趣区

关于算法:R语言广义相加加性模型GAMs与光滑函数可视化

原文链接: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)+b
f2 <- function(x) 0.2 * x^11 * (10 * (1 - x))^6 + 10 * (10 * x)^3 * (1 - x)^10
f <- f0(x0) + f1(x1, a\[fac\], b\[fac\]) + f2(x2)
fac <- factor(fac)
y <- f + rnorm(n) * 2


plot(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 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

退出移动版