Help using Base SAS procedures

Using PROC LIFEREG parameter estimates

Reply
Occasional Contributor
Posts: 13

Using PROC LIFEREG parameter estimates

I'm currently working on a failure time analysis using a logistic distribution in Lifereg. However, I'm having a little trouble using the parameter estimates I'm getting to manually calculate predicted mortality at a particular time.

I'm more familiar with PROC LOGISTIC  where I am given an intercept and slope, and I can calculate the predicted cumulative failure rate with % failed = 1/(1+exp(-(intercept+time*slope))). In those kinds of analyses, I would be taking a batch of samples, expose them to a particular dose, and measure the number of responses (i.e. deaths) out of total samples at each treatment. Survival time analysis is a little different though since I'm watching individuals over time until death rather than going to pre-determined treatment time, hence using PROC LIFEREG. However, the procedure gives intercept and scale parameters when I use a logistic distribution, but I'm not sure how to use these estimates to predict mortality for a given exposure time like I would in my PROC LOGISTIC example. I haven't seen a formula yet that that allows me to just plug in the intercept and scale parameters with the specific time of interest to get the predicted cumulative mortality for that model yet. Everything I've tried out so far results in different values when I check them against the predicted values the cdf option gives for the specific time values used to build the model. Could anyone provide information on how we're supposed to use these parameters? Thanks.

Super User
Posts: 17,842

Re: Using PROC LIFEREG parameter estimates

The formulas to calculate the predicted value are based on your specifications.

Any reason you aren't getting it to spit out the values you need rather than calculate them by hand?

SAS/STAT(R) 9.22 User's Guide

Occasional Contributor
Posts: 13

Re: Using PROC LIFEREG parameter estimates

Problem solved. The formula I was using was not based on a scale parameter. What I needed to be using was:

\frac{1}{1+e^{-\frac{x-\mu}{s}}}\!

where x is time, u is the intercept, and s is the scale parameter. The formula I was used to using in Proc Logistic requires slightly different parameters.

DATA dummydata;

   INPUT vid failtime ;

   DATALINES;

1    45   

2    55   

3    56   

4    57   

5    57   

6    59   

7    60   

8    65   

9    70   

10    75   

;

run;

proc lifereg data=dummydata plots=probplot;

model failtime= /d=logistic;

output out=a cdf=pred;

run;

proc print data=a;

title "Lifereg predicted values";

run;

data dummydata2;

set dummydata;

predictedmortality=1/(1+exp(-(59.5050+failtime*4.4536)));

run;

proc print data=dummydata2;

title "Incorrect Formula predicted values";

run;

data dummydata3;

set dummydata;

predictedmortality=1/(1+exp(-((failtime-59.5050)/4.4536)));

run;

proc print data=dummydata3;

title "Correct predicted values";

run;

Ultimately I needed to report the parameter estimates with the correct formula because I have no idea what specific time others would need to know the mortality for. Otherwise I could have just had SAS spit out a single value for a time of interest, but that would have been feasible in this case.

Ask a Question
Discussion stats
  • 2 replies
  • 421 views
  • 3 likes
  • 2 in conversation