當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R gam.check 擬合 gam 模型的一些診斷


R語言 gam.check 位於 mgcv 包(package)。

說明

獲取由 gam() 生成的擬合 gam 對象,並生成有關擬合過程和結果的一些診斷信息。默認情況下會生成 4 個殘差圖、有關平滑選擇優化收斂的一些信息,並運行基本維度選擇是否足夠的診斷測試。當應用於 gamm 返回的 gam 對象時,應小心解釋結果。

用法

gam.check(b, old.style=FALSE,
          type=c("deviance","pearson","response"),
          k.sample=5000,k.rep=200,
          rep=0, level=.9, rl.col=2, rep.col="gray80", ...)

參數

b

gam() 生成的擬合 gam 對象。

old.style

如果您想要老式的繪圖,就像 Wood, 2006 中那樣,請設置為 TRUE

type

殘差類型,請參閱residuals.gam,在所有圖中使用。

k.sample

在此 k 之上的測試使用隨機數據子樣本。

k.rep

需要進行多少次重新洗牌才能獲得 k 測試的 p 值。

rep , level , rl.col , rep.col

old.style 為 false 時傳遞給 qq.gam() 的參數,請參閱此處。

...

傳遞給繪圖函數的額外圖形參數。

細節

檢查合適的 gam 就像檢查合適的 glm ,有兩個主要區別。首先,需要檢查用於平滑項的基本尺寸,以確保它們不會太小而導致過度平滑:默認值是任意的。 choose.k 提供了更多詳細信息,但下麵說明的以及此函數報告的診斷測試也可能有所幫助。其次,擬合可能並不總是像常規 GLM 那樣對違反分布假設具有魯棒性,因此這裏可能需要更加小心。特別是,quasi-likelihood 的理論意味著,如果均值方差關係對於 GLM 來說是可以的,那麽與假設分布的其他偏離就不會有問題:GAM 有時可能更敏感。例如,un-modelled 過度分散通常會導致過度擬合,因為平滑度選擇標準試圖將尺度參數減小到指定的參數。同樣,目前尚不清楚 REML 和 ML 平滑度選擇對假設響應分布的偏差有多敏感。由於這些原因,該例程使用增強的殘差 QQ 圖。

該函數繪製 4 個標準診斷圖、一些平滑參數估計收斂信息和測試結果,這些測試結果可能表明某一項的平滑基礎維度是否太低。

通常這 4 個圖是各種殘差圖。對於默認的優化方法,收斂信息以可讀的方式進行總結,但對於其他優化方法,通過收斂診斷返回的任何內容都會被簡單地打印出來。

平滑的基本維度是否足夠的測試(Wood,2017,第 5.9 節)基於計算殘差方差的估計,該估計基於根據平滑的(數字)協變量的近鄰殘差的差分。該估計值除以殘差方差就是報告的k-index。該值越低於 1,殘差中遺漏模式的可能性就越大。 p-value 通過模擬計算:如果殘差中沒有模式,則將殘差隨機重新洗牌 k.rep 次,以獲得差分方差估計器的零分布。對於適合超過 k.sample 數據的模型,測試基於 k.sample 隨機采樣數據。低 p 值可能表明基本維度 k 設置得太低,特別是如果報告的 edf 接近 k'(該項的最大可能 EDF)。請注意一個令人不安的事實,即如果檢驗統計量本身基於隨機重采樣並且 null 為真,那麽相關的 p 值當然會在一次重複與下一次重複之間存在很大差異。目前不支持因子變量的平滑,並將給出 NA p 值。

將可疑的 k 加倍並重新擬合是明智的:如果報告的 edf 大幅增加,那麽您可能在第一次擬合中遺漏了某些內容。當然,p 值可能由於 k 太低以外的原因而較低。請參閱choose.k 進行更全麵的討論。

生成的 QQ 圖通常是通過調用 qq.gam 創建的,並根據擬合模型根據偏差殘差分布的近似理論量繪製偏差殘差。如果這看起來很奇怪,那麽使用 qq.gam 進一步調查。請注意,擬合到二進製數據的模型的殘差包含對模型檢查有用的信息非常少(有必要首先找到某種聚合它們的方法),因此 QQ 圖在這種情況下不太可能有用。

在解釋將此函數應用於使用 gamm 擬合的模型的結果時要小心。在這種情況下,返回的 gam 對象基於用於估計的工作模型,並將所有隨機效應視為誤差的一部分。這意味著從 gam 對象提取的殘差未針對所使用的族或隨機效應或相關結構進行標準化。通常,有必要根據您所使用的模型結構來生成您自己的殘差檢查。

殘差分布的參考分位數向量(如果可以計算的話)。

例子

library(mgcv)
set.seed(0)
dat <- gamSim(1,n=200)
b<-gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat)
plot(b,pages=1)
gam.check(b,pch=19,cex=.3)

作者

Simon N. Wood simon.wood@r-project.org

參考

N.H. Augustin, E-A Sauleaub, S.N. Wood (2012) On quantile quantile plots for generalized linear models. Computational Statistics & Data Analysis. 56(8), 2404-3409.

Wood S.N. (2017) Generalized Additive Models: An Introduction with R (2nd edition). Chapman and Hall/CRC Press.

https://www.maths.ed.ac.uk/~swood34/

也可以看看

choose.kgammagic

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Some diagnostics for a fitted gam model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。