Confusion about conjugate distributions

Hi there,

I have a question on conjugate distributions. Now, I have 2 scenarios.

  1. Conjguate
    concent = …
    x = pyro.sample(“x”, dist.DirichletMultinomial(concent), obs = data)

  2. Non-conjugate
    concent = …
    y = pyro.sample(“y”, dist.Dirichlet(concent))
    x = pyro.sample(“x”, dist.MultiNomial(x)), obs = data)

When I try to run the second example with autoguide, it treats the y as a prior, while in the first case it does not. Is there a way to do the second example such that I do not treat the yas a prior but instead as a MLE estimate instead?

Hi @Chengwei

Use pyro.param for that:

y = pyro.param("y", ...)

More info:

https://pyro.ai/examples/mle_map.html?highlight=mle#MLE