Treed Distributed Lag Non-Linear Models (Deprecated)
Treed Distributed Lag Non-Linear Models (Deprecated)
TDLNM is a method for estimating Distributed Lag Linear and Non-Linear Models (DLMs/DLNMs). It operates by building an ensemble of regression trees, which each partition the exposure-time- response surface and make estimates at each sector. Trees from the ensemble each contribute a partial estimate of the exposure-time surface, while controlling for a model given by 'formula'.
formula: object of class formula, a symbolic description of the fixed effect model to be fitted, e.g. y ~ a + b
data: data frame containing variables used in the formula
exposure.data: numerical matrix of complete exposure data with same length as data
exposure.splits: scalar indicating the number of splits (divided evenly across quantiles of the exposure data) or list with two components: 'type' = 'values' or 'quantiles', and 'split.vals' = a numerical vector indicating the corresponding exposure values or quantiles for splits. Setting exposure.splits equal to 0 will change the model to a distributed lag model, which assumes a linear effect of exposure.
exposure.se: numerical matrix of exposure standard errors with same size as exposure.data or a scalar smoothing factor representing a uniform smoothing factor applied to each exposure measurement, defaults to sd(exposure.data)/2
n.trees: integer for number of trees in ensemble, default = 20
n.burn: integer for length of burn-in, >=2000 recommended
n.iter: integer for number of iterations to run model after burn-in >=5000 recommended
n.thin: integer thinning factor, i.e. keep every fifth iteration
family: 'gaussian' for continuous response, or 'logit' for binomial response with logit link
binomial.size: integer type scalar (if all equal, default = 1) or vector defining binomial size for 'logit' family
formula.zi: object of class formula, a symbolic description of the ZI model to be fitted, e.g. y ~ a + b. This only applies to ZINB where covariates for ZI model is different from NB model. This is same as the main formula by default
tree.params: numerical vector of alpha and beta hyperparameters controlling tree depth (see Bayesian CART, 1998), default: alpha = 0.95, beta = 2
step.prob: numerical vector for probability of 1) grow/prune, and 2) change, defaults to (0.25, 0.25) or equal probability of each step for tree updates
monotone: FALSE (default) or TRUE: estimate monotone effects
shrinkage: int, 1 (default) turn on tree-specific shrinkage priors, 0 turn off
subset: integer vector to analyze only a subset of data and exposures
lowmem: FALSE (default) or TRUE: turn on memory saver for DLNM, slower computation time
verbose: TRUE (default) or FALSE: print progress bar output
diagnostics: TRUE or FALSE (default) keep model diagnostic such as terminal nodes, acceptance details, etc.
initial.params: initial parameters for fixed effects model, FALSE = none (default), "glm" = generate using GLM, or user defined, length must equal number of parameters in fixed effects model
debug: if TRUE, outputs debugging messages
...: NA
Returns
object of class 'tdlnm' or 'tdlm'
Details
tdlnm
Model is recommended to be run for at minimum 5000 burn-in iterations followed by 15000 sampling iterations with a thinning factor of 10. Convergence can be checked by re-running the model and validating consistency of results.