Description Usage Arguments Details Value References See Also Examples
Bayesian inference for GAMMs with flexible priors.
1 2 3 4 5 6 7 8 9 10  stan_gamm4(formula, random = NULL, family = gaussian(), data,
weights = NULL, subset = NULL, na.action, knots = NULL,
drop.unused.levels = TRUE, ..., prior = normal(),
prior_intercept = normal(), prior_smooth = exponential(autoscale =
FALSE), prior_aux = exponential(), prior_covariance = decov(),
prior_PD = FALSE, algorithm = c("sampling", "meanfield", "fullrank"),
adapt_delta = NULL, QR = FALSE, sparse = FALSE)
plot_nonlinear(x, smooths, ..., prob = 0.9, facet_args = list(),
alpha = 1, size = 0.75)

formula, random, family, data, knots, drop.unused.levels 
Same as for
 
subset, weights, na.action 
Same as  
... 
Further arguments passed to  
prior 
The prior distribution for the regression coefficients.
See the priors help page for details on the families and
how to specify the arguments for all of the functions in the table above.
To omit a prior —i.e., to use a flat (improper) uniform prior—
Note: Unless  
prior_intercept 
The prior distribution for the intercept.
Note: If using a dense representation of the design matrix
—i.e., if the  
prior_smooth 
The prior distribution for the hyperparameters in GAMs, with lower values yielding less flexible smooth functions.
 
prior_aux 
The prior distribution for the "auxiliary" parameter (if
applicable). The "auxiliary" parameter refers to a different parameter
depending on the
 
prior_covariance 
Cannot be  
prior_PD 
A logical scalar (defaulting to  
algorithm 
A string (possibly abbreviated) indicating the
estimation approach to use. Can be  
adapt_delta 
Only relevant if  
QR 
A logical scalar defaulting to  
sparse 
A logical scalar (defaulting to  
x 
An object produced by  
smooths 
An optional character vector specifying a subset of the smooth
functions specified in the call to  
prob 
For univarite smooths, a scalar between 0 and 1 governing the width of the uncertainty interval.  
facet_args 
An optional named list of arguments passed to
 
alpha, size 
For univariate smooths, passed to

The stan_gamm4
function is similar in syntax to
gamm4
in the gamm4 package. But rather than performing
(restricted) maximum likelihood estimation with the lme4 package,
the stan_gamm4
function utilizes MCMC to perform Bayesian
estimation. The Bayesian model adds priors on the common regression
coefficients (in the same way as stan_glm
), priors on the
standard deviations of the smooth terms, and a prior on the decomposition
of the covariance matrices of any groupspecific parameters (as in
stan_glmer
). Estimating these models via MCMC avoids
the optimization issues that often crop up with GAMMs and provides better
estimates for the uncertainty in the parameter estimates.
See gamm4
for more information about the model
specicification and priors
for more information about the
priors on the main coefficients. The formula
should include at least
one smooth term, which can be specified in any way that is supported by the
jagam
function in the mgcv package. The
prior_smooth
argument should be used to specify a prior on the unknown
standard deviations that govern how smooth the smooth function is. The
prior_covariance
argument can be used to specify the prior on the
components of the covariance matrix for any (optional) groupspecific terms.
The gamm4
function in the gamm4 package uses
groupspecific terms to implement the departure from linearity in the smooth
terms, but that is not the case for stan_gamm4
where the groupspecific
terms are exactly the same as in stan_glmer
.
The plot_nonlinear
function creates a ggplot object with one facet for
each smooth function specified in the call to stan_gamm4
in the case
where all smooths are univariate. A subset of the smooth functions can be
specified using the smooths
argument, which is necessary to plot a
bivariate smooth or to exclude the bivariate smooth and plot the univariate
ones. In the bivariate case, a plot is produced using
geom_contour
. In the univariate case, the resulting
plot is conceptually similar to plot.gam
except the
outer lines here demark the edges of posterior uncertainty intervals
(credible intervals) rather than confidence intervals and the inner line
is the posterior median of the function rather than the function implied
by a point estimate. To change the colors used in the plot see
color_scheme_set
.
A stanreg object is returned
for stan_gamm4
.
plot_nonlinear
returns a ggplot object.
Crainiceanu, C., Ruppert D., and Wand, M. (2005). Bayesian analysis for penalized spline regression using WinBUGS. Journal of Statistical Software. 14(14), 1–22. https://www.jstatsoft.org/article/view/v014i14
stanregmethods
and
gamm4
.
The vignette for stan_glmer
, which also discusses
stan_gamm4
. http://mcstan.org/rstanarm/articles/
1 2 3 4 5 6 7 8 9 10 11 12  # from example(gamm4, package = "gamm4"), prefixing gamm4() call with stan_
dat < mgcv::gamSim(1, n = 400, scale = 2) ## simulate 4 term additive truth
## Now add 20 level random effect `fac'...
dat$fac < fac < as.factor(sample(1:20, 400, replace = TRUE))
dat$y < dat$y + model.matrix(~ fac  1) %*% rnorm(20) * .5
br < stan_gamm4(y ~ s(x0) + x1 + s(x2), data = dat, random = ~ (1  fac),
chains = 1, iter = 200) # for example speed
print(br)
plot_nonlinear(br)
plot_nonlinear(br, smooths = "s(x0)", alpha = 2/3)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.