Je vais essayer de décrire le problème en question aussi général que possible. Je modélise les observations comme une distribution catégorielle avec un vecteur de probabilité de paramètre thêta.
Ensuite, je suppose que le vecteur paramètre thêta suit une distribution a priori de Dirichlet avec les paramètres .
Est-il alors possible d'imposer également une distribution hyper-prioritaire sur les paramètres ? Doit-il s'agir d'une distribution multivariée telle que les distributions catégorielle et dirichlet? Il me semble que les alpha sont toujours positifs, donc un hyperprior gamma devrait fonctionner.
Je ne sais pas si quelqu'un a essayé d'ajuster de tels modèles (éventuellement) surparamétrisés, mais il me semble raisonnable de penser que les alpha ne devraient pas être fixes, mais plutôt provenir d'une distribution gamma.
Veuillez essayer de me fournir quelques références, des idées sur la façon dont je pourrais essayer une telle approche dans la pratique.
la source
Réponses:
Je ne pense pas que ce soit un modèle "surparamérisé" du tout. Je dirais qu'en plaçant un a priori sur les paramètres de Dirichlet, vous êtes moins attaché à un résultat particulier. En particulier, comme vous le savez probablement, pour les distributions de Dirichlet symétrique (ie ) réglage α < 1 donne plus avant la probabilité de distributions multinomiales rares, tandis que α > 1 donne la probabilité plus avant lisse multinomial distributions.α1= α2= . . . αK α < 1 α > 1
Dans les cas où l'on ne s'attend pas fortement à des distributions multinomiales clairsemées ou denses, placer un hyperprior sur votre distribution Dirichlet donne à votre modèle une flexibilité supplémentaire pour choisir entre elles.
À l'origine, j'ai eu l'idée de le faire dans ce document . L'hyperprior qu'ils utilisent est légèrement différent de ce que vous suggérez. Ils échantillonnent un vecteur de probabilité à partir d'un dirichlet, puis le mettent à l'échelle par un tirage à partir d'une exponentielle (ou gamma). Donc, le modèle est
Le Dirichlet supplémentaire sert simplement à éviter d'imposer une symétrie.
J'ai également vu des gens utiliser uniquement le Gamma hyper prior pour un Dirichlet dans le contexte de modèles de Markov cachés avec des distributions d'émission multinomiales, mais je n'arrive pas à trouver de référence. En outre, il semble que j'ai rencontré des hypers similaires utilisés dans les modèles de sujet.
la source
Pour démontrer une solution à ce problème hyperprior, j'ai implémenté un modèle hiérarchique gamma-Dirichlet-multinomial dans PyMC3. Le gamma prior pour le Dirichlet est spécifié et échantillonné par le blog de Ted Dunning .
Le modèle que j'ai implémenté peut être trouvé dans ce Gist mais est également décrit ci-dessous:
Il s'agit d'un modèle hiérarchique bayésien (regroupement) pour les classements de films. Chaque film peut être évalué sur une échelle de zéro à cinq. Chaque film est évalué plusieurs fois. Nous voulons trouver une distribution lissée des notes pour chaque film.
Nous allons apprendre une distribution antérieure de haut niveau (hyperprior) sur les classements des films à partir des données. Chaque film aura alors sa propre priorité qui est lissée par cette priorité de niveau supérieur. Une autre façon de penser à ce sujet est que le classement préalable de chaque film sera réduit vers la distribution au niveau du groupe, ou regroupée.
Si un film a une distribution de notes atypique, cette approche réduira les notes à quelque chose de plus conforme à ce qui est attendu. En outre, cet apprentissage préalable peut être utile pour amorcer des films avec peu de notes pour leur permettre d'être comparés de manière significative aux films avec de nombreuses notes.
Le modèle est le suivant:
où:
la source
Il s'agit d'une modélisation antérieure conjuguée bayésienne directe. Une extension naturelle du modèle bêta-binomial. Une bonne ressource pour cela pourrait provenir du livre . Et Posterior est également Dirichlet et donc simuler à partir de dirichlet donnera les résumés nécessaires
la source