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
- /
- Analytics
- /
- Stat Procs
- /
- Problem in Proc NLIN: The (approximate) Hessian is...

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
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-25-2014 07:28 AM

Hi everyone,

Hope I can find a solution for this! I am fitting models to my data mostly broken-line and curvilinear plateau by Proc NLIN procedure. In some models there is a note: Convergence criterion met but a note in the log indicates a possible problem with the model! But it makes the model and gives the estimates but then I have no Std error for my estimates and no 95% confidence limits!

In log I have: (I think my initial parameters are correct)

DER.L not initialized or missing. It will be computed automatically.

NOTE: DER.V not initialized or missing. It will be computed automatically.

NOTE: DER.R not initialized or missing. It will be computed automatically.

NOTE: PROC NLIN grid search time was 0: 0: 0.

NOTE: Convergence criterion met.

NOTE: The (approximate) Hessian is singular.

NOTE: The data set WORK.PPP has 507 observations and 3 variables.

And in some models I have a very big 95% confidence limits which my papers reviewer ask why!?!?

Any idea and comment??

My SAS syntax for model:

proc nlin data=one; *straight broken-line;

parameters L=0.70 U=-1.4 R=0.80;

z1=(x<R)*(R-x);

model y = L + U*(z1);

output out=ppp p=pred;

run;

proc gplot;

title2 '2 linear broken lines';

goptions hpos=35 vpos=35 ftext=swiss;

symbol1 v=dot c=black;

symbol2 i=join v=none c=black;

plot y*x pred*x/overlay;

run;

and results:

Parameter | Estimate | Approx Std Error | Approximate 95% Confidence Limits | |

L | 0.69 | 0.00949 | 0.6637 | 0.7163 |

U | -0.9 | 0.2324 | -1.5452 | -0.2548 |

R | 0.8 | . | . | . |

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

07-28-2014 11:20 AM

A singular hessian often means that the model is overspecified, but here I think it is because the broken stick model does not have continuous derivatives at the break point. You may have to specify the derivatives (in DER. statements) to get around this.

Steve Denham

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

07-29-2014 03:06 AM

Dear Steve,

Thank you very much for your help. Just I have no DER. statement in my SAS syntax! do you mean initial parameters?

Also do you have any idea what is the reason to have quite large confidence limits?

Many thanks again

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

07-29-2014 08:18 AM

No, I meant specifying the derivatives in a DER. statement. But further thought makes that seem unreasonsable. I fit the data in the documentation for Example 67.1 Segmented Model to a broken stick model, and found the same problem--Hessian is singular, huge standard error, and an indeterminate correlation matrix. I think it has to do with a lack of smoothness in this model and that the second derivatives are not continuous. I also tried using PROC MODEL and the results included a statement that the model was singular and the results were biased.

So I looked at http://www.ats.ucla.edu/stat/sas/faq/nlin_optimal_knots.htm, and found what I think may be useful to you. It worked on the sample data I tried, and the Hessian error message was no longer showing up.

Steve Denham