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
- /
- Ridging has failed to improve the loglikelihood

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-01-2016 11:13 AM

Hi everyone, I am using Proc Surveylogistic on SAS 9.4 and having trouble with my SAS model converging and wondering how to address this. I've tried all of the ridging options and increased the max iterations. SAS suggests using HALFMAX and INEST, but I cannot find any information on these options. Here is the warning message:

WARNING: The linesearch technique has failed to improve the loglikelihood. You may want to increase

the maximum number of step halvings (HALFMAX= option), or switch to use a ridging

technique (RIDGING= option), or specify a new set of parameter estimates (INEST= option).

WARNING: The SURVEYLOGISTIC procedure continues in spite of the above warning. Results shown are

based on the last maximum likelihood iteration. Validity of the model fit is questionable.

Can someone direct me to where I can find information on HALFMAX or INEST? Thank you.

Accepted Solutions

Solution

07-01-2016
04:01 PM

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

07-01-2016 01:52 PM - edited 07-01-2016 01:54 PM

The INEST data has to be in a certain format with required var names and a TYPE, so if you decide to pursue that approach -- here's an example (which I lifted from a SAS Tech Support example).

```
data in_parms(type=parms);
input _TYPE_$1-5 _NAME_ $7-16 Intercept x1;
datalines;
PARMS y 1.78602 -1.92822
COV Intercept 0.02480 -0.03560
COV x1 -0.03560 0.06408
;
run;
proc surveylogistic data=test inest=in_parms;
/* your model, class, and other statements */
run;
```

All Replies

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

07-01-2016 01:19 PM

The INEST= option enables you to specify a data set that has initial values for parameter estimates. Better guesses sometimes help convergence.

I don't know what "HALFMAX" means, and either did Google. My guess is that the WARNING message was initially written for another function or procedure (maybe in SAS/OR) that has or had such an option. Since it doesn't seem to apply to SURVEYLOGISTIC, you can ignore it.

Warnings like this often occur when the model does not fit the data.. Try simplifying the model, maybe by reducing the number of terms and/or interactions.

Solution

07-01-2016
04:01 PM

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

07-01-2016 01:52 PM - edited 07-01-2016 01:54 PM

The INEST data has to be in a certain format with required var names and a TYPE, so if you decide to pursue that approach -- here's an example (which I lifted from a SAS Tech Support example).

```
data in_parms(type=parms);
input _TYPE_$1-5 _NAME_ $7-16 Intercept x1;
datalines;
PARMS y 1.78602 -1.92822
COV Intercept 0.02480 -0.03560
COV x1 -0.03560 0.06408
;
run;
proc surveylogistic data=test inest=in_parms;
/* your model, class, and other statements */
run;
```

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

07-01-2016 04:02 PM

Thank you both! INEST worked very well.

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

07-01-2016 04:06 PM

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

07-26-2017 10:47 AM

Hello there,

I am having a very similar problem. Note: proc logistics works fine, it is when I run the bootstrapped weights that I run into a problem.

What does the INEST option mean? what can be the solution for me?

Thank you for your help.

Razan

Below is my syntax:

**Proc** **surveylogistic** data=boot.merged_1 varmethod=BRR ;

class ADHR (ref=first) DHH_SEX (ref=first) year(ref=first) agegrp (ref=first) edu_lv (ref=first) ;

model adhr = DHH_SEX year agegrp edu_lv / RIDGING=NONE ;

repweights bsw1 - bsw500 ;

weight fwgt ;

**run**;

NOTE: PROC SURVEYLOGISTIC is modeling the probability that adhr=1.

NOTE: Convergence criterion (GCONV=1E-8) satisfied.

WARNING: The linesearch technique has failed to improve the loglikelihood. You may want to

increase the maximum number of step halvings (HALFMAX= option), or switch to use a

ridging technique (RIDGING= option), or specify a new set of parameter estimates (INEST=

option).

WARNING: The SURVEYLOGISTIC procedure continues in spite of the above warning. Results shown are

based on the last maximum likelihood iteration. Validity of the model fit is

questionable.

NOTE: PROCEDURE SURVEYLOGISTIC used (Total process time):

real time 3:00.49

cpu time 2:15.08

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

07-26-2017 11:24 AM - edited 07-26-2017 11:25 AM

I used proc logistic to output a dataset containing initial parameter estimates using OUTEST that I then applied to the proc surveylogistic version of the model using INEST. These parameter estimates served as a starting point for the model convergence.

If you have already exhausted all of the ridging options, I would try:

**Proc** **logistic** data=boot.merged_1 *OUTEST=XXXX*;

class ADHR (ref=first) DHH_SEX (ref=first) year(ref=first) agegrp (ref=first) edu_lv (ref=first) ;

model adhr = DHH_SEX year agegrp edu_lv / *PARAM=REF* ;

**run**;

**Proc** **surveylogistic** data=boot.merged_1 varmethod=BRR *INEST=XXXX* ;

class ADHR (ref=first) DHH_SEX (ref=first) year(ref=first) agegrp (ref=first) edu_lv (ref=first) ;

model adhr = DHH_SEX year agegrp edu_lv / *PARAM=REF* ;

repweights bsw1 - bsw500 ;

weight fwgt ;

**run**;

The variables from the OUTEST dataset must match the number of variables and the variable names that PROC SURVEYLOGISTIC is expecting from your inputted INEST dataset. If you have a similar model that did converge in PROC SURVEYLOGISTIC, you can use that to investigate what variables are needed. I hope this works. I am far from an expert on this and it may have been luck that this was a quick fix for me.