# ddhazard

##### Fitting Dynamic Hazard Models

Function to fit dynamic hazard models using state space models.

##### Usage

```
ddhazard(formula, data, model = "logit", by, max_T, id, a_0, Q_0,
Q = Q_0, order = 1, weights, control = ddhazard_control(),
verbose = F)
```

##### Arguments

- formula
`coxph`

like formula with`Surv(tstart, tstop, event)`

on the left hand site of`~`

.- data
`data.frame`

or environment containing the outcome and covariates.- model
`"logit"`

,`"cloglog"`

, or`"exponential"`

for respectively the logistic link function with discrete outcomes, the inverse cloglog link function with discrete outcomes, or for the continuous time model with piecewise constant exponentially distributed arrival times.- by
interval length of the bins in which parameters are fixed.

- max_T
end of the last interval interval.

- id
vector of ids for each row of the in the design matrix.

- a_0
vector \(a_0\) for the initial coefficient vector for the first iteration (optional). Default is estimates from static model (see

`static_glm`

).- Q_0
covariance matrix for the prior distribution.

- Q
initial covariance matrix for the state equation.

- order
order of the random walk.

- weights
weights to use if e.g. a skewed sample is used.

- control
list of control variables from

`ddhazard_control`

.- verbose
`TRUE`

if you want status messages during execution.

##### Details

This function can be used to estimate survival models where the regression parameters follows a given order random walk. The order is specified by the `order`

argument. 1. and 2. order random walks is implemented. The regression parameters are updated at time `by`

, 2`by`

, ..., `max_T`

. See the `vignette("ddhazard", "dynamichazard")`

for details.

All filter methods needs a state covariance matrix `Q_0`

and state vector `a_0`

. An estimate from a time-invariant model is used for `a_0`

if it is not supplied (the same model you would get from `static_glm`

). A diagonal matrix with large entries is recommended for `Q_0`

. What is large dependents on the data set and `model`

. Further, a covariance matrix for the first iteration `Q`

is needed. The `Q`

and `a_0`

are estimated with an EM-algorithm.

The model is specified through the `model`

argument. The discrete
outcome models are where outcomes are binned into the intervals.
Be aware that there can be "loss" of information due to binning if outcomes
are not discrete to start with. It is key for these models that the
`id`

argument is provided if individuals in the data set have
time-varying covariates. The the exponential model use a piecewise constant
exponential distribution
for the arrival times where there is no "loss" information due to binning.
Though, one of the assumptions of the model is not satisfied if outcomes
are only observed in discrete time intervals.

It is recommended to see the Shiny app demo for this function by calling `ddhazard_app()`

.

##### Value

A list with class `ddhazard`

. The list contains

the passed formula.

the matched call.

2D matrix with the estimated state vectors (regression parameters) in each bin.

3D array with smoothed variance estimates for each state vector.

3D array with lagged correlation matrix for each for each change in the state vector. Only present when the model is logit and the method is EKF.

the number of observations in each interval.

the interval borders.

the object from `get_risk_obj`

if saved.

the `data`

argument if saved.

`weights`

used in estimation if saved.

ids used to match rows in `data`

to individuals.

order of the random walk.

matrix which map from one state vector to the next.

method used in the E-step.

`TRUE`

if `Q_0`

was estimated in the EM-algorithm.

Rcpp `Module`

with C++ functions used for estimation given the `model`

argument.

the hazard function corresponding to the `model`

argument.

the `terms`

object used.

`TRUE`

if the model has a time-invariant intercept.

a record of the levels of the factors used in fitting.

##### References

Fahrmeir, Ludwig. *Dynamic modelling and penalized likelihood estimation for discrete time survival data*. Biometrika 81.2 (1994): 317-330.

Durbin, James, and Siem Jan Koopman. *Time series analysis by state space methods*. No. 38. Oxford University Press, 2012.

##### See Also

`plot`

, `residuals`

, `predict`

, `static_glm`

, `ddhazard_app`

, `ddhazard_boot`

##### Examples

```
# NOT RUN {
# example with first order model
library(dynamichazard)
fit <- ddhazard(
Surv(time, status == 2) ~ log(bili), pbc, id = pbc$id, max_T = 3600,
Q_0 = diag(1, 2), Q = diag(1e-4, 2), by = 50,
control = ddhazard_control(method = "GMA"))
plot(fit)
# example with second order model
fit <- ddhazard(
Surv(time, status == 2) ~ log(bili), pbc, id = pbc$id, max_T = 3600,
Q_0 = diag(1, 4), Q = diag(1e-4, 2), by = 50,
control = ddhazard_control(method = "GMA"),
order = 2)
plot(fit)
# }
```

*Documentation reproduced from package dynamichazard, version 0.6.5, License: GPL-2*