Programming the statistical procedures from SAS

Proc mixed and integer overflow

Reply
New Contributor
Posts: 3

Proc mixed and integer overflow

Hi there

 

I have found several posts on this subject but have not managed to solve my problem yet.

I am running a mixed model on a dataset with 30 subjects who have got an average of 4000 measurements each (The highest number of measurements per subject is 16000).

I have run the model using the RANDOM statement (with a random intercept for each subject) and it worked fine.

However, I would like to change the covariance structure to an autogressive one. For this reason I have been trying to use the REPEATED statement and I keep getting the following error

 

ERROR: Integer overflow on computing amount of memory required. A request to allocate 5952.94M bytes of memory can not be honored.
ERROR: The SAS System stopped processing this step because of insufficient memory.

 

I tried to make the model the simplest possible (without any fixed effect) and I have tried to change the DDFM option but it still doesn't work.

 

Does anyone know how to fix it?

 

Thanks a lot!!!

SAS Super FREQ
Posts: 3,301

Re: Proc mixed and integer overflow

You could try PROC HPMIXED, which uses sparse matrices to compute the model. See the paper "All the cows in Canada..." (Wang and Tobias, 2009)

New Contributor
Posts: 3

Re: Proc mixed and integer overflow

Hi Rick!

 

Thanks for this. I tried but I still get the following message Smiley Sad:

ERROR: The HPMIXED procedure stopped because of the insufficient memory.

 

This is my code. I got rid of the fixed effects so that it would be the simplest possible.

proc hpmixed data=j; 
    class seconds;
    model logconcentration=; 
    repeated seconds/sub=worker_id type=AR(1); 
run; 
SAS Super FREQ
Posts: 3,301

Re: Proc mixed and integer overflow

[ Edited ]

I assume you are using the MEMSIZE system option to make sure the SAS process has access to as much RAM as possible?

 

You can run PROC OPTIONS to display the current value of the MEMSIZE option:

 

proc options option=MEMSIZE value;

run;

 

The default value on Windows is only 2GB. You can use the MEMSIZE system option to permit SAS to allocate a greater amount of system memory. Use this article to guide you in setting the MEMSIZE option to a larger value.

New Contributor
Posts: 3

Re: Proc mixed and integer overflow

Thanks Rick. I have just done it but my computer has got a 4GB RAM and it is not enough ...

Ask a Question
Discussion stats
  • 4 replies
  • 145 views
  • 0 likes
  • 2 in conversation