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

Showing results for

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Proc Logistic: ERROR: The SAS System stopped processing this step bec...

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

🔒 This topic is **solved** and **locked**.
Need further help from the community? Please
sign in and ask a **new** question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 03-17-2016 03:25 PM
(4419 views)

Hi, I am running the following code

ods listing close;

ods output FitStatistics = TempFit ParameterEstimates=TempEst NObs=TempNObs

RSquare=TempRSquare Classification=TempClass Association=TempAssoc ResponseProfile=TempResp;

proc logistic data=temp.temp_51101 DESCENDING;

model XYZ = AA BB CC DD EE /RSQUARE CTABLE pprob=(0.0 to 1 by 0.05);

run;

ods output close;

ods listing;

ods trace off;

and I get the log

ERROR: The SAS System stopped processing this step because of insufficient memory.

NOTE: There were 5169 observations read from the data set WORK.TEMP_51101.

NOTE: PROCEDURE LOGISTIC used (Total process time):

real time 0.69 seconds

cpu time 0.65 seconds

The database is not particularly large and I cannot believe that there is a memory issue.

Any suggestions?

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

PROC LOGISTIC is intended for regression when the response variable is binary (although it also supports other categorical distributions.)

If you run PROC FREQ on your XYZ variable, you will see that it is a continuous variable with 5169 unique values. PROC LOGISTIC is trying to fit a cumulative logit model to this data.

In short, the distribution of XYZ is not appropriate for PROC LOGISTIC. You can try other procedures like PROC REG.

I don't know anything about your data, but if you run PROC UNIVARIATE on the response variable, you will see that Obs=4801 is an extreme outlier. I'd check to see if it was miscoded.

6 REPLIES 6

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Strange. The following call does the same compution on 5400 observations without difficulty for me. Can you run it?

Can you run your model on your data when you omit the CTABLE and PPROB= options?

```
data cars;
set sashelp.cars sashelp.cars sashelp.cars sashelp.cars sashelp.cars
sashelp.cars sashelp.cars sashelp.cars sashelp.cars sashelp.cars
sashelp.cars sashelp.cars sashelp.cars sashelp.cars sashelp.cars
sashelp.cars sashelp.cars sashelp.cars sashelp.cars sashelp.cars;
where origin in ("USA" "Europe");
run;
proc logistic data=cars;
model origin = cylinders weight mpg_city mpg_highway invoice / RSQUARE CTABLE pprob=(0 to 1 by 0.05);
run;
```

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Hi, here it is:

320 proc logistic data=cars;

321 model origin = cylinders weight mpg_city mpg_highway invoice / RSQUARE CTABLE pprob=(0 to 1 by 0.05);

322 run;

NOTE: PROC LOGISTIC is modeling the probability that Origin='Europe'. One way to change this to model the probability that Origin='USA'

is to specify the response variable option EVENT='USA'.

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

NOTE: There were 5400 observations read from the data set WORK.CARS.

NOTE: PROCEDURE LOGISTIC used (Total process time):

real time 0.04 seconds

cpu time 0.03 second

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks a million. Here it goes.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

PROC LOGISTIC is intended for regression when the response variable is binary (although it also supports other categorical distributions.)

If you run PROC FREQ on your XYZ variable, you will see that it is a continuous variable with 5169 unique values. PROC LOGISTIC is trying to fit a cumulative logit model to this data.

In short, the distribution of XYZ is not appropriate for PROC LOGISTIC. You can try other procedures like PROC REG.

I don't know anything about your data, but if you run PROC UNIVARIATE on the response variable, you will see that Obs=4801 is an extreme outlier. I'd check to see if it was miscoded.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I am so sorry for wasting your time. That was silly 🙂

I had a typo in the macro that was generating that XYZ variable and I was overlooking the error.

Sorry and thanks a million.

PA

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

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.