Hi,
I am new to SAS and I have been trying to run survival analysis for sometime now. My general aim is to understand critical factors that affects customer defection over 36 months at individual level. I have incorporated several independent variables (both time constant and time varying) from transaction & complaints dataset. For your information, currently I am dealing with 2,721,168 observations and 20 variables. I started from EG and moved on to SAS 9.3 and now SAS 9.4.
I have several questions as follows:
1. I was advised to use PROC PHREG but with a random statement. I would like to know if the random statement is necessary since I do not have repeated measures.
2. The data structure is this correct or is there a better way to set it up?
3. I was also asked to use LAG function but do you think this is appropriate since I do not have a time series dataset.
4. I am experiencing several issues when I ran the whole dataset as follows:
NOTE: There were 2721168 observations read from the data set
WORK.COMPLAINT.
ERROR: Insufficient space in file WORK.COMPLAINT.DATA.
ERROR: Failure while merging sorted runs from utility file 1 to final
output.
ERROR: Failure encountered during external sort.
ERROR: File WORK.COMPLAINT.DATA is damaged. I/O processing did not
complete.
688 proc lifetest data=ModelData_DataModel_Final atrisk plots=survival(cb)
688! outs=out500;
689 time Time*CENSOR(0);
690 run;
NOTE: The LOGLOG transform is used to compute the confidence limits for
the quartiles of the survivor distribution and the confidence limit
for the survivor function. To suppress using this transform, specify
CONFTYPE=LINEAR in the PROC LIFETEST statement.
ERROR: The SAS System stopped processing this step because of insufficient
memory.
NOTE: The data set WORK.OUT500 has 8385 observations and 5 variables.
NOTE: PROCEDURE LIFETEST used (Total process time):
real time 17.22 seconds
cpu time 17.19 seconds
692 proc lifetest data=ModelData_DataModel_Final atrisk nelson;
693 time Time*CENSOR(0);
694 run;
NOTE: The LOGLOG transform is used to compute the confidence limits for
the quartiles of the survivor distribution. To suppress using this
transform, specify CONFTYPE=LINEAR in the PROC LIFETEST statement.
ERROR: The SAS System stopped processing this step because of insufficient
memory.
NOTE: PROCEDURE LIFETEST used (Total process time):
real time 5.53 seconds
cpu time 5.53 seconds
695 title;
696 ods graphics off;
I thank you for your attention.
Sincerely,
Jeenat
Try with following options to get rid of memory issue and for the rest someone would shed light to your questions.
options maxmemquery=6M;
I'd chat with tech support about this. Depending on your OS/SAS installation (server/desktop) there are various options that can be set to allow this to process.
Another way would be to partition the data and run multiple samples though that isn't optimal...
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.