Mistake: an error of 2 is an error of 2
“The model missed by 2, so it made the same size of mistake either way.”
assert squared(2., 4.) == squared(2000., 2002.)
assert round(deviance(2., 4.), 3) == 1.227
assert round(deviance(2000., 2002.), 3) == 0.002
assert deviance(2., 4.) > 600 * deviance(2000., 2002.)
Squared error charges both misses 4, because it assumes the noise has the same spread everywhere. A Poisson count’s variance is its mean, so missing by 2 on a cell averaging 2 is being wrong about the order of magnitude, and missing by 2 on 2000 is rounding. The Poisson deviance charges the first about 600 times more.
Choosing the loss is choosing what kind of number you think you have.