BookmarkSubscribeRSS Feed
xinjian
Calcite | Level 5

Dear All,

I have a longitudinal data set below:

ID time event T
1 6 1 0
2 12 1 0
3 16 0 1
4 18 0 1
5 8 1 1

Total 60 subjects, maximal follow time is 24 months. Is it possible to use my dataset to predict survival rate for 5 or 10 years?

My program is below:

proc lifetest data = want plot= survival (nocensor failure test);

time time*event(0);

strata T;

run;

 

Thanks so much for your help,

Xinjian

 

 

7 REPLIES 7
snoopy369
Barite | Level 11
It seems like it would be difficult to predict 5 or 10 year survival rates with any degree of precision with only 2 years of data, doesn't it? Some diseases have fairly stable 1-2 year survival curves with major drop-offs three or four years out, while some have fairly linear progressions. How does your model know if there's likely to be a spike in year 3 or 4?
xinjian
Calcite | Level 5

Hi,

I really appreciate your quick response. Yes, it is true to predict future 5 years using 2 year data set. I am more worried survival rate maybe flat. I just want know if there is a way to get survival rate beyond follow up window. I may use another dataset to validate the prediction.

Thanks,

Xinjian

Reeza
Super User

Not with any sort of accuracy. Survival curves are long tailed and where they flatten out/bend can be quite variable. 

 

xinjian
Calcite | Level 5

Dear Reeza,

Can you teach me how to write a program to predict survival rate beyond follow up 1, 2, or 3 years?

Thanks,

Xinjian

Reeza
Super User

If *I* had to do it, I guess I'd use PROC LIFEREG, where you'd build a model with parameters and once the model was built, you could likely extend it to a time beyond your data, BUT make sure to include the Prediction Intervals (not Confidence Intervals) to show how large your error will. 

 

I'm not even 100% sure that would work, but it's what I'd try.

xinjian
Calcite | Level 5

Many thanks for your suggestion. I'll try it.

xinjian
Calcite | Level 5

HI Reeza,

I use proc lifereg to build a model, the syntax is as follow:

proc lifereg data=want outest=expoutest;

model time*event(0)=T/dist=exponential;

title 'lifereg predict model';

output out=expsurv xbeta=exp_xb; run;

 

The estimates output is as follow:

Analysis of Maximum Likelihood Parameter Estimates
Parameter DF Estimate Standard
Error
95% Confidence Limits Chi-Square Pr > ChiSq
Intercept 1 4.1418 0.4472 3.2653 5.0184 85.77 <.0001
T 1 1.2695 0.6325 0.0300 2.5091 4.03 0.0447
Scale 0 1.0000 0.0000 1.0000 1.0000    
Weibull Shape 0 1.0000 0.0000 1.0000 1.0000  

 

My question is how can I write a syntax to set a time point at 3 year to predict survival rate?

 

Thank you!

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 7 replies
  • 1926 views
  • 0 likes
  • 3 in conversation