# Conflict between p-value and confidence interval from Gamma model

I am trying to fit the Gamma model with link = log in R using the glm function.

Below is the summary of the model:

The p-value for level 2 of modact_3 < 0.05, but the confidence interval for this level includes 0 (The null hypothesis is that the coefficient = 0), which should not includes 0 since the null is rejected (p-value < 0.05).

Could anyone help to explain this conflict? Thanks a lot!

• See how you get the message "waiting for profiling to be done..." when you run confint? That is because confint returns profile likelihood confidence intervals, which inverts the likelihood ratio test statistic to find regions where the LRT would fail to be rejected. The p values in summary come from a Wald test. The two methods are almost the same, but can yield small differences. If you want Wald confidence intervals, use confint.default. Commented Jan 4, 2022 at 19:04
• @DemetriPananos Want to post that as an answer?
– Dave
Commented Jan 4, 2022 at 19:19
• @DemetriPananos Thanks for your reply! I have one little question about the confint.default. I read from another link (stackoverflow.com/questions/64920712/…) to understand the difference between the confint and the confint.default function. It says that "The help for confint explains that the default method assumes normality". For many models from glm, the normality is not satisfied, does it mean that the wald confint could be incorrect, and further the wald p-value could be incorrect? Commented Jan 4, 2022 at 19:43
• @Dave OK, I've posted it as an answer. Commented Jan 4, 2022 at 20:10

See how you get the message "waiting for profiling to be done..." when you run confint? That is because confint returns profile likelihood confidence intervals, which inverts the likelihood ratio test statistic to find regions where the LRT would fail to be rejected. The p values in summary come from a Wald test. The two methods are almost the same, but can yield small differences. If you want Wald confidence intervals, use confint.default.
I don't see any mention of normality in ?confint, so I can only speculate as to what that post you linked to was referring to (you're better off to comment on that answer directly). The Wald test makes an assumption that the log likelihood is locally quadratic, meaning the likelihood is approximately normal. We make use of this assumption a lot (for instance the asymptotic sampling distribution of the coefficients is approximately normal). So the normality is not about the conditional mean, but rather the likelihood.
You're fine using either method. I would suggest using confint since the confidence intervals are derived from the likelihood function directly as opposed to some approximation which may or may not be appropriate based on the size of data you have. Don't base your decision on one method rejecting the null and not the other, because The Difference Between “Significant” and “Not Significant” is not Itself Statistically Significant.