Giải thích kết quả mô hình gam


8

Tôi đang điều chỉnh một số mô hình phụ gia tổng quát bằng cách sử dụng mgcvgói trong R và tôi muốn thử nghiệm giữa hai mô hình; cho dù tôi có thể loại bỏ một thuật ngữ hay không. Tôi, tuy nhiên, nhận được kết quả mâu thuẫn (như tôi có thể nói).

Một mô hình, m1với một thuật ngữ trơn tru xđược thêm vào, dường như phù hợp hơn về , AIC, giải thích sai lệch và khi so sánh các mô hình sử dụng phép thử F. Tuy nhiên, tầm quan trọng của thuật ngữ trơn tru không đáng kể (cũng không phải là khi tôi thêm vào mô hình dưới dạng hiệp phương tuyến tính, thay vì spline).Radj2

Là sự giải thích của tôi về các bài kiểm tra điều khoản trơn tru chính xác? Nhiều như tôi có thể hiểu trang trợ giúp, là các bài kiểm tra là gần đúng, nhưng có một sự khác biệt khá lớn ở đây.

Các mô hình đầu ra

m1 <- gam(out ~ s(x) + s(y) + s(z), data=dat)
> summary(m1)
# 
# Family: gaussian 
# Link function: identity 
# 
# Formula:
# out ~ s(x) + s(y) + s(z)
# 
# Parametric coefficients:
#               Estimate Std. Error t value Pr(>|t|)
# (Intercept) -7.502e-16  1.209e-01       0        1
# 
# Approximate significance of smooth terms:
#        edf Ref.df     F  p-value    
# s(x) 4.005  4.716 1.810    0.136    
# s(y) 8.799  8.951 4.032 4.01e-05 ***
# s(z) 7.612  8.526 5.649 4.83e-07 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# R-sq.(adj) =  0.213   Deviance explained = 24.8%
# GCV = 6.9741  Scale est. = 6.6459    n = 455

> AIC(m1)
#[1] 2175.898

> m2 <- gam(out ~ s(y) + s(z), data=dat)
> summary(m2)
# 
# Family: gaussian 
# Link function: identity 
# 
# Formula:
# out ~ s(y) + s(z)
# 
# Parametric coefficients:
#              Estimate Std. Error t value Pr(>|t|)
# (Intercept) 1.705e-15  1.228e-01       0        1
# 
# Approximate significance of smooth terms:
#        edf Ref.df     F  p-value    
# s(y) 8.726  8.968 5.137 6.78e-07 ***
# s(z) 8.110  8.793 5.827 1.55e-07 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# R-sq.(adj) =  0.187   Deviance explained = 21.7%
# GCV =  7.144  Scale est. = 6.8639    n = 455

> AIC(m2)
#[1] 2187.168

> anova(m1, m2, test="F")
# Analysis of Deviance Table
# 
# Model 1: out ~ s(x) + s(y) + s(z)
# Model 2: out ~ s(y) + s(z)
#   Resid. Df Resid. Dev      Df Deviance      F    Pr(>F)    
# 1    433.58     2881.6                                      
# 2    437.16     3000.7 -3.5791   -119.1 5.0073 0.0009864 ***

EDIT : thêm mô hình từ ý kiến

> summary(m3 <- gam(out ~ s(x) + s(y) + s(z), data=dat, select=TRUE))

#Family: gaussian 
#Link function: identity 

#Formula:
#out ~ s(x) + s(y) + s(z)

#Parametric coefficients:
#              Estimate Std. Error t value Pr(>|t|)
#(Intercept) -1.588e-14  1.209e-01       0        1

#Approximate significance of smooth terms:
#       edf Ref.df     F  p-value    
#s(x) 4.424      9 1.750  0.00161 ** 
#s(y) 8.260      9 3.623 5.56e-06 ***
#s(z) 7.150      9 5.329 4.19e-09 ***
#---
#Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#R-sq.(adj) =  0.212   Deviance explained = 24.7%
#GCV = 6.9694  Scale est. = 6.6502    n = 455

mgcv::gamkhông bị phạt hồi quy. Đặt select = TRUEvà sau đó các điều khoản có thể được loại bỏ khỏi mô hình trong khi lắp. Tuy nhiên, nếu mục tiêu của bạn là dự đoán, tôi khuyên bạn nên sử dụng bộ dữ liệu thử nghiệm và đào tạo độc lập hoặc ít nhất là xác thực chéo.
Roland

Cảm ơn Roland. Tôi đã thêm select, nhưng tôi thậm chí không chắc chắn hơn về cách giải thích điều này. Nó dẫn đến một mô hình với số liệu thống kê phù hợp gần như giống nhau ( kém hơn một chút ) về r2, aic, v.v. nhưng giá trị p cho thuật ngữ s (x) bây giờ thấp hơn nhiều. Vì vậy, nếu tham số không bị thu hẹp, những gì đang thay đổi.
dùng2957945

@ user2957945 bạn có thể chỉnh sửa câu hỏi của mình để bao gồm đầu ra từ mô hình đã sử dụng select = TRUEkhông?
Gavin Simpson

Xin chào @GavinSimpson, tôi đã thêm đầu ra mô hình, cảm ơn
user2957945 23/2/2016

Câu trả lời:


2

tl; dr: AIC mang tính dự đoán trong khi giá trị p là để suy luận. Ngoài ra, bài kiểm tra quan trọng của bạn có thể đơn giản là thiếu sức mạnh.

s(x)=0

mgcv

x


Cảm ơn. Thật ra tôi đã nhầm lẫn trong sự hiểu biết của mình. Những gì tôi nên kiểm tra là mô hình với s(x)thuật ngữ và sau đó mô hình với x(chứ không phải không x. Tầm quan trọng của thuật ngữ trơn tru (hoặc nói cách khác) mặc định để kiểm tra xem có cần một đường cong trơn tru so với tuyến tính (chứ không phải bỏ qua hoàn toàn)
người dùng2957945

Oooh, tốt để biết!
eric_kernfeld
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.