BookmarkSubscribeRSS Feed
meghan24
Calcite | Level 5

,

Hi,

I am trying to run a time series model using the proc GAM procedure. My data is about 1GB. When i run the model, i get an error message:

ERROR: The SAS System stopped processing this step because of insufficient memory.
NOTE: PROCEDURE GAM used (Total process time):
      real time           11.63 seconds
      cpu time            8.79 seconds

 

The error message is generated within few seconds. I have provided example of my program below:

 

proc gam data=testdata plots=all ; 
class X2 (ref= '1') Y2-Y7  Z1-Z10 ;
model outcome= spline(month) spline(temp) 
param(X1 X2 Y2-Y7  Z1-Z10 ) / dist=Poisson method=gcv;
run;

X1 = continuous variable

X2 has three  age categories

Y2-Y7 are dummy variables with 1 or 0

Z1-Z10 are dummy variable for year (10 year period)

month = month of teh year

Temp = daily average temperature

 

I am wondering why i keep getting the error message within a short period of time ? I am not sure if something may be wrong with teh way the data is set up. However, the model runs and converges when i run with data subsetted for each year.

3 REPLIES 3
Rick_SAS
SAS Super FREQ

the original GAM algorithm that was implemented in PROC GAM does not scale to large data.

Try the new GAMPL procedure, which can fit generalized additive models using more efficient algorithms. The GAMPL procedure was introduced in SAS/STAT 14.1 (SAS 9.4m3).

 

For an example and links to the GAMPL procedure, see the blog post "Nonparametric regression for binary response data in SAS"

meghan24
Calcite | Level 5

Thank you for your response. It appears that the examples of proc gampl are mainly for binary outcomes. Can this procedure be used for count data?

Thank you

 

StatDave
SAS Super FREQ

Yes.  GAMPL has the same DIST= option as GAM.  See the GAMPL documentation for your release of SAS (9.4 TS1M3 | 9.4 TS1M4).

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

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
  • 3 replies
  • 1304 views
  • 0 likes
  • 3 in conversation