rgammumin

How to interpret the output of MuMIn model.avg on GAMs


Say I have a series of GAMs that I would like to average together using MuMIn. How do I go about interpreting the results of the averaged smoothers? Why are there numbers after each smoother term?

library(glmmTMB)
library(mgcv)
library(MuMIn)

data("Salamanders") # glmmTMB data

# mgcv gams
gam1 <- gam(count ~ spp + s(cover) + s(DOP), data = Salamanders, family = tw, method = "ML")
gam2 <- gam(count ~ mined + s(cover) + s(DOP), data = Salamanders, family = tw, method = "ML")
gam3 <- gam(count ~ s(Wtemp), data = Salamanders, family = tw, method = "ML")
gam4 <- gam(count ~ mined + s(DOY), data = Salamanders, family = tw, method = "ML")

# MuMIn model average
summary(model.avg(gam1, gam2, gam3, gam4))

And an excerpt from the results...

Model-averaged coefficients:  
(full average) 
                                                Estimate                                   Std. Error
(Intercept) -1.32278368618846586812765053764451295137405  0.16027398202204409805027296442858641967177
minedno      2.22006553885311141982583649223670363426208  0.19680444996609294805445244946895400062203
s(cover).1   0.00096638939252485735100645092288118576107  0.05129736767981037115493592182247084565461
s(cover).2   0.00360413985630353601863351542533564497717  0.18864911049300209233692271482141222804785
s(cover).3   0.00034381902619062468381624930735540601745  0.01890820689958183642431777116144075989723
s(cover).4  -0.00248365164684107844403349041328965540743  0.12950622739175629560826052966149291023612
s(cover).5  -0.00089826079366626997504963192398008686723  0.04660149540411069601919535898559843190014
s(cover).6   0.00242197856572917875894734862640689243563  0.12855093144749979439112053114513400942087
s(cover).7  -0.00032596616013735266745646179664674946252  0.02076865732570042782922925539423886220902
s(cover).8   0.00700001172809289889942263584998727310449  0.36609857217759655956257347497739829123020
s(cover).9  -0.17150069832114492318630993850092636421323  0.17672571419517621449379873865836998447776
s(DOP).1     0.00018839994220792031023870016781529557193  0.01119134546418791391342306695833030971698
s(DOP).2    -0.00081869157242861999301819508900734945200  0.04333670935815417402103832955617690458894
s(DOP).3    -0.00021538789478326670289408395486674407948  0.01164171952980479901595955993798270355910
s(DOP).4     0.00043433676942596419591827161532648915454  0.02463278659589070856972270462392771150917

Solution

  • This is a little easier to read if you don't print so many digits (see below):

    Each smooth term is parameterized using multiple coefficients (9 by default), which is why we have multiple s.(whatever).xxx coefficients.

    It's not clear to me what you want to do with the model-averaged results. It's usually best to make model-averaged predictions rather than trying to interpret model-averaged coefficients, which has some pitfalls ... There is a predict() method for objects of class "averaging" (which is what model.average() returns).

    For further questions about interpretation you might want to ask on CrossValidated ...

    Model-averaged coefficients:  
    (full average) 
                  Estimate Std. Error Adjusted SE z value Pr(>|z|)    
    (Intercept) -1.323e+00  1.603e-01   1.606e-01   8.239   <2e-16 ***
    minedno      2.220e+00  1.968e-01   1.971e-01  11.263   <2e-16 ***
    s(cover).1   9.664e-04  5.130e-02   5.130e-02   0.019    0.985    
    s(cover).2   3.604e-03  1.886e-01   1.887e-01   0.019    0.985    
    s(cover).3   3.438e-04  1.891e-02   1.891e-02   0.018    0.985    
    s(cover).4  -2.484e-03  1.295e-01   1.295e-01   0.019    0.985    
    s(cover).5  -8.983e-04  4.660e-02   4.660e-02   0.019    0.985    
    s(cover).6   2.422e-03  1.286e-01   1.286e-01   0.019    0.985    
    s(cover).7  -3.260e-04  2.077e-02   2.078e-02   0.016    0.987    
    s(cover).8   7.000e-03  3.661e-01   3.661e-01   0.019    0.985    
    s(cover).9  -1.715e-01  1.767e-01   1.768e-01   0.970    0.332    
    s(DOP).1     1.884e-04  1.119e-02   1.120e-02   0.017    0.987    
    s(DOP).2    -8.187e-04  4.334e-02   4.334e-02   0.019    0.985    
    s(DOP).3    -2.154e-04  1.164e-02   1.164e-02   0.018    0.985    
    s(DOP).4     4.343e-04  2.463e-02   2.464e-02   0.018    0.986    
    s(DOP).5    -1.737e-04  1.019e-02   1.020e-02   0.017    0.986    
    s(DOP).6    -3.224e-04  1.790e-02   1.790e-02   0.018    0.986    
    s(DOP).7     2.991e-07  5.739e-04   5.750e-04   0.001    1.000    
    s(DOP).8    -1.756e-03  9.557e-02   9.559e-02   0.018    0.985    
    s(DOP).9     1.930e-02  5.630e-02   5.639e-02   0.342    0.732    
    s(DOY).1     5.189e-08  3.378e-04   3.384e-04   0.000    1.000