tdlnm | R Documentation |
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'.
tdlnm(
formula,
data,
exposure.data,
exposure.splits = 20,
exposure.se = sd(exposure.data)/2,
n.trees = 20,
n.burn = 1000,
n.iter = 2000,
n.thin = 5,
family = "gaussian",
binomial.size = 1,
formula.zi = NULL,
tree.params = c(0.95, 2),
step.prob = c(0.25, 0.25),
monotone = FALSE,
monotone.gamma0 = rep(0, ncol(exposure.data)),
monotone.sigma = diag(ncol(exposure.data)) * 1.502^2,
monotone.tree.time.params = c(0.95, 2),
monotone.tree.exp.params = c(0.95, 2),
monotone.time.kappa = NULL,
shrinkage = ifelse(monotone, FALSE, TRUE),
subset = NULL,
lowmem = FALSE,
verbose = TRUE,
diagnostics = FALSE,
initial.params = NULL,
debug = FALSE,
...
)
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 |
monotone.gamma0 |
———UPDATE——— |
monotone.sigma |
———UPDATE——— |
monotone.tree.time.params |
———UPDATE——— |
monotone.tree.exp.params |
———UPDATE——— |
monotone.time.kappa |
———UPDATE——— |
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 |
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.
object of class 'tdlnm' or 'tdlm'
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.