Tutorials

cold snow art texture

Tutorials

Take a look at our range of product walkthroughs

Survival analysis | Multi-state models | Joint models

Survival analysis

Probabilistic sensitivity analysis and survival models

Today we’re going to take a little look into probabilistic sensitivity analysis (PSA), and how it can be implemented within the context of survival analysis. Now PSA is used extensively in health economic modelling, where a particular parameter (or parameters) of interest, are altered or varied, to represent different scenarios and levels of variation. We…

Survival analysis with interval censoring

Interval censoring occurs when we don’t know the exact time an event occurred, only that it occurred within a particular time interval. Such data is common in ophthalmology and dentistry, where events are only picked up at scheduled appointments, but they actually occurred at some point since the previous visit. Arguably, we could say all…

Relative survival analysis

Relative survival models are predominantly used in population based cancer epidemiology (Dickman et al. 2004), where interest lies in modelling and quantifying the excess mortality in a population with a particular disease, compared to a reference population, appropriately matched on things like age, gender and calendar time. One of the benefits of the approach is…

Simulation, modelling and prediction with a non-linear covariate effect in survival analysis

Let’s begin. There will be a single continuous covariate, representing age, with a non-linear effect influencing survival. We’ll simulate survival times under a data-generating model that incorporates a non-linear effect of age. We’ll then fit some models accounting for the non-linear effect of age, and finally make predictions for specified values of age. Sounds simple,…

A user-defined/custom hazard model

This tutorial will illustrate some of the more advanced capabilities of merlin when modelling survival data, but with the aim of using an accessible example. During my PhD, Paul Lambert and I developed stgenreg in Stata for modelling survival data with a general user-specified hazard function, with the generality achieved by using numerical integration to…

Flexible parametric survival analysis with frailty

This example takes a look at incorporating a frailty, or random intercept, into a flexible parametric survival model, and how to fit them in Stata. First we’ll use merlin to estimate our model, and then the more user-friendly wrapper function stmixed. More details on these models can be found in the following papers: Crowther MJ,…


Multi-state models

Defining a transition matrix for multi-state modelling

In this post we’ll take a look at how to define a custom transition matrix for use with our multistate package in Stata. The transition matrix A transition matrix governs the movement of a process between possible states. Within multi-state survival analysis, and particularly, the implementation of multi-state models in Stata, the transition matrix contains…

multistate v4.4.0: semi-parametric multi-state modelling

multistate version 4.4.0 has been released! Ok, that may have happened a few weeks ago… The headlines: predictms now supports the Cox model as a transition model, estimated usingmerlin or stmerlinPredictions from a multi-state Cox model are implemented using asimulation approachSupported predictions from a multi-state Cox model include transitionprobabilities, probability, and length of stay, los…


Joint models

Multivariate joint longitudinal-survival models

Joint longitudinal-survival models have been widely developed, but there are many avenues of research where they are lacking in terms of methodological development, and importantly, accessible implementations. We think merlin fills a few gaps. In this post, we’ll take a look at the extension to modelling multiple continuous longitudinal outcomes, jointly with survival. For simplicity,…

An introduction to joint modelling of longitudinal and survival data

This post gives a gentle introduction to the joint longitudinal-survival model framework, and covers how to estimate them using our merlin command in Stata. A joint model consists of a continuous, repeatedly measured (longitudinal) outcome, and a time-to-event, with the two models linked by random effects, or functions of them. Let’s formally define everything we…

Joint frailty models for recurrent and terminal events

In this post we’re going to take a look at joint frailty models, and how to fit them with our merlin command. Importantly, we’ll also discuss how to interpret the results. Joint frailty models An area of intense research in recent years is in the field of joint frailty models, which has become the commonly…

Simulating survival data with a continuous time-varying covariate…the right way

In this post we’ll take a look at how to simulate survival data with a continuous, time-varying covariate. The aim is to simulate from a data-generating mechanism appropriate for evaluating a joint longitudinal-survival model. We’ll use the survsim command to simulate the survival times, and the merlin command to fit the corresponding true model. Let’s…

Joint longitudinal-survival models with time-dependent effects (non-proportional hazards)

In this post we’ll focus on how to model time-dependent effects (non-proportional hazards), specifically within a joint longitudinal-survival model. If this is your first time reading a little about joint models, check out our other posts on joint models on our Tutorials page. Now joint models are becoming commonplace in medical research, but as always,…