bayesx.construct {R2BayesX} | R Documentation |
Construct BayesX Model Term Objects
Description
The function bayesx.construct
is used to provide a flexible framework to implement
new model term objects in bayesx
within the BayesX syntax.
Usage
bayesx.construct(object, dir, prg, data)
Arguments
object |
is a smooth, shrinkage or random specification object in a STAR |
dir |
|
prg |
if additional data handling must be applied, e.g. storing maps ( |
data |
if additional data is needed to setup the BayesX term it is found here. |
Details
The main idea of these constructor functions is to provide a flexible framework to implement new
model term objects in the BayesX syntax within bayesx
, i.e. for any smooth or
random term in R2BayesX a constructor function like
bayesx.construct.ps.smooth.construct
may be provided to translate R specific syntax into
BayesX readable commands. During processing with write.bayesx.input
each model
term is constructed with bayesx.construct
after another, wrapped into a full formula, which
may then be send to the BayesX binary with function run.bayesx
.
At the moment the following model terms are implemented:
-
"rw1"
,"rw2"
: Zero degree P-splines: Defines a zero degree P-spline with first or second order difference penalty. A zero degree P-spline typically estimates for every distinct covariate value in the dataset a separate parameter. Usually there is no reason to prefer zero degree P-splines over higher order P-splines. An exception are ordinal covariates or continuous covariates with only a small number of different values. For ordinal covariates higher order P-splines are not meaningful while zero degree P-splines might be an alternative to modeling nonlinear relationships via a dummy approach with completely unrestricted regression parameters. -
"season"
: Seasonal effect of a time scale. -
"ps"
,"psplinerw1"
,"psplinerw2"
: P-spline with first or second order difference penalty. -
"te"
,"pspline2dimrw1"
: Defines a two-dimensional P-spline based on the tensor product of one-dimensional P-splines with a two-dimensional first order random walk penalty for the parameters of the spline. -
"kr"
,"kriging"
: Kriging with stationary Gaussian random fields. -
"gk"
,"geokriging"
: Geokriging with stationary Gaussian random fields: Estimation is based on the centroids of a map object provided in boundary format (see functionread.bnd
andshp2bnd
) as an additional argument namedmap
within functionsx
, or supplied within argumentxt
when using functions
, e.g.,xt = list(map = MapBnd)
. -
"gs"
,"geospline"
: Geosplines based on two-dimensional P-splines with a two-dimensional first order random walk penalty for the parameters of the spline. Estimation is based on the coordinates of the centroids of the regions of a map object provided in boundary format (see functionread.bnd
andshp2bnd
) as an additional argument namedmap
(see above). -
"mrf"
,"spatial"
: Markov random fields: Defines a Markov random field prior for a spatial covariate, where geographical information is provided by a map object in boundary or graph file format (see functionread.bnd
,read.gra
andshp2bnd
), as an additional argument namedmap
(see above). -
"bl"
,"baseline"
: Nonlinear baseline effect in hazard regression or multi-state models: Defines a P-spline with second order random walk penalty for the parameters of the spline for the log-baseline effectlog(\lambda(time))
. -
"factor"
: Special BayesX specifier for factors, especially meaningful ifmethod = "STEP"
, since the factor term is then treated as a full term, which is either included or removed from the model. -
"ridge"
,"lasso"
,"nigmix"
: Shrinkage of fixed effects: defines a shrinkage-prior for the corresponding parameters\gamma_j
,j = 1, \ldots, q
,q \geq 1
of the linear effectsx_1, \ldots, x_q
. There are three priors possible: ridge-, lasso- and Normal Mixture of inverse Gamma prior. -
"re"
: Gaussian i.i.d.\ Random effects of a unit or cluster identification covariate.
See function sx
for a description of the main
R2BayesX
model term constructor functions.
Value
The model term syntax used within BayesX as a character string.
WARNINGS
If new bayesx.construct
functions are implemented in future work, there may occur problems
with reading the corresponding BayesX output files with read.bayesx.output
,
e.g., if the new objects do not have the structure as implemented with bs = "ps"
etc.,
i.e. function read.bayesx.output
must also be adapted in such cases.
Note
Using sx
additional controlling arguments may be supplied within the dot dot dot
“...
” argument. Please see the help site for function bayesx.term.options
for a detailed description of possible optional parameters.
Within the xt
argument in function s
, additional
BayesX specific parameters may be also supplied, see the examples below.
Author(s)
Nikolaus Umlauf, Thomas Kneib, Stefan Lang, Achim Zeileis.
See Also
sx
, bayesx.term.options
, s
,
formula.gam
, read.bnd
,
read.gra
.
Examples
bayesx.construct(sx(x1, bs = "ps"))
bayesx.construct(sx(x1, x2, bs = "te"))
## now create BayesX syntax for smooth terms
## using mgcv constructor functions
bayesx.construct(s(x1, bs = "ps"))
## for tensor product P-splines,
bayesx.construct(s(x1, x2, bs = "te"))
## increase number of knots
## for a P-spline
bayesx.construct(sx(x1, bs = "ps", nrknots = 40))
## now with degree 2 and
## penalty order 1
bayesx.construct(sx(x1, bs = "ps", knots = 40, degree = 2, order = 1))
bayesx.construct(s(x1, bs = "ps", k = 41, m = c(0, 1)))
## random walks
bayesx.construct(sx(x1, bs = "rw1"))
bayesx.construct(sx(x1, bs = "rw2"))
## shrinkage priors
bayesx.construct(sx(x1, bs = "lasso"))
bayesx.construct(sx(x1, bs = "ridge"))
bayesx.construct(sx(x1, bs = "nigmix"))
## for cox models, baseline
bayesx.construct(sx(time, bs = "bl"))
## kriging
bayesx.construct(sx(x, z, bs = "kr"))
## seasonal
bayesx.construct(sx(x, bs = "season"))
## factors
bayesx.construct(sx(id, bs = "factor"))
## now with some geographical information
## note: maps must be either supplied in
## 'bnd' or 'gra' format, also see function
## read.bnd() or read.gra()
data("MunichBnd")
bayesx.construct(sx(id, bs = "mrf", map = MunichBnd))
## same with
bayesx.construct(s(id, bs = "mrf", xt = list(map = MunichBnd)))
bayesx.construct(sx(id, bs = "gk", map = MunichBnd))
bayesx.construct(sx(id, bs = "gs", map = MunichBnd))
## also vary number of knots
bayesx.construct(sx(id, bs = "gs", knots = 10, map = MunichBnd))
bayesx.construct(s(id, bs = "gs", k = 12, m = c(1, 1), xt = list(map = MunichBnd)))
## random effects
bayesx.construct(sx(id, bs = "re"))
bayesx.construct(sx(id, bs = "re", by = x1))
bayesx.construct(sx(id, bs = "re", by = x1, xt = list(nofixed=TRUE)))
## generic
## specifies some model term
## and sets all additional arguments
## within argument xt
## only for experimental use
bayesx.construct(sx(x, bs = "generic", dosomething = TRUE, a = 1, b = 2))