Modèle de Dirichlet multinomial avec distribution hyperprior sur les paramètres de concentration

10

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 .α1,α2,,αk

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.α1,α2,,αk

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.

Dnaiel
la source
Oui, c'est possible et cela a été fait. En général, cela s'appelle le modèle hiérarchique bayésien. De préférence, cet avant devrait tenir compte des dépendances possibles.
@Procrastinator merci. avez-vous une référence pour de bons modèles hiérarchiques bayésiens traitant de ce type de modèles? Merci.
Dnaiel
@Procrastinator: Avez-vous réussi à obtenir des documents / rapports ou, idéalement, des documents d'application pratiques concernant les modèles hiérarchiques bayésiens?
Zhubarb

Réponses:

12

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

βDirichlet(1)λExponential()θDirichlet(βλ)

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.

jerad
la source
Merci bonne réponse! J'ai un bref suivi Q, ce modèle permettra-t-il une variabilité différente pour chacun des thêtas? J'ai cette question car le paramètre lambda est partagé entre tous les thetas, donc ils partagent tous le même paramètre de mise à l'échelle, donc je me demandais en cas de surdispersion, le modèle fournirait une telle flexibilité. Votre intuition / connaissance ici est grandement appréciée! Merci!
Dnaiel
Dirichlet(0.2,0.2,0.2,0.2)θθβ
4

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:

γk=1...KGamma(α,β)

θm=1...MDirichletM(cγ1,...,cγK)

zm=1...M,n=1...NmCategoricalM(θm)

où:

  • KK=6
  • M
  • Nmm
  • α=1/K
  • β
  • c
  • γkk
  • θmK
  • zmnnm
Brad B
la source
1

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

Subbiah
la source
1
Merci. Je connais un tel livre, une grande référence. J'ai essayé de l'examiner, mais ils ne fournissent pas directement un tel modèle hiérarchique multinomial, mais ils ont des tonnes de bonnes idées qui peuvent être appliquées.
Dnaiel
1
Le dirichlet-multinomial est un modèle conjugué, mais l'op s'est renseigné sur un (hyper-) a priori sur les paramètres du Dirichlet. Il n'y a pas de conjugué standard avant pour la distribution de Dirichlet, bien qu'il doive en fait exister , car c'est un membre de la famille exponentielle.
jerad