Continuous Distribution Alternative to Poisson to take advantage of NUTS

Hi, I’m looking for a continuous distribution to replace the customer variable I’m currently modeling as a Poisson distribution as part of a hierarchical model. My (perhaps naive) thought is that doing that would help by letting my run the entire sampling process using NUTS (vs running the Poisson step using Metropolis). Any ideas? Is this the wrong way to think about this?

with pm.Model() as model:

    customers = pm.Poisson('Customers', mu=customers_observed)
    product_share = pm.Beta('ProductShare', 
                              alpha=demand_prior, 
                              beta=total_demand_prior - demand_prior,
                              shape=(n_products, )
                              )

    product_demand = pm.Binomial(f'ProductDemand', 
                                    n=customers, 
                                    p=product_share, 
                                    observed=product_demand_observed
                                  )

You can use a Gamma distribution or any other positive continuous distribution, as Binomial logp still works with n being a positive real number.

1 Like