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
- /
- Analytics
- /
- Stat Procs
- /
- Procs HPMixed and HPLMixed

Topic Options

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

05-17-2016 09:35 AM

To Whom It May Concern;

I use SAS 9.4 and am having difficulty running a medium to large analysis. I would like to undertake a hazard analysis of some historical commercial, not experimental, animal data.

Hazard is whether a hazard was observed, this is a binary variable with a mean of 0.93 and standard dev of 0.29.

I have just under 1E6 observations on 1E5 animals.

I have

10 fixed factors

43 continuous variables

3 random factors

Having fitted a fixed effects model in Proc GLM there are many interactions and quadratic effects that are significant at P<0.0001

I have chosen to fit fixed effects and interactions, including quadratic effects only if they are significant at P<=0.0001. After correction for Nelder's marginality requirements (1994) this gives me a fixed effects model with >4,000 df.

The data is unbalanced commercial data, similar to that used for animal genetic analyses, but with a much more complicated fixed effects model.

I would like to fit animal, handler and year as random effects without any interactions.

Using HPL Mixed I receive the following error

NOTE: The HPLMIXED procedure is executing in single-machine mode.

ERROR: Insufficient resources to proceed. Terminating the mixed modeling task.

Using HP Mixed I receive the following error

NOTE: 56969 observations are excluded because of: missing response values

(n=377), missing fixed effects (n=56969), missing random effects

(n=6546).

ERROR: The MMEq matrix is not positive semidefinite.

My computer is a PC running Windows7 Professional with 64Gb RAM running at 3.6GHz.

It has 2 by 1 Tb hard disc drives that back up to one another.

I have a solid state 500Gb Hard Drive that has been included to use as virtual memory.

I am not sure what resources I need to continue with HPLMixed. It is possible that I am not directing the working directory to the solid state hard drive correctly.

I do not know what to do to ensure I get a positive semidefinite MMEq matrix.

I would be most obliged if someone could give me some direction.

See code below

TIA

Dave

proc hplmixed data=train0;

*proc hpmixed data=train0;

*P<=0.0001;

class Month doweek notwrk Site Observn L14 T6 T7 T31 T32 Handl Year Anml;

model hazd=

doweek

...

T5*T5

T9*T9

W16*W16

/ S;

random

Anml Handl Year

/ Solution;

run;

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

Posted in reply to davidrutley

05-17-2016 10:13 AM

If you haven't already read it, I recommend the 2009 paper "All the cows in Canada: Massive Mixed Modeling with the HPMIXED procedure" as a good introduction to this area. It describes a smaller problem with only 10,000 animals and many fewer effects.

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

Posted in reply to davidrutley

05-17-2016 01:53 PM

Your model is overparameterized for the fixed effects. You clearly have a lot of mixxing values (if not, then you are coding something incorrectly), but that is not an issue with mixed models. I would start with a small number of fixed effects(covariates or factors), to get things to work, and then add terms. The nonpositive definite matrix is one symptom of too many fixed effects.

HPLMIXED works best when used in multiple-machine mode. I don't use it that way, so I can't give any advice. But this requires a separate license.

You may have to increase the amount of memory that SAS can use in a job. THis is specified with the MEMSIZE option in the sas configuration file (cfg file). If this is not set at MEMSIZE=MAX, then sas will only use the memory listed in this file, often set at 2GB (it doesn't matter how much memory you actually have). I have never needed to change this option, so I hope others can tell you how to do this. You can check on this with

proc options;run;

to see what is specified.