-
Notifications
You must be signed in to change notification settings - Fork 421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Methods on MixtureModel
actually target a mixture distribution.
#1669
Comments
I'd say this is debatable. To me, these fields are internal implementation details and the |
Thanks for the quick reply! For internal computations I understand that it might be more convenient to work with |
Due to the discussion here, there with @dmetivie, in link with #1670, I would strongly prefer something like:
The name See in particular the argument I made in this reply about parameter field inferability. TLDR: it would allow to use |
The current implementation of the mixture model is as follows:
It has a
prior
and the conditional likelihood models (thecomponents
). By specifying both the struct kind of implies that the mixture model is a joint distribution over cluster assignments and observations. However, in the corresponding code and documentation it seems that instead the cluster assignment is implicitly marginalized out. As an example consider thepdf
function. Because the structure specifies a joint distribution, it in theory needs both a value for the observation as the cluster assignment, whereas it only needs the observation. This implicitly marginalization might cause some confusion.Basically some methods corresponding to the
MixtureModel
seem to operate on the mixture distribution following from the implicit marginalization of the cluster assignment of the (hierarchical) mixture model. Although the following operations all make sense, perhaps it is more suited forDistributions.jl
to instead have the following distribution:where the cluster assignment is explicitly marginalized out and therefore results in a set of mixture weights, which are just numbers.
I hope I am not nitpicking too much with this issue, but I think it might be a valuable consideration in the scope of the robustness/uniformness of this package.
The text was updated successfully, but these errors were encountered: