Skip to content

Fitting semiparametric dynamic frailty models

Notifications You must be signed in to change notification settings

tbalan/dynfrail

Repository files navigation

This is an R package for fitting semiparametric dynamic frailty models with the EM algorithm. The hazard for individual j from cluster i is specified as: λi**j(t|Zi(t)) = Zi(t)exp(βxi**j(t))λ0(t). The model used here is described in detail in Putter & van Houwelingen (2015). The distribution of Zi(t) is described by two parameters: θ, that is an inverse-variability parameter of Zi(t) for a fixed t, and λ, that describes the autocorrelation of the process, so that for t1 ≤ t2 cor(Zi(t1),Zi(t2)) = exp(λ(t2 − t1)).

The estimation process is that for fixed (θ, λ) the maximized profile likelihood is calculated, i.e. maximized with respect to (β, λ0). This profile likelihood is finally maximized itself.

Installation

The development version from GitHub:

devtools::install_github("tbalan/dynfrail")

The following packages are needed to build dynfrail:

install.packages(c("RcppArmadillo", "tibble", "magrittr", "dplyr", "tidyr"))

The functioning of the package is described in the documentation of the main fitting function, dynfrail().

Features

  • gamma, PVF, compount Poisson, inverse Gaussian distributions
  • flexible adjustment of estimation parameters
  • semiparametric Z(t) that changes values at every t or piecewise constant Z(t)
  • clustered survival data & recurrent events (calendar time or gaptime) ar supported

Functions

  • dynfrail() has a friendly syntax very similar to the frailtyEM package: next to a formula and data argument, the distribution argument is used to specify the distribution parameters and the control parameter is used for controling the precision of the estimation.
  • dynfrail_prep() and dynfrail_fit() are used internally by dynfrail() but are made user-available. The first one prepares the input of dynfrail() to make it suitable for the actual EM algorithm. The second one performs one EM algorithm for fixed (θ, λ) to estimate the maximum (β, λ0).

Limitations

  • slow even for medium sized data sets. It is recommended to start with a small number of piecewise constant intervals and/or a subset of the data
  • no direct standard errors for (θ, λ).

About

Fitting semiparametric dynamic frailty models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published