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.
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
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
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!!
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!
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.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.