turn on suggestions

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

Showing results for

Find a Community

- Home
- /
- Health Care and Pharma
- /
- SAS in Health Care Related Fields
- /
- How to resolve the error message in proc nlmixed?

Topic Options

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

12-06-2012 10:42 AM

Hi All,

I am trying to fit a frailty model for recurrent event time in SAS using the proc nlmixed procedure. I have 8 categorical variable, with the highest having 9 categories while the least has just two categories, with also with continues variable.

Variables:Tip ( 2 levels), sup1(3 levels), period(5 levels), red(2 levels), upperb(2 levels), wc(9 levels), name1( 2 levels), trapname1(3 levels), while shade and shade2 are continuous variable.

Below is the sas code and the error message generated.

Title "Frailty Gamma Model ";

ods output ParameterEstimates=Est;

proc nlmixed data=new qpoints=50 noad;

bounds gamma > 0;

linp = b0 + b1*(tip1) - b2*(sup1)- b3*(sup2) +b4*(period1) + b5*(period2)-b6*(period3)-b7*(period4)+

b8*(red)-b9*(upperb)+b10*(wc1)+c1*(wc2)+ c2*(wc3)+ c3*(wc4)+ c4*(wc5)+ c5*(wc6)+

c6*(wc7)+ c7*(wc8)+ c8*(name1)-

c9*(trapname1)-c10*(trapname2)-d1*(shade)+d2*(shade2)+ z;

alpha = exp(-linp);

G_t = exp(-(alpha*time1_cum)**gamma);

g = gamma*alpha*((alpha*time1_cum)**(gamma-1))*G_t;

ll = (status=1)*log(g) + (status=0)*log(G_t);

model time ~ general(ll);

random z ~ normal(0,exp(2*logsig)) subject=pie_id out=EB;

predict 1-G_t out=cdf;

run;

The error message is below;

60

61 ods output ParameterEstimates=est;

NOTE: Writing HTML Body file: sashtml.htm

62 proc nlmixed data=new qpoints=50 noad;

63 bounds gamma > 0;

64 linp = b0 + b1*(tip1) - b2*(sup1)- b3*(sup12) +b4*(period1) +

64 ! b5*(period2)-b6*(period3)-b7*(period4)+

65 b8*(red)-b9*(upperb)+b10*(wc1)+c1*(wc2)+ c2*(wc3)+ c3*(wc4)+ c4*(wc5)+ c5*(wc6)+

NOTE: Character value converted to numeric for argument 2 of '*' operation at line 65 column 3.

NOTE: Character value converted to numeric for argument 2 of '*' operation at line 65 column 15.

66 c6*(wc7)+ c7*(wc8)+ c8*(name1)-

67 c9*(trapname1)-c10*(trapname2)-d1*(shade)+d2*(shade2)+ z;

68 alpha = exp(-linp);

69 G_t = exp(-(alpha*time1_cum)**gamma);

70 g = gamma*alpha*((alpha*time1_cum)**(gamma-1))*G_t;

71 ll = (status=1)*log(g) + (status=0)*log(G_t);

72 model time ~ general(ll);

73 random z ~ normal(0,exp(2*logsig)) subject=pie_id out=EB;

74 predict 1-G_t out=cdf;

75 run;

NOTE: To assign starting values to parameters, use the PARMS statement. The default starting value

of 1.0 is in effect for all parameters.

ERROR: Dependent variable is not in the input data set.

NOTE: The SAS System stopped processing this step because of errors.

WARNING: The data set WORK.EB may be incomplete. When this step was stopped there were 0

observations and 0 variables.

WARNING: The data set WORK.CDF may be incomplete. When this step was stopped there were 0

observations and 0 variables.

NOTE: PROCEDURE NLMIXED used (Total process time):

real time 1.34 seconds

cpu time 0.04 seconds

Please I would appreciate if anyone could have a look at it and tell how to go about resolving it.

Thanks in advance.

Cook

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Tcook

12-06-2012 10:47 AM

It looks like the variable LINP is not in your input data set NEW.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to ballardw

12-06-2012 12:52 PM

Hi Ballardw,

yeah, its defined in the model.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Tcook

12-06-2012 01:09 PM

Mea culpa, is TIME in the input data set?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to ballardw

12-07-2012 05:59 AM

Ballardw, it is actually time1_cum, I have corrected that but still having trouble running the model. Please do you have an idea of what might have gone wrong?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Tcook

12-07-2012 10:44 AM

Same or new error message? If a different message then log is going to be helpful.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to ballardw

12-08-2012 11:28 PM

I was able to resolve the initial problem but after running the nlmixed model for a weilbull frailty model, I realized that no standard error estimates were generated for the intercept and one other parameter in the models. Secondly I got the following warning message

WARNING: The final Hessian matrix is full rank but has at least one negative eigenvalue. Second-order

optimality condition violated

I will greatly appreciate it if anyone has an idea of what the problem might be and suggestion on how I should go about resolving it.

Thanks.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to Tcook

12-10-2012 11:10 AM

I suggest you start a new thread with a title something like "No standard error for intercept in NLMIXED" in the Statistics group instead of health care as it may get more attention there.

And with the error resolved for this one mark it answered, even if you found the resolution on your own.