Programming the statistical procedures from SAS

proc nlimixed does not change provided starting parameters

Reply
Regular Contributor
Posts: 204

proc nlimixed does not change provided starting parameters

[ Edited ]

I am trying to fit a logistic price demand curve like so:

 

ods select none;
proc nlmixed data=TrainingData;	
	bounds L > 100, Sd1 > 0, Parameter1 > 0, k > 0, var2 >= 0;
	parms  L = 101, Sd1 = 0.5, Intercept = 1.0, Parameter1 = 0.001, k = 2, pa1=18, b1 =0; 

	Parameter1 = pa1 + b1;
	Y = L / -k * exp(Intercept + Parameter1 * Price);
	model Demand ~ normal(Y, Sd1);
	random b1 ~ normal(0, var2) subject = ProductId;
	ods output
	Parameters = Parameters
	FitStatistics = ModelFit
	;
run;
ods select all;

This code is just a starting point! I played around with some parameters in Excel and found some OK-ish ones, which I provided as starting parameters. Unfortunately, the algorithm does not change the provided parameters when I inspect dataset Parameters (created using Parameters = Parameters). I doubt I chose the optimal parameters - so I would expect the parameters in the dataset Parameters to be adjusted. Is there something wrong with the above, which prevents the parameters from being changed? Thanks!

Respected Advisor
Posts: 3,061

Re: proc nlimixed does not change provided starting parameters

Posted in reply to csetzkorn

Unfortunately, the algorithm does not change the provided parameters when I inspect dataset Parameters.

 

I'm not really sure what you mean by this. I'm not sure what you mean when you say "I Inspect dataset parameters". Could you be much more specific?

 

It is possible the algorithm can't iterate from this starting position, and so the parameters don't change.

--
Paige Miller
Regular Contributor
Posts: 204

Re: proc nlimixed does not change provided starting parameters

Posted in reply to PaigeMiller
Hi PaigeMiller,

Thanks for the reply. i adapted the original post. There is a dataset Parameters, created by Parameters = Parameters. I would expect the content to be different to the provided starting values. I do not receive an error message/warning, which tells me that 'the algorithm can't iterate from this starting position'.
Respected Advisor
Posts: 3,061

Re: proc nlimixed does not change provided starting parameters

Posted in reply to csetzkorn

Does the results show any iteration history, or number of iterations?

--
Paige Miller
Regular Contributor
Posts: 204

Re: proc nlimixed does not change provided starting parameters

Posted in reply to csetzkorn

The problem is this line:

 

Parameter = Parameters

 

I had to be changed to:

 

ParameterEstimates = Parameters
Ask a Question
Discussion stats
  • 4 replies
  • 105 views
  • 0 likes
  • 2 in conversation