Hi,
being able to build Mixture of any kind of distributions (not only Gaussian) is great, thanks to Pymc3 !
It’s so great that, now, I’d like to be able to build models by mixing mixtures!
(I’d like to build a mixture of Gaussian and a mixture of lognormal, and then a mixture of these two mixtures)
But it’s doesn’t work. I got error message telling that the mixtures I’m giving as component
have no “logp” method :
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
~/.conda/envs/pymc3.3/lib/python3.6/site-packages/pymc3/distributions/mixture.py in _comp_logp(self, value)
81
---> 82 return comp_dists.logp(value_)
83 except AttributeError:
AttributeError: 'list' object has no attribute 'logp'
A work around would be to create one unique mixture, with a long list of Gaussian and log normal distributions… The problem is that I want a long list of Gaussian and lognormal distributions.
But the mixture class only accept a list of single distributions (possibily heterogeneous) or a unique multidimensional (homogeneous) distribution… Since I need to have both Gaussian and log normal, this means I’ll have to declare these distributions “by hand” , one line of code after another (that’s horrible), moreover this means I can’t change the number of components without adding lines of code to my model…
I don’t see theoretical limitation to build such model, but I face a lot of technical coding limitations.
This is so frustrating… Any help, or suggestion will be appreciated.
regards,
Hubert.