LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (August 2005, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 5 Aug 2005 13:17:44 -0400
Reply-To:     Thomas Soubiran <th.soubiran@GMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Thomas Soubiran <th.soubiran@GMAIL.COM>
Subject:      Nlmixed is getting on my nerves

Dear Saslisters,

The random statement of Proc Nlmixed is giving me trouble.

I need to analysis a database which traces on the occupation of over 8,000 individuals since they joined the labor force. There is one record per year. I'd like to run a polytomous logistic regression with a typology of occupations as dependant variableand individuals at level two. One of my (numerous) problem is that I cannot get estimates of the random components or get "funny" error messages.

I've tried several codes such as this one...

proc

nlmixed data=pos2 ; parms g1=-3 g12=0 g2=0 g22=0 g3=-3 g32=0 v1=0 v12=0 v13=0 v2=0 v23=0 v3=0 ; eta1=g1 + g12*age_ +u1; eta2=g2 + g22*age_ +u2; eta3=g3 + g32*age_ +u3; if pro4=1 then p=exp(eta1)/( 1+exp(eta1)+ exp(eta2)+exp(eta3)); else if pro4=2 then p=exp(eta2)/( 1+exp(eta1)+ exp(eta2)+exp(eta3)); else if pro4=3 then p=exp(eta3)/( 1+exp(eta1)+ exp(eta2)+exp(eta3)); else if pro4=4 then p= 1/(1+exp(eta1)+exp(eta2)+exp(eta3)); ll=log(p); model pro4 ~ general (ll); random u1 u2 u3 ~normal([0, 0,0],[v1,v12,v13,v2,v23,v3]) subject=ident; v1=exp(2*LogSdu1); v2=exp(2*LogSdu2); v3=exp(2*LogSdu3); v13=rho1*exp(LogSdu1+LogSdu2); v23=rho2*exp(LogSdu2+LogSdu3); run;

...and here is an example of the messages I get :

Random-effects distributional parameter value changed in observation 2. It must remain constant within subjects.

Or that

Quadrature accuracy of 0.000100 could not be achieved with 61 points. The achieved accuracy was 1.000000.

And if I chang the number of qpoints then I get (and adding the "noad" statement):

No valid parameter points were found.

And so on...till I get:

Out of memory.

Now, I've tried with randomly drawn smaller samples but it doesn't change anything.

And that's when I get anything because sometimes, the computer runs during hours without yealding anything. And when it does converges, variances components are not estimated or only some of them and the fixed effects take strange values.

But, actually, my problem is much wider : even when there's only one bianry outcome, I can only run models with a random intercept. When I try to run a random slope model on cross sectional data (with eras as as a second level), the variance components are not estimated.

Can anybody tell me what's wrong ? Did I specify the variance-covariance structure properly ? Or is it the data itself or the way I transforms it ?

Many thanks in advance,

Thomas


Back to: Top of message | Previous page | Main SAS-L page