# What is the best way to estimate theta and psi for ZeroInflatedPoisson?

**URL:** <https://discourse.pymc.io/t/what-is-the-best-way-to-estimate-theta-and-psi-for-zeroinflatedpoisson/9500>\
**Category:** version agnostic\
**Tags:** modeling\
**Created:** [May 26, 2022, 7:52pm UTC](https://discourse.pymc.io/t/what-is-the-best-way-to-estimate-theta-and-psi-for-zeroinflatedpoisson/9500 "2022-05-26T19:52:24Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jessegrabowski](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/jessegrabowski/32/5010_2.png) [@jessegrabowski](https://discourse.pymc.io/u/jessegrabowski)\
**Post date:** [May 27, 2022, 3:40am UTC](https://discourse.pymc.io/t/what-is-the-best-way-to-estimate-theta-and-psi-for-zeroinflatedpoisson/9500/2 "2022-05-27T03:40:05Z")

</div>

I think this is backwards. I found [this discussion of the ZIP parameteres](https://discourse.pymc.io/t/zero-inflated-poisson-log-lik/2664/3) helpful.

Theta is the usual rate parameter of a poisson distribution. You can confirm this by direct comparison of the 2nd branch of the ZIP PDF shown on the page you linked, and the PDF of a normal Poisson (which you recover when phi = 1).

So you want to estimate theta as usual in a normal Poisson setup: do some stuff to get `logits`, then set `theta = exp(logits)`.

Psi is related to how many “extra” zeros you want to generate. As noted above, when phi = 1, you get a standard Poisson PDF, so all the zeros in your data are assumed to come from a Poisson. When phi = 0, you are saying that your Poisson process ~~NEVER~~ ONLY generates zeros.

So you could set `psi ~ Beta(1, 1)` if you want to be uninformative, or you could try to look at your data and try to skew it one way or the other, but you’ll probably want to use some kind of beta prior.

---

_[View the full topic](https://discourse.pymc.io/t/what-is-the-best-way-to-estimate-theta-and-psi-for-zeroinflatedpoisson/9500)._
