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


R summary.gam GAM 擬合摘要


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

說明

獲取由 gam() 生成的擬合 gam 對象,並從中生成各種有用的摘要。 (請參閱 sink 將輸出轉移到文件。)

用法

## S3 method for class 'gam'
summary(object, dispersion=NULL, freq=FALSE, re.test=TRUE, ...)

## S3 method for class 'summary.gam'
print(x,digits = max(3, getOption("digits") - 3), 
                  signif.stars = getOption("show.signif.stars"),...)

參數

object

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

x

summary.gam() 生成的 summary.gam 對象。

dispersion

已知的色散參數。 NULL 使用估計值或默認值(例如 1 表示泊鬆)。

freq

默認情況下,參數項的 p 值是使用參數估計量的貝葉斯估計協方差矩陣計算的。如果將其設置為TRUE,則使用參數的頻率協方差矩陣。

re.test

是否應該對隨機效應項(包括任何具有零維零空間的項)進行檢驗?對於大型模型,這些測試的計算成本可能很高。

digits

控製輸出中打印的位數。

signif.stars

重要性星星是否應該與輸出一起打印。

...

其他論點。

細節

模型自由度被視為模型擬合的影響(或帽子)矩陣 的跡。剩餘自由度被視為數據數量減去模型自由度。令 為當應用於數據(或廣義情況下的偽數據)時給出第 i 個平滑參數的矩陣,並令 為模型的設計矩陣。那麽 就是第 i 項的 edf。顯然這個定義導致 edf 正確相加! EDF 的替代版本更適合 p 值計算,並且基於 的跟蹤。

print.summary.gam 嘗試以漂亮的方式打印對術語選擇有用的各種摘要信息。

平滑項的 P 值通常基於檢驗統計量,該檢驗統計量是 Nychka (1988) 對平滑項的貝葉斯置信區間的頻率屬性分析的擴展(Marra 和 Wood,2012 年)。與替代的嚴格頻率近似相比,它們具有更好的頻率性能(就零下的冪和分布而言)。當貝葉斯區間在函數屬性上具有良好的特性時,p 值接近正確的零分布和合理的功效(但沒有功效的最優結果)。完整的細節參見 Wood (2013b),盡管計算的結果實際上是一個微小的變體,其中檢驗統計量的組成部分由迭代擬合權重進行加權。

請注意,對於沒有不受懲罰項的項(例如高斯隨機效應),Nychka (1988) 要求平滑偏差遠小於方差的要求不成立(參見例如 Marra 和 Wood, 2012 的附錄),這會導致不正確的 null使用上述方法計算的 p 值的分布。在這種情況下,有必要使用針對隨機效應方差分量設計的替代方法,並且已經這樣做了。詳細信息請參見 Wood (2013a):檢驗基於似然比統計量(參考分布適合參數空間邊界上的原假設)。

所有 p 值的計算均未考慮平滑參數估計的不確定性。

在模擬中,p 值在 ML 平滑度選擇下具有最佳行為,REML 位居第二。一般來說,p 值表現良好,但忽略平滑參數不確定性意味著當平滑參數高度不確定時,p 值可能有點太低。特別是當平滑參數難以識別時,會出現高度不確定性,這種情況可能發生在嵌套平滑或高度相關的協變量(高並發)中。

默認情況下,參數模型項的 p 值也基於使用貝葉斯協方差矩陣作為係數的 Wald 檢驗。當存在 "re" 項時,這是適當的,並且在其他方麵與使用頻率協方差矩陣 (freq=TRUE ) 的結果相當相似,因為參數項本身通常不受懲罰。使用 paraPen 參數進行懲罰的參數項的默認 P 值不會很好。然而,如果這些項代表具有滿等級懲罰的傳統隨機效應,則設置freq=TRUE是合適的。

summary.gam 生成適合的 gam 對象的摘要信息列表。

p.coeff

是嚴格參數模型係數的估計值數組。

p.t

p.coeff 除以其標準誤差的數組。

p.pv

是對應參數為零的原假設的 p 值數組。如果離散參數已經估計,則參考 t 分布計算模型擬合的估計剩餘自由度,如果沒有估計,則參考標準正態分布。

m

模型中平滑項的數量。

chi.sq

用於評估模型平滑項的顯著性的一係列檢驗統計量。查看具體信息。

s.pv

每個平滑項為零的原假設的近似 p 值數組。請注意,這些隻是近似值。

se

所有參數估計的標準誤差估計數組。

r.sq

調整後的模型r-squared。定義為解釋的方差比例,其中原始方差和殘差方差均使用無偏估計量進行估計。如果您的模型比單參數常量模型差,則該數量可能為負值,而對於兩個嵌套模型中較小的一個,該數量可能更高!所解釋的比例零偏差可能更適合非正態誤差。請注意,r.sq 在單參數模型中不包含任何偏移量。

dev.expl

模型解釋的零偏差的比例。計算零偏差時會考慮任何偏移,因此當存在偏移時,dev.expl 可能遠低於 r.sq

edf

模型項的估計自由度數組。

residual.df

估計的剩餘自由度。

n

數據數量。

np

模型係數的數量(回歸係數,不是平滑參數或其他似然參數)。

rank

明顯的模型排名。

method

使用的平滑選擇標準。

sp.criterion

平滑度選擇標準的最小值。請注意,對於 ML 和 REML 方法,報告的是負對數邊際似然或負對數受限似然。

scale

估計的(或給定的)尺度參數。

family

家人用過。

formula

原始GAM公式。

dispersion

尺度參數。

pTerms.df

與每個參數項相關的自由度(不包括常數)。

pTerms.chi.sq

用於檢驗每個參數項為零的原假設的 Wald 統計量。

pTerms.pv

與每項為零的測試相關的 p 值。對於懲罰配合,這些是近似值。當尺度參數已知時,參考分布是適當的卡方;當尺度參數未知時,參考分布基於 F。

cov.unscaled

參數(或估計量,如果 freq=TRUE )的估計協方差矩陣除以尺度參數。

cov.scaled

參數的估計協方差矩陣(估計器如果 freq=TRUE )。

p.table

參數顯著性表

s.table

平滑的顯著性表

p.Terms

參數模型項的顯著性表

警告

p 值是近似值,忽略平滑參數的不確定性。當平滑參數估計高度不確定時,它們可能有點太低:請閱讀詳細信息部分。如果確切的值很重要,請閱讀 Wood(2013a 或 b)。

通過“paraPen”懲罰的術語的 P 值不太可能是正確的。

例子

library(mgcv)
set.seed(0)

dat <- gamSim(1,n=200,scale=2) ## simulate data

b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat)
plot(b,pages=1)
summary(b)

## now check the p-values by using a pure regression spline.....
b.d <- round(summary(b)$edf)+1 ## get edf per smooth
b.d <- pmax(b.d,3) # can't have basis dimension less than 3!
bc<-gam(y~s(x0,k=b.d[1],fx=TRUE)+s(x1,k=b.d[2],fx=TRUE)+
        s(x2,k=b.d[3],fx=TRUE)+s(x3,k=b.d[4],fx=TRUE),data=dat)
plot(bc,pages=1)
summary(bc)

## Example where some p-values are less reliable...
dat <- gamSim(6,n=200,scale=2)
b <- gam(y~s(x0,m=1)+s(x1)+s(x2)+s(x3)+s(fac,bs="re"),data=dat)
## Here s(x0,m=1) can be penalized to zero, so p-value approximation
## cruder than usual...
summary(b) 

## p-value check - increase k to make this useful!
k<-20;n <- 200;p <- rep(NA,k)
for (i in 1:k)
{ b<-gam(y~te(x,z),data=data.frame(y=rnorm(n),x=runif(n),z=runif(n)),
         method="ML")
  p[i]<-summary(b)$s.p[1]
}
plot(((1:k)-0.5)/k,sort(p))
abline(0,1,col=2)
ks.test(p,"punif") ## how close to uniform are the p-values?

## A Gamma example, by modify `gamSim' output...
 
dat <- gamSim(1,n=400,dist="normal",scale=1)
dat$f <- dat$f/4 ## true linear predictor 
Ey <- exp(dat$f);scale <- .5 ## mean and GLM scale parameter
## Note that `shape' and `scale' in `rgamma' are almost
## opposite terminology to that used with GLM/GAM...
dat$y <- rgamma(Ey*0,shape=1/scale,scale=Ey*scale)
bg <- gam(y~ s(x0)+ s(x1)+s(x2)+s(x3),family=Gamma(link=log),
          data=dat,method="REML")
summary(bg)

作者

Simon N. Wood simon.wood@r-project.org with substantial improvements by Henric Nilsson.

參考

Marra, G and S.N. Wood (2012) Coverage Properties of Confidence Intervals for Generalized Additive Model Components. Scandinavian Journal of Statistics, 39(1), 53-74. doi:10.1111/j.1467-9469.2011.00760.x

Nychka (1988) Bayesian Confidence Intervals for Smoothing Splines. Journal of the American Statistical Association 83:1134-1143.

Wood, S.N. (2013a) A simple test for random effects in regression models. Biometrika 100:1005-1010 doi:10.1093/biomet/ast038

Wood, S.N. (2013b) On p-values for smooth components of an extended generalized additive model. Biometrika 100:221-228 doi:10.1093/biomet/ass048

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

也可以看看

gam , predict.gam , gam.check , anova.gam , gam.vcomp , sp.vcov

相關用法


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