Dear SAS professionals,
I am currently using proc genmod for negative binomial regression with an offset variable. When I tried to produce some graphs I found MOFF option is not available for the negative binomial model. I have two questions:
1) Does offset function in negative binomial model the same way as in Poisson model? Why couldn't I use MOFF in NB?
2) Can I get the rate estimates by dividing count estimates by offset (exponent)?
Here is my code:
proc genmod data=workdata;
model count = WS log_d age_65 log_hhi unemployment bed
WS*log_hhi /
dist=nb offset=log_p;
store store1;
run;
proc plm restore=store1;
effectplot slicefit (x=WS sliceby=log_hhi) / clm moff;
run;
And this is the warning I got:
ERROR: The MOFF option is only available for Poisson regression with an offset variable and the log link.
Using the same DATA step to compute the predicted rates and confidence limits as shown in this note, the following statements produce the plot for the negative binomial model.
proc genmod data=insure;
class age;
model c = carnum age / dist=negbin link=log offset=ln;
output out=out xbeta=xb stdxbeta=std;
run;
data predrates;
set out;
obsrate=c/n; /* observed rate */
lograte=xb-ln;
prate=exp(lograte); /* predicted rate */
lcl=exp(lograte-probit(.975)*std);
ucl=exp(lograte+probit(.975)*std);
run;
proc sort;
by age carnum;
run;
proc sgplot;
band upper=ucl lower=lcl x=carnum / group=age;
series y=prate x=carnum / group=age;
xaxis grid; yaxis grid;
run;
My documentation may be out of date (SAS/STAT 14.1), but it appears to me that MOFF needs either an ILINK or LINK option to be effective (although that ERROR message seems to indicate something else). Your proposed solution appears to be the equivalent of adding the ILINK option.
So, you should be able to get this from the OUTPUT statement with a PRED option, or the XBETA option. It appears that the XBETA value includes the offset, so you might (emphasis on might) get rates by exponentiating XBETA.
SteveDenham
An offset can be used in negative binomial models in exactly the same way and for the same purpose as it is used in Poisson models. This is discussed and illustrated in this note. However, keep in mind PROC PLM procedure only supports the MOFF option with Poisson distribution as described next.
moves the offset for a Poisson regression model to the response side of the equation. If the ILINK option is also specified, then the rate is displayed on the Y axis; if the LINK option is also specified, then the log of the rate is displayed on the Y axis. Without the NOOFFSET option, the predicted values are computed and displayed only for the observations.
Using the same DATA step to compute the predicted rates and confidence limits as shown in this note, the following statements produce the plot for the negative binomial model.
proc genmod data=insure;
class age;
model c = carnum age / dist=negbin link=log offset=ln;
output out=out xbeta=xb stdxbeta=std;
run;
data predrates;
set out;
obsrate=c/n; /* observed rate */
lograte=xb-ln;
prate=exp(lograte); /* predicted rate */
lcl=exp(lograte-probit(.975)*std);
ucl=exp(lograte+probit(.975)*std);
run;
proc sort;
by age carnum;
run;
proc sgplot;
band upper=ucl lower=lcl x=carnum / group=age;
series y=prate x=carnum / group=age;
xaxis grid; yaxis grid;
run;
Thanks for all the replies! That's very inspiring. Additionally, when estimating the effect, are we using a fixed offset? For example, a mean or a median, like other covariates, in order to make an effectplot.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.