BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Abbas_Arkawazi
Fluorite | Level 6

hello everybody can you help me in the problem in how we can chose the intial values for parms in the proc nlmixed? is there specified method can I chose from it the intial values for the parameters

please help me, my distribution and the program is:

 

proc nlmixed data=WORK.y;
parms b0=1 b1=2 b2=2=1 a=1 b=1 s=2;
m =b0+(b1*age)+(b2*creatin)+(b3*gender2);
y=urea;
if status_u=1 then f=((a*b)*((1-exp(-exp((y-m)/s)))**(a-1))*((1+((exp(exp((y-m)/s))-1)**(a)))**(-(b+1)))) /(s*exp((-a*exp((y-m)/s))-((y-m)/s))) ;
else f= (1+(((1-exp(-exp((y-m)/s)))/(exp(-exp((y-m)/s))))**a))**-b ;
ll=log(f);
model y ~ general(ll);
run;

1 ACCEPTED SOLUTION

Accepted Solutions
Rick_SAS
SAS Super FREQ

It looks like you have a typo on the PARMS statement?
parms b0=1 b1=2 b2=2=1 a=1 b=1 s=2;

 

I know of three ways to choose initial parameters:

  1. The brute force method: Use a grid search to find initial parameter values
  2. Fit a reduced model. Sometimes your model is a generalization of a simpler model that has fewer parameters. You can estimate the simpler model and use those estimates as initial guesses for the full model.
  3. Use the method of moments for parameters that are connected to means, standard deviations, etc.

 

View solution in original post

2 REPLIES 2
Rick_SAS
SAS Super FREQ

It looks like you have a typo on the PARMS statement?
parms b0=1 b1=2 b2=2=1 a=1 b=1 s=2;

 

I know of three ways to choose initial parameters:

  1. The brute force method: Use a grid search to find initial parameter values
  2. Fit a reduced model. Sometimes your model is a generalization of a simpler model that has fewer parameters. You can estimate the simpler model and use those estimates as initial guesses for the full model.
  3. Use the method of moments for parameters that are connected to means, standard deviations, etc.

 

Abbas_Arkawazi
Fluorite | Level 6
Thank u very very much for your help, really it is a very important methods to chose initial values.

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 766 views
  • 3 likes
  • 2 in conversation