Learn R Programming

msm (version 0.1)

msm: Multi-state Markov models

Description

Fits a multi-state Markov model by maximum likelihood. Observations of the process can be made at arbitrary times, or the exact times of transition between states can be known. Covariates can be fitted to the transition intensities. When the true state is observed with error, a model can be fitted which simultaneously estimates the state transition intensities and misclassification probabilities, with optional covariates on both processes.

Usage

msm ( formula, qmatrix, misc = FALSE, ematrix, inits, subject,
      covariates = NULL, constraint = NULL,
      misccovariates = NULL, miscconstraint = NULL,
      covmatch = "previous", initprobs = NULL, 
      data = list(), fromto = FALSE, fromstate, tostate, timelag,
      death = FALSE, tunit = 1.0, exacttimes = FALSE,
      fixedpars = NULL, ... )

Arguments

formula
A formula giving the vectors containing the observed states and the corresponding observation times. For example, states ~ times

See fromto for an alternative way to specify the data.

qmatrix
Matrix of indicators for the allowed transitions. If a transition is allowed from state $r$ to state $s$, then qmatrix should have $(r,s)$ entry 1, otherwise it should have $(r,s)$ entry 0. The diagonal of qmatrix
misc
Set misc = TRUE if misclassification between observed and underlying states is to be modelled.
ematrix
(required when misc == TRUE) Matrix of indicators for the allowed misclassifications. The rows represent underlying states, and the columns represent observed states. If an observation of state $s$ is possible when the subject
inits
(required) Vector of initial parameter estimates for the optimisation. These are given in the order

- transition intensities (reading across first rows of intensity matrix, then second row ... )

- covariate effects on log transition inte

subject
Vector of subject identification numbers, when the data are specified by formula. If missing, then all observations are assumed to be on the same subject. Ignored if fromto == TRUE.
covariates
Formula representing the covariates on the transition intensities, for example,

~ age + sex + treatment

constraint
A list of one vector for each named covariate. The vector indicates which covariate effects on intensities are constrained to be equal. Take, for example, a model with five transition intensities and two covariates. Specifying constra
misccovariates
A formula representing the covariates on the misclassification probabilities, analogously to covariates.
miscconstraint
A list of one vector for each named covariate on misclassification probabilities. The vector indicates which covariate effects on misclassification probabilities are constrained to be equal, analogously to constraint.
covmatch
If "previous", then time-dependent covariate values are taken from the observation at the start of the transition. If "next", then the covariate value is taken from the end of the transition.
initprobs
Vector of assumed underlying state occupancy probabilities at the initial time of the process. Defaults to c(1, rep(0, nstates-1)), that is, in state 1 with a probability of 1.
data
Optional data frame in which to interpret the state, time, subject ID, covariate, fromstate, tostate and timelag vectors.
fromto
If TRUE, then the data are given as three vectors,

from-state, to-state, time-difference

representing the set of observed transitions between states, and the time taken by each one. Otherwise, the data are given by

fromstate
Starting states for the observed transitions (required if fromto == TRUE ).
tostate
Finishing states for the observed transitions (required if fromto == TRUE ).
timelag
Time difference between observing fromstate and tostate (required if fromto == TRUE ).
death
If TRUE, then the final state represents death. This means that the time of entry into this state is known to within one day, and that the individual remains in this state for ever after. Defaults to FALSE. Only one a
tunit
Unit in days of the given time vector (if death == TRUE).
exacttimes
If TRUE, then the times are assumed to represent the exact times of transition of the Markov process. Otherwise the transitions are assumed to take place at unknown occasions in between the observation times.
fixedpars
Vector of indices of parameters whose values will be fixed at their initial values during the optimisation. These correspond to indices of the inits vector, whose order is specified above.
...
Optional arguments to the general-purpose R optimization routine optim. Useful options include method="BFGS" for using a quasi-Newton optimisation algorithm, which can often be faster

Value

  • A list of class msm, with components:
  • QmatricesA list of matrices. The first component, labelled baseline, is the estimated transition intensity matrix with any covariates fixed at their means in the data. Each remaining component is a matrix giving the linear effects of the labelled covariate on the matrix of log intensities.
  • QmatricesSEThe standard error matrices corresponding to Qmatrices.
  • qcenterThe estimated transition intensity matrix with any covariates fixed to zero (only returned when there is at least one covariate).
  • EmatricesA list of matrices. The first component, labelled baseline, is the estimated misclassification probability matrix with any covariates fixed at their means in the data. Each remaining component is a matrix giving the linear effects of the labelled covariate on the matrix of logit misclassification probabilities.
  • EmatricesSEThe standard error matrices corresponding to Ematrices
  • ecenterThe estimated misclassification probability matrix with any covariates fixed to zero (only returned when there is at least one covariate)
  • sojournA list with components:

    mean = estimated mean sojourn times in the transient states

    se = corresponding standard errors.

  • minus2loglikMinus twice the maximised log-likelihood
  • PmatrixA function with argument time, returning the estimated transition probability matrix within the interval time.
  • estimatesVector of untransformed maximum likelihood estimates returned from optim, with intensities on the log scale.
  • covmatCovariance matrix corresponding to estimates.

Details

For models without misclassification, the likelihood is calculated in terms of the transition intensity matrix $Q$. When the data consist of observations of the Markov process at arbitrary times, the exact transition times are not known. Then the likelihood is calculated using the transition probability matrix $P(t) = exp(tQ)$. If state $i$ is observed at time $t$ and state $j$ is observed at time $u$, then the contribution to the likelihood from this pair of observations is the $i,j$ element of $P(u - t)$. See, for example, Kay (1986), or Gentleman et al. (1994).

For models with misclassification, the likelihood for an individual with $k$ observations is calculated by summing over the unknown state at each time, producing a product of $k$ matrices. The calculation is adapted from that in Satten and Longini (1996), and is also given by Jackson and Sharples (2002).

There must be enough information in the data on each state to estimate each transition rate, otherwise the likelihood will be flat and the maximum will not be found. It will often be appropriate to reduce the number of states in the model to aid convergence.

Choosing an appropriate set of initial values for the optimisation can also be important. For flat likelihoods, 'informative' initial values will often be required.

References

Jackson, C.H., Sharples, L.D., Thompson, S.G. and Duffy, S.W. and Couto, E. Multi-state Markov models with misclassification. The Statistician, to appear. Jackson, C.H. and Sharples, L.D. Hidden Markov models for the onset and progresison of bronchiolitis obliterans syndrome in lung transplant recipients Statistics in Medicine, 21(1): 113--128 (2002). Kay, R. A Markov model for analysing cancer markers and disease states in survival studies. Biometrics (1986) 42: 855--865. Gentleman, R.C., Lawless, J.F., Lindsey, J.C. and Yan, P. Multi-state Markov models for analysing incomplete disease history data with illustrations for HIV disease. Statistics in Medicine (1994) 13(3): 805--821.

Satten, G.A. and Longini, I.M. Markov chains with measurement error: estimating the 'true' course of a marker of the progression of human immunodeficiency virus disease (with discussion) Applied Statistics 45(3): 275-309 (1996)

See Also

simmulti.msm, print.msm, plot.msm, summary.msm

Examples

Run this code
data("aneur",aneur)

### four states corresponding to increasing disease severity,
### with progressive transitions only 
qmat <- rbind( c(0, 1, 0, 0), c(0, 0, 1, 0), c(0, 0, 0, 1), c(0, 0, 0,
0))

aneurysm.msm <- msm(data=aneur, fromto=TRUE, fromstate=from, tostate=to,
                    qmatrix=qmat, timelag=dt, death=FALSE, inits=c(0.001,
                    0.03, 0.3), method="BFGS", control=list(trace=2))

print(aneurysm.msm)

Run the code above in your browser using DataLab