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
- /
- SAS Programming
- /
- General Programming
- /
- Proc Mixed fails to compute because of memory

Topic Options

- 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
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

12-12-2012 07:54 PM

I am running multivariate multilevel growth model on SAS 9.3 (x64bit) with two random components (one for intercept and one for slope). I have two dependent variables (DV). I have approximately 6000 subjects and 80000 rows or 40000 for each DV. I used the following codes in which med is the dummy for two DVs:

proc mixed data= mult covtest asycorr noclprint;

ods output solutionF=Fixed7 covparms=cov7

tests3=test3_7 fitstatistics=fitstat7 gcorr=gcor7;

class enrolid med ;

model adh = med med*qtr med*age /noint s;

random med med*qtr /type=un sub=enrolid g gcorr;

repeated /type=vc group=med subject=enrolid;

run;

It computes when Random intercept model is run (i.e., if 'med*qtr' is dropped from the model and random statements). But, SAS can NOT run it as growth model and reports "integer overflow...2429.72M bytes of memory cannot be allocated" problem although I have 4 GB RAM. I tried to allot as much memory as possible but it did not work out. Please suggest any solutions or share if you see any issues.

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

Posted in reply to brs2012

12-13-2012 08:12 AM

If enrolid is a numeric variable, then try sorting the dataset by enrolid, and eliminating enrolid from the class statement. If enrolid is alphanumeric, then create a nurmeric variable to use in its place. I cannot gurantee that this will solve the problem, but it should help.

Other questions that having the answer to may help solve this: What does the variable 'qtr' represent? Is it a successive time variable? Since this is in proc mixed, the Kronecker product variance structures are available. What happens (especially to the R part of the Z matrix) if you shift to:

repeated med qtr/type=un@cs subject=enrolid;

This structure is presented in the documentation for the REPEATED statement, with an example where the responses are height and weight (Var), which looks equivalent to your 'med.'

I hope this helps some.

Steve Denham

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

Posted in reply to brs2012

12-13-2012 11:05 AM

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

Posted in reply to SandorSzalma

12-13-2012 01:25 PM

I don't know if this applies to your problem, but I have seen cases with other SAS procs where they internally use signed integer for limits, so they can't assign more than 2**31 (2,147,483,648) of something. I'm not aware of any workaround for this problem.

Tom

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

Posted in reply to brs2012

12-15-2012 05:51 PM

Thanks a lot guys!!

@ Steve, I took enrolid off from the class statement and replaced with a numeric one. But, it did not help.

Surprisingly, it fails to use all of 4 GB to run when SAS default ddfm is used on the model statement. It runs successfully only when I reduce the number of subjects to 4500 (approx.) with the default containment method.

Anyway, I could finally run the model with some alternative 'ddfm= ' specifications (e.g., residual, KR, etc.) on the model statement.

Friends, thanks again for your time!!

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

Posted in reply to brs2012

06-05-2013 09:41 AM

Hello, your thread is the only one I found that mentions running a multivariate multilevel model. Can you direct me to any resources on how to use SAS to run this model? Thank you for your time!