How can I run proc genmod keepimg fixed some parameter value
This sounds really kludgy, but the only way I see to do this is to preprocess the data. Plug the fixed value in and subtract it from the dependent variable. This may require using the correct link function. I don't see any other way in GENMOD. The other alternative I can think of would be to do something in NLMIXED that was the equivalent of the GENMOD fitting, and use the BOUNDS statement.
Steve Denham
Message was edited by: Steve Denham
see the offset statement:for quick and easy "fixing" of parameters to a desired value.
An example here
http://www.nesug.org/proceedings/nesug07/sa/sa08.pdf
ata freq_data;
set input;
claim_freq=claim_count / exposure;
offset_factor=1;
if driver_age_group =3 then offset_factor=1.05;
if driver_age_group =4 then offset_factor=1.25;
logoffset=log(offset_factor);
if driver_age_group in (1,2) then driver_age_group_new= driver_age_group;
else driver_age_group_new =9;
run;
proc genmod data=freq_data;
class driver_age_group_new type;
model claim_freq = driver_age_group_new type
/ dist=poisson link=log offset= logoffset;
run;
Best regards,
-Matt
Matt, how does this fix the parameter value? I can see that it scales it for various age groups, but I was under the impression that the OP wanted a fixed single value, something like:
model y = x1--x10/dist=poi;
with, for example, the contribution of x1, x2, and x3 being constant.
Steve Denham
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.