check_normality()
calls shapiro.test
and checks the standardized residuals for normal distribution. Note that
this formal test almost always yields significant results for the distribution
of residuals and visual inspections (e.g. Q-Q plots) are preferable.
Normality of deviance residuals is in general not expected under a Poisson;
and seeing deviance residuals (or any other standard residuals) that differ
from a straight line in a qqnorm plot is therefore in general no concern at all.
For large counts, QQ is approximately normally distributed, which is expected as
the Poisson approaches normality for large means. For small counts, there is a
notable deviation from normality.
As explained in the vignette of DHARMa,
neither deviance nor Pearson residuals are ideal for diagnosing Poisson models,
as they will appear visually inhomogeneous for low count rates, even if the model is entirely correct.
Instead, you can use simulate_residuals = TRUE
, which implements the idea of randomized quantile residuals
by Dunn and Smyth (1996). This approach is adopted from DHARMa::simulateResiduals.