7

パッケージで適用するgam.checkと、いくつかの残差プロットと基底次元の出力が生成されます。印刷出力ではなくプロットのみを生成する方法はありますか?mgcvR

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)
4

1 に答える 1

13

左上から下へ、横へ移動する 4 つのプロットがあります。

  1. 残差の QQ プロット
  2. 残差のヒストグラム
  3. 残差と線形予測子のプロット
  4. 観測値と適合値のプロット。

以下のコードではb、例のように、適合モデルが含まれていると想定しています。まず必要なもの

type <- "deviance"  ## "pearson" & "response" are other valid choices
resid <- residuals(b, type = type)
linpred <- napredict(b$na.action, b$linear.predictors)
observed.y <- napredict(b$na.action, b$y)

最後の 2 行は、モデルがおよびNAの情報に適合されたときに使用された処理方法を適用していることに注意してください。これは、応答データの保存されたコピーです。linear.predictorsy

上記のコードと以下に示すコードはすべて、gam.check()ソースの最初の 10 行程度に示されています。これを表示するには、入力するだけです

gam.check

R プロンプトで。

各プロットは次のように生成されます。

QQ プロット

これは次の方法で生成されqq.gam()ます。

qq.gam(b, rep = 0, level = 0.9, type = type, rl.col = 2, 
       rep.col = "gray80")

残差のヒストグラム

これは、

hist(resid, xlab = "Residuals", main = "Histogram of residuals")

残差 vs 線形予測子

これは、

plot(linpred, resid, main = "Resids vs. linear pred.", 
     xlab = "linear predictor", ylab = "residuals")

観測値と適合値

これは、

plot(fitted(b), observed.y, xlab = "Fitted Values", 
     ylab = "Response", main = "Response vs. Fitted Values")
于 2014-03-08T16:22:13.273 に答える