Using loo function to help me choose a distribution

I have two models exactly similar, but I’m using a Poisson distribution for one and a Bernoulli distribution for the other. Can I trust the information coming out of loo?

The Bernoulli model comes on top.

rbpa <- brm(status ~ ... , family = poisson(), prior = set_prior('normal(0, 4)', class = 'b'),  cores = 6, iter = 4000)

rbba <- brm(status ~ ... , family = bernoulli ,prior(normal(0, 4), class = b), cores = 6, iter = 4000)

loo(rbpa,rbba)

Status is if my individual was harvested or not .

  • Operating System: Windows 10
  • brms Version: 2.16.3
1 Like

Hey there!

If the outcome is binary [0,1], personally, I’d always go for the Bernoulli model. A Poisson model would not be representative of the generative process of the data, as it could result in predictions such as status=2 or status=15.

Besides that, there was some discussion about whether you could compare loo on models with different likelihoods for the observational model here – can’t find it right now. If you follow Richard McElreath’s Statistical Rethinking, you shouldn’t do it. But IIRC, @avehtari might have a different view?

Cheers,
Max

1 Like

See CV-FAQ 12 Can cross-validation be used to compare different observation models / response distributions / likelihoods?

1 Like

@Max_Mantei has a good point that if the outcome is binary, then Poisson is not a good choice anyway

2 Likes