Dear All,
I estimated incidence according to demographic characteristics of a population. For some characteristics we did not observe any case, then the incidence was zero. I used a Poisson Regression and in these cases SAS did not reported the confidence intervals. In fact, if I calculate it, the intervals varies from 0 (zero) to +infinity.
Then, I would like to know how to report the incidence in those cases.
Thank you in advance.
Regards,
Iuri Leite
Hello,
Which SAS/STAT or SAS/ETS procedure have you run to fit the Poisson regression model? GENMOD, COUNTREG, ...
Can you show us the PROC-step?
Thanks,
Koen
Hello,
I am sorry but that proc genmod of yours puzzles me.
You fit an intercept-only model (no predictors). And your target is binary (1|0).
With a binary target I would intuitively use a binomial distribution instead of Poisson, but maybe you want a log link function (instead of logit). Remark that you can change the default link function with the link= option.
Do you mean with "when the incidence is zero" that you do not have any cases (coded as 1) in the target?
Thanks for explaining a bit more.
Koen
I'm confused. Poisson regression is used when the response variable represents counts. You seem to have a binary response variable, which is usually analyzed by using logistic regression.
This can be done with exact analysis, either in PROC FREQ or PROC GENMOD. For example, if zero events were observed in 100 person-years, either of the following provides a confidence interval:
data x;
input count py;
off=log(py);
datalines;
0 100
;
proc genmod;
model count=/d=poisson offset=off;
exact intercept / estimate=both;
run;
data y; input y count; cards;
1 0
0 100
;
proc freq data=y;
weight count/zeros;
table y/binomial(level='1');
run;
Dear Dave,
thanks for sending me the code.
I used it, but i am not sure about the result I obtained.
As I told you, I am analyzing the incidence of HIV among participants of cohort. So, I have a binary variable indicating the participant seroconverted (1) or not (0). I have also the follow-up time of each participant in the cohort. Then I estimated the incidence for a set of characteristics. For some characteristics I did not observe any event; the incidence is zero. I would like to obtain the confidence interval.
I used the syntax you send me:
proc genmod;
model soroconversao = / dist=poisson offset=log_ano;
exact intercept / estimate=both;
run;
The SAS output was:
122.0 | <.0001 | <.0001 |
2.35E-42 | <.0001 | <.0001 |
-0.3144 | * | . | -Infinity | . | <.0001 |
Note: | * indicates a median unbiased estimate and a one-sided p-value. |
0.7302 | * | 0 | . | <.0001 |
Note: | * indicates a median unbiased estimate and a one-sided p-value. |
I would like to know whether the value 0.7302 is the upper limit of the interval. It is not clear to me.
Thanks a lot.
regards,
Iuri
You presumably have a single count of events (apparently equaling zero) and a total person-time - like in my example with a zero event count with total person-time of 100. What is your total person-time?
Dear Dave,
Yes. we did not observe any event and the total number of person-years was 116.42.
Then the incidence was 0/116.42=0.
My problem is to estimate the confidence interval.
Thanks again.
Regards,
Iuri
If you replace 100 with 116.42 in the code I provided earlier, then you will get the exact confidence interval from PROC GENMOD. You can also use the PROC FREQ code I provided since your response is binary, but PROC FREQ requires integer counts. If you use it with 116 and again with 117, you get very similar results and also quite similar to the interval from PROC GENMOD.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.