Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 02-29-2016 11:47 AM
(1509 views)

Hi,

Does anyone have sample SAS codes to simulate 'Joint Model of Longitudinal and Survival Data'?

Model specification is in the attached.

Thanks,

3 REPLIES 3

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

This is pretty complicated, so I hope you already know how to simulate mixed models and survival functions. You have privately comunicated with me that you have my book *Simulating Data with SAS*, so study the relevant sections in the book to help carry out steps 4) and 5) below.

The model is explained in Section 2.1-2.3. There are actually 12 models in this paper (Table 2). I'll describe the main ideas.

1) Choose a model in Table 2.

2) Choose parameters from the "Joint analysis" column of Table 3: fixed effects (beta) coefficients, covariance matrix (Sigma), and random coefficients (gamma)

3) For the m subjects, generate U, which is an mx2 matrix that contains m MVN(0, Sigma) observations. Since you posted this question to the IML forum, you can use

U = RandNormal(m, {0 0}, Sigma); /* random intercepts and slopes */

The i_th row of U is used for the random intercepts and slopes for the i_th patient.

4) If you aren't using a time-varying survival function (such as the exponential hazard function), use Eqn 2 or the Cox PH model to draw a survival time for the i_th patient.

5) Use the mixed model (Eqn 1) to simulate the correlated longitudinal data for the i_th patient. Be sure to stop when the measurement time s_{ij} is greater than the survival time, and mark that patient as censored.

Good luck!

I do not cover time-varying survival functions in my book, but after you are able to simulate the case of constant hazard you can post your program and maybe someone can help you modify it to handle the time-varying case.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

In your book, section 8.8 (Cholesky Transformation) did use the following to generate uncorrelated random intercepts and slopes.

**U = RandNormal(m, {0 0}, Sigma); /* random intercepts and slopes */**

But, the last paragraph on page 18 of the attached article has parameter r1, r2, r3 for random intercepts, slopes, and fitted longitudinal value at the event time W1i(t) respectively.

How can you connect the above 2x2 matrix of U with W1i(t)?

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

That sentence merely notes that since W1i(t) = U1i + U2i(t), then eqn 4 becomes

W2i(t) = gamma1 U1i + gamma2 U2i(t) + gamma3 W1i(t) + U3i.

The same U matrix is used for both W1 and W2. That's the whole point of the article. The columns of the U matrix are latent variables that correlate the longitudinal model and the survival model.

**SAS Innovate 2025** is scheduled for May 6-9 in Orlando, FL. Sign up to be **first to learn** about the agenda and registration!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.