The tvcolmm
function implements the
tree-based longitudinal varying coefficient regression algorithm
proposed in Burgin and Ritschard (2015). The algorithm approximates
varying fixed coefficients in the cumulative logit mixed model by a
(multivariate) piecewise constant function using recursive
partitioning, i.e., it estimates the fixed effect component of the
model separately for strata of the value space of partitioning
variables.
tvcolmm(formula, data, family = cumulative(),
weights, subset, offset, na.action = na.omit,
control = tvcolmm_control(), ...)tvcolmm_control(sctest = TRUE, alpha = 0.05, bonferroni = TRUE,
minsize = 50, maxnomsplit = 5, maxordsplit = 9,
maxnumsplit = 9, fast = TRUE,
trim = 0.1, estfun.args = list(), nimpute = 5,
seed = NULL, maxstep = 1e3, verbose = FALSE, ...)
An object of class tvcm
a symbolic description of the model to fit, e.g.,
y ~ -1 + vc(z1, ..., zL, by = x1 + ... + xP, intercept = TRUE) + re(1|id)
where vc
term specifies the varying fixed coefficients. Only
one such vc
term is allowed with
tvcolmm
(in contrast to tvcglm
where multiple vc
terms can be specified). The above example
formula removes the global intercepts and adds locally varying
intercepts, by adding a -1
term and specfiying intercept
= TRUE
in the vc
term. If varying intercepts are desired, we
recommend to always remove the global intercepts. For more details on
the formula specification, see olmm
and
vcrpart-formula
.
the model family. An object of class
family.olmm
.
a data frame containing the variables in the model.
an optional numeric vector of weights to be used in the fitting process.
an optional logical or integer vector specifying a
subset of 'data'
to be used in the fitting process.
this can be used to specify an a priori known component to be included in the linear predictor during fitting.
a function that indicates what should happen if data
contain NA
s. The default na.action = na.omit
is
listwise deletion, i.e., observations with missings on any variable
are dropped. See na.action
.
a list with control parameters as returned by
tvcolmm_control
, or by tvcm_control
for advanced users.
logical scalar. Defines whether coefficient constancy tests should be used for the variable and node selection in each iteration.
numeric significance threshold between 0 and 1. A node is
splitted when the smallest (possibly Bonferroni-corrected) \(p\)
value for any coefficient constancy test in the current step falls
below alpha
.
logical. Indicates if and how \(p\)-values of coefficient constancy tests must be Bonferroni corrected. See details.
numeric scalar. The minimum sum of weights in terminal nodes.
integer scalars for split
candidate reduction. See tvcm_control
.
logical scalar. Whether the approximative model should be
used to search for the next split. See
tvcm_control
.
numeric between 0 and 1. Specifies the trimming parameter
in coefficient constancy tests for continuous partitioning
variables. See also the argument from
of function
supLM
in package strucchange.
list of arguments to be passed to
olmm_gefp
. See details.
a positive integer scalar. The number of times coefficient constancy tests should be repeated in each iteration. See details.
an integer specifying which seed should be set at the beginning.
integer. The maximum number of iterations i.e. number of splits to be processed.
logical. Should information about the fitting process be printed to the screen?
additional arguments passed to the fitting function
fit
or to tvcm_control
.
Reto Burgin
The tvcolmm
function iterates the following steps:
Fit the current mixed model
y ~ Node:x1 + ... + Node:xP + re(1 + w1 + ... |id)
with olmm
, where Node
is a categorical
variable with terminal node labels 1
, ..., M
.
Test the constancy of the fixed effects Node:x1,
...
, separately for each moderator z1
, ..., zL
in each node 1
, ..., M
. This yields L
times
M
(possibly Bonferroni corrected) \(p\)-values for
rejecting coefficient constancy.
If the minimum \(p\)-value is smaller than alpha
,
then select the node and the variable corresponding to the minimum
\(p\)-value. Search and incorporate the optimal
among the candidate splits in the selected node and variable by
exhaustive likelihood search.
Else if minimum \(p\)-value is larger than alpha
,
stop the algorithm and return the current model.
The implemented coefficient constancy tests used for node and variable
selection (step 2) are based on the M-fluctuation tests of Zeileis and
Hornik (2007), using the observation scores of the fitted mixed
model. The observation scores can be extracted by
olmm_estfun
for models fitted with
olmm
. To deal with intra-individual correlations
between such observation scores, the olmm_estfun
function decorrelates the observation scores. In cases of unbalanced
data, the pre-decorrelation method requires imputation. nimpute
gives the number of times the coefficient constancy tests are repeated
in each iteration. The final \(p\)-values are then the averages of
the repetations.
The algorithm combines the splitting technique of Zeileis (2008) with the technique of Hajjem et. al (2011) and Sela and Simonoff (2012) to incorporate regression trees into mixed models.
For the exhaustive search, the algorithm implements a number of split
point reduction methods to decrease the computational complexity. See
the arguments maxnomsplit
, maxordsplit
and
maxnumsplit
. By default, the algorithm also uses the
approximative search model approach proposed in Burgin and Ritschard
(2017). To disable this option to use the original algorithm, set
fast = FALSE
in tvcolmm_control
.
Special attention is given to varying intercepts, i.e. the terms that account for the direct effects of the moderators. A common specification is
y ~ -1 + vc(z1, ..., zL, by = x1 + ... + xP, intercept = TRUE) + re(1 + w1 + ... |id)
Doing so replaces the globale intercept by local intercepts. As mentioned, if a varying intercepts are desired, we recommend to always remove the global intercept.
Zeileis, A., T. Hothorn, and K. Hornik (2008). Model-Based Recursive Partitioning. Journal of Computational and Graphical Statistics, 17(2), 492--514.
Zeileis A., Hornik K. (2007), Generalized M-Fluctuation Tests for Parameter Instability, Statistica Neerlandica, 61(4), 488--508.
Burgin R. and Ritschard G. (2015), Tree-Based Varying Coefficient Regression for Longitudinal Ordinal Responses. Computational Statistics & Data Analysis, 86, 65--80.
Burgin, R. and G. Ritschard (2017), Coefficient-Wise Tree-Based Varying Coefficient Regression with vcrpart. Journal of Statistical Software, 80(6), 1--33.
Sela R. and J. S. Simonoff (2012). RE-EM trees: A Data Mining Approach for Longitudinal and Clustered data, Machine Learning 86(2), 169--207.
A. Hajjem, F. Bellavance and D. Larocque (2011), Mixed Effects Regression Trees for Clustered Data, Statistics & Probability Letters 81(4), 451--459.
tvcm_control
, tvcm-methods
,
tvcm-plot
, fvcolmm
,
olmm
## ------------------------------------------------------------------- #
## Example: Moderated effect effect of unemployment
##
## Here we fit a varying coefficient ordinal linear mixed on the
## synthetic ordinal longitudinal data 'unemp'. The interest is whether
## the effect of unemployment 'UNEMP' on happiness 'GHQL' is moderated
## by 'AGE', 'FISIT', 'GENDER' and 'UEREGION'. 'FISIT' is the only true
## moderator. For the the partitioning we coefficient constancy tests,
## as described in Burgin and Ritschard (2015)
## ------------------------------------------------------------------- #
data(unemp)
## fit the model
model.UE <-
tvcolmm(GHQL ~ -1 +
vc(AGE, FISIT, GENDER, UEREGION, by = UNEMP, intercept = TRUE) +
re(1|PID), data = unemp)
## diagnosis
plot(model.UE, "coef")
summary(model.UE)
splitpath(model.UE, steps = 1, details = TRUE)
Run the code above in your browser using DataLab