The concurvity moves from the stated smooth terms to the parametric terms, which
concurvity groups in total under the
para column of the matrix or matrices returned.
Here's a modified example from
## simulate data with concurvity...
f2 <- function(x) 0.2 * x^11 * (10 * (1 - x))^6 + 10 *
(10 * x)^3 * (1 - x)^10
t <- sort(runif(n)) ## first covariate
## make covariate x a smooth function of t + noise...
x <- f2(t) + rnorm(n)*3
## simulate response dependent on t and x...
y <- sin(4*pi*t) + exp(x/20) + rnorm(n)*.3
## fit model...
b <- gam(y ~ s(t,k=15) + s(x,k=15), method="REML")
Now add a linear term and refit
x2 <- seq_len(n) + rnorm(n)*3
b2 <- update(b, . ~ . + x2)
Now look at the concurvity of the two models
## assess concurvity between each term and `rest of model'...
para s(t) s(x)
worst 1.06587e-24 0.60269087 0.6026909
observed 1.06587e-24 0.09576829 0.5728602
estimate 1.06587e-24 0.24513981 0.4659564
para s(t) s(x)
worst 0.9990068 0.9970541 0.6042295
observed 0.9990068 0.7866776 0.5733337
estimate 0.9990068 0.9111690 0.4668871
x2 is essentially a noisy version of
> cor(t, x2)
and hence the concurvity is gone up from essentially 0 in
b to almost 1 in
Now if we add
x2 as a smooth function instead...
concurvity(update(b, . ~ . + s(x2)))
we see that the
para entries return to being very small and we get a measure for the spline term
> concurvity(update(b, . ~ . + s(x2)))
para s(t) s(x) s(x2)
worst 1.506201e-24 0.9977153 0.6264654 0.9976988
observed 1.506201e-24 0.9838018 0.5893737 0.9963857
estimate 1.506201e-24 0.9909506 0.4921592 0.9943990
This is just how the function works in terms of the parametric terms; the focus is on the smooth terms.
you are specifying From version 1.8-23 of mgcv, the
gamma but fitting using REML.
gamma only affects GCV and UBRE/AIC methods of smoothness selection, so you can remove this argument as it is having zero effect on the model fits.
gamma argument no also affects models fitted using REML/ML, where smoothness parameters are selected BY REML/ML as if the sample size was $n/\gamma$ instead of $n$.