BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Choit
Calcite | Level 5
Hi,
Trying to find a way in SAS to solve relationshio between x and y which have a gamma curve relationship,
Data as below

X Y
1 0.000516
2 0.000847
3 0.001459
4 0.001939
5 0.002075
6 0.001749

Relationship solved using excel using minimum error square
Y=gamma.dist(x,3.2840,2.1535,0) * 0.0165

How do i get sas to solve to the parameter as how excel does to get the 3 parameters in the function above
3.2840 , 2.1535 , 0.0165

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
FreelanceReinh
Jade | Level 19

Hi @Choit and welcome to the SAS Support Communities!

 

PROC NLIN can estimate the parameters:

data have;
input x y;
cards;
1 0.000516
2 0.000847
3 0.001459
4 0.001939
5 0.002075
6 0.001749
;

ods output ParameterEstimates=est;
proc nlin data=have;
parms a=3 b=2 c=.01; 
model y=c*pdf('gamma',x,a,b);
run;

proc print data=est noobs;
var parameter estimate;
run;

Result:

Parameter    Estimate

    a          3.2866
    b          2.1503
    c          0.0165

The estimates for a and b differ slightly from your Excel values, which might be due to rounding error in variable Y. If the Y values are taken as exact values, the sum of squares is smaller for the above estimates. This is actually not maximum likelihood estimation. The Gauss-Newton method with initial values a=3, b=2, c=.01 was used to minimize the sum of squares.

 

View solution in original post

2 REPLIES 2
FreelanceReinh
Jade | Level 19

Hi @Choit and welcome to the SAS Support Communities!

 

PROC NLIN can estimate the parameters:

data have;
input x y;
cards;
1 0.000516
2 0.000847
3 0.001459
4 0.001939
5 0.002075
6 0.001749
;

ods output ParameterEstimates=est;
proc nlin data=have;
parms a=3 b=2 c=.01; 
model y=c*pdf('gamma',x,a,b);
run;

proc print data=est noobs;
var parameter estimate;
run;

Result:

Parameter    Estimate

    a          3.2866
    b          2.1503
    c          0.0165

The estimates for a and b differ slightly from your Excel values, which might be due to rounding error in variable Y. If the Y values are taken as exact values, the sum of squares is smaller for the above estimates. This is actually not maximum likelihood estimation. The Gauss-Newton method with initial values a=3, b=2, c=.01 was used to minimize the sum of squares.

 

Rick_SAS
SAS Super FREQ

For more on using PROC NLIN to fit nonlinear curves, see the article

"Fit a growth curve in SAS"

 

 

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1561 views
  • 4 likes
  • 3 in conversation