BookmarkSubscribeRSS Feed
RobertWF1
Quartz | Level 8

I'm working on a regression model where Y is inpatient counts distributed according to the zero-inflated negative binomial pdf. 

 

We'd like to fix the trend coefficient on the Y count in the prior 12 month period so that mean(Y_post) = 0.70*mean(Y_pre).

 

Having discovered the offset trick for forcing coefficients in proc genmod here, how would I construct the offset knowing it's a GLM and not a linear regression?

 

Do I first need to take a natural log transform of the trend constant since E(Y_post)=exp(beta0 + trend*Y_pre + beta1*x1 + beta2*x2 + ...) for the ZINB distribution?

 

Or does SAS handle the log transforms for me and I simply code as follows? 

 

%let trend = 0.70;
data analysis_data; set analysis_data; y_pre_trend = &trend*y_pre; run; proc genmod data=analysis_data; model y_post = x1 x2 x3 / offset=y_pre_trend dist=zinb;
zeromodel; run;
3 REPLIES 3
RobertWF1
Quartz | Level 8
Found SAS Usage Note 22800: Restricting model parameters that seems to support the above interpretation:

https://support.sas.com/kb/22/800.html
RobertWF1
Quartz | Level 8
Thanks - this is an interesting read, but unfortunately only applies to linear regression models.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 3 replies
  • 486 views
  • 2 likes
  • 2 in conversation