BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
harishpl02
Fluorite | Level 6

I am running a Job to calculate "Survival Analysis" using Proc Phreg Procedure for 2 Vehicle populaton's Survival analysis after some counter Measure. 

 

The below Warning and Error is showing after Proc Phreg Procedure in Log file:

 

NOTE: No BY variables in the COVARIATES= data set. The entire COVARIATES= data set is used for every BY group

NOTE: Convergence criterion (GCONV=1E-8) satisfied.
NOTE: The above message was for the following by-group:..

 

WARNING: Ridging has failed to improve the loglikelihood. You may want to increase the initial ridge value (RIDGEINIT= option), or
use a different ridging technique (RIDGING= option), or switch to using linesearch to reduce the step size (RIDGING=NONE),
or specify a new set of parameter estimates (INITIAL= option).
ERROR: Floating Point Overflow.
ERROR: Termination due to Floating Point Exception
NOTE: The SAS System stopped processing this step because of errors.
NOTE: SAS set option OBS=0 and will continue to check statements. This may cause NOTE: No observations in data set.
WARNING: The data set ELG_PE may be incomplete. When this step was stopped there were 86 observations and 15 variables.
WARNING: The data set PRED3 may be incomplete. When this step was stopped there were 5406 observations and 10 variables.

 

After implementing RIDGING=None or RIDGING=Absolute option in Model statement as per Log Job was able to finish without any Errors and warnings.

 

Can you please explain what is the Ridging =None or aboslute option do in model statement, How its going to prevent the above error happening and how it improves Log Likelyhood ratio.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Rick_SAS
SAS Super FREQ

You can search this forum to find other threads that mention the same problem. See the thread

https://communities.sas.com/t5/Base-SAS-Programming/proc-phreg-floating-point-overflow/m-p/284655#M5...

for advice.

 

You didn't show any code, so it is difficult to advise you. However, the error messages indicate that that the procedure is doing an optimization to try to find the maximum likelihood parameters and the optimization is not converging to a solution. The WARNING is a generic message.  It reminds you that sometimes changing the optimization algorithm or parameters can help the optimization converge.

View solution in original post

2 REPLIES 2
Rick_SAS
SAS Super FREQ

You can search this forum to find other threads that mention the same problem. See the thread

https://communities.sas.com/t5/Base-SAS-Programming/proc-phreg-floating-point-overflow/m-p/284655#M5...

for advice.

 

You didn't show any code, so it is difficult to advise you. However, the error messages indicate that that the procedure is doing an optimization to try to find the maximum likelihood parameters and the optimization is not converging to a solution. The WARNING is a generic message.  It reminds you that sometimes changing the optimization algorithm or parameters can help the optimization converge.

harishpl02
Fluorite | Level 6

Thank You very much for your Time.

 

This is is the undelying code:

 

%if &elgFlag %then
%do;

%if %TableHasData(WORK.ELG_VIN_POP_SUMMARY) %then
%do;

ODS OUTPUT PARAMETERESTIMATES=WORK.ELG_PE;

PROC PHREG DATA=WORK.ELG_VIN_POP_SUMMARY;
BY KEY_TYP_ID VHCL_KEY_TYP_ID MDL_NM MDL_YR FCTRY_CD ENG_SERIES_ID PROB_DEFN_SK;
MODEL Y*V(0)=CNTMESR_INDC_SK;
BASELINE COVARIATES=WORK.INRISKS OUT=WORK.PRED3 SURVIVAL=S;
FREQ FREQ;
RUN;

%end;
%else
%do;
/* reset the flag */
%let elgFlag = 0;
%end;

%end;

%if &rptFlag %then
%do;

%if %TableHasData(WORK.RPT_VIN_POP_SUMMARY) %then
%do;

ODS OUTPUT PARAMETERESTIMATES=WORK.RPT_PE;

PROC PHREG DATA=WORK.RPT_VIN_POP_SUMMARY;
BY KEY_TYP_ID VHCL_KEY_TYP_ID MDL_NM MDL_YR FCTRY_CD ENG_SERIES_ID PROB_DEFN_SK;
MODEL Y*V(0)=CNTMESR_INDC_SK;
BASELINE COVARIATES=WORK.INRISKS OUT=WORK.PRED3 SURVIVAL=S;
FREQ FREQ;
RUN;

%end;
%else
%do;
/* reset the flag */
%let rptFlag = 0;
%end;

%end;

Continues....

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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
  • 2 replies
  • 3559 views
  • 0 likes
  • 2 in conversation