拓端tecdat|R語言廣義相加(加性)模型(GAMs)與光滑函數(shù)可視化
原文鏈接:http://tecdat.cn/?p=23509?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
我們?cè)谘芯抗ぷ髦惺褂脧V義加性模型(GAMs)。mgcv軟件包是一套優(yōu)秀的軟件,可以為非常大的數(shù)據(jù)集指定、擬合和可視化GAMs。
這篇文章介紹一下廣義加性模型(GAMs)目前可以實(shí)現(xiàn)的功能。
我們需要加載mgcv
library('mgcv')
受歡迎的例子數(shù)據(jù)集
dat中的數(shù)據(jù)在GAM相關(guān)的研究中得到了很好的研究,包含了一些協(xié)變量--標(biāo)記為x0到x3--這些協(xié)變量在不同程度上與因變量有非線性關(guān)系。

我們想通過使用樣條來逼近協(xié)變量和因變量之間的真實(shí)關(guān)系來嘗試擬合這些關(guān)系。為了擬合一個(gè)加性模型,我們使用
gam(y ~ s(x0) + s(x1) + s(x2) + s(x3), dat, ?"REML")
mgcv提供了一個(gè)summary()方法,用來提取關(guān)于擬合GAM的信息。

check()函數(shù),用于檢查模型中的每個(gè)光滑函數(shù)是否使用了足夠數(shù)量的基函數(shù)。你可能沒有直接使用check()——會(huì)輸出其他診斷結(jié)果,也會(huì)產(chǎn)生四個(gè)模型診斷圖。
繪制光滑函數(shù)圖
為了將估計(jì)的GAMs可視化,mgcv提供了plot.gam()方法和vis.gam()函數(shù),從對(duì)象中產(chǎn)生類似ggplot2的圖。為了使GAM模型中的四個(gè)估計(jì)光滑函數(shù)可視化,我們將使用
plot(mod)

結(jié)果是繪制mod GAM中每一個(gè)光滑函數(shù)。
使用plot函數(shù)在繪圖設(shè)備上繪制多個(gè)面板,并將各個(gè)繪圖排成一行。
提取光滑函數(shù)數(shù)據(jù)
用于處理mod中表示的基礎(chǔ)光滑函數(shù),如果你想提取用于構(gòu)建該圖的大部分?jǐn)?shù)據(jù),你可以使用smooth()函數(shù)。
smooth(mod, "x1")

診斷圖
由check()產(chǎn)生的診斷圖
check(mod)

結(jié)果是一個(gè)包含四個(gè)診斷圖的數(shù)組,包括模型殘差的Q-Q圖(左上)和直方圖(左下),殘差與線性預(yù)測(cè)器的圖(右上),以及觀察值與擬合值的圖。
這四張圖中的每一張都是通過用戶可訪問的函數(shù)生成的,函數(shù)實(shí)現(xiàn)了一個(gè)特定的圖。例如,qqplot(mod)產(chǎn)生上圖左上方的Q-Q圖。
qqplot(mod)

qqplot(mod)的結(jié)果是一個(gè)殘差的Q-Q圖,其中的參考量值是通過模擬擬合模型的數(shù)據(jù)而得到。
還可以處理目前可用的許多更專業(yè)的
光滑函數(shù)。例如,二維
光滑函數(shù)。
plot(mod)

二維光滑函數(shù)的默認(rèn)繪制方式是使用plot()。
和因子光滑函數(shù)交互項(xiàng),相當(dāng)于光滑曲線的隨機(jī)斜率和截距,被畫在一個(gè)面板上,顏色被用來區(qū)分不同的隨機(jī)光滑函數(shù)。
## 模擬數(shù)據(jù)
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)

含有因子-光滑函數(shù)交互項(xiàng)的更復(fù)雜的GAM的結(jié)果,bs = 'fs'。
還能做什么?
可以處理mgcv可以估計(jì)的大多數(shù)光滑函數(shù),包括帶有因子和連續(xù)副變量的按變量光滑函數(shù)、隨機(jī)效應(yīng)光滑函數(shù)(bs = 're')、二維張量積光滑函數(shù),以及帶有參數(shù)項(xiàng)的模型。
參考文獻(xiàn)
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邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實(shí)現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言混合效應(yīng)邏輯回歸Logistic模型分析肺癌
6.r語言中對(duì)LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
7.R語言邏輯回歸、Naive Bayes貝葉斯、決策樹、隨機(jī)森林算法預(yù)測(cè)心臟病
8.python用線性回歸預(yù)測(cè)股票價(jià)格
9.R語言用邏輯回歸、決策樹和隨機(jī)森林對(duì)信貸數(shù)據(jù)集進(jìn)行分類預(yù)測(cè)