Modello multinomiale-Dirichlet con distribuzione hyperprior sui parametri di concentrazione


10

Proverò a descrivere il problema a portata di mano il più generale possibile. Sto modellando le osservazioni come una distribuzione categoriale con un parametro probabilità vettore theta.

Quindi, presumo che il parametro vector theta segua una distribuzione precedente di Dirichlet con parametri .α1,α2,,αk

È quindi possibile imporre anche una distribuzione hyperprior sui parametri ? Dovrà essere una distribuzione multivariata come le distribuzioni categoriche e dirichlet? Mi sembra che gli alfa siano sempre positivi, quindi un iperprior gamma dovrebbe funzionare.α1,α2,,αk

Non sono sicuro se qualcuno abbia provato ad adattare tali modelli (forse) sovra-parametrizzati, ma mi sembra ragionevole pensare che gli alfa non debbano essere riparati ma piuttosto provengano da una distribuzione gamma.

Per favore, prova a fornirmi alcuni riferimenti, approfondimenti su come potrei provare questo approccio nella pratica.


Sì, questo è possibile ed è stato fatto. In generale questo si chiama modello gerarchico bayesiano. Preferibilmente, questo precedente dovrebbe tenere conto delle possibili dipendenze.

@Procrastinator grazie. hai qualche riferimento per buoni modelli gerarchici bayesiani che si occupano di questo tipo di modelli? Grazie.
Dnaiel,

@Procrastinator: sei riuscito a ottenere documenti / rapporti o documenti applicativi idealmente pratici riguardanti i modelli gerarchici bayesiani?
Zhubarb,

Risposte:


12

Non credo affatto che questo sia un modello "sovraparamaterizzato". Direi che ponendo un precedente sui paramatri di Dirichlet, stai diventando meno impegnativo per qualsiasi risultato particolare. In particolare, come probabilmente saprai, per le distribuzioni dirichlet simmetriche (ovvero ) l'impostazione offre una maggiore probabilità precedente di distribuire distribuzioni multinomiali, mentre dà più probabilità precedenti a distribuzioni multinomiali fluide. α < 1 α > 1α1=α2=...αKα<1α>1

Nei casi in cui uno non ha grandi aspettative per distribuzioni multinomiali sparse o dense, posizionare un hyperprior sulla distribuzione di Dirichlet offre al modello una maggiore flessibilità tra cui scegliere.

Inizialmente ho avuto l'idea di farlo da questo documento . L'iperprior che usano è leggermente diverso da quello che suggerisci. Campionano un vettore di probabilità da un dirichlet e poi lo scalano di un disegno da un esponenziale (o gamma). Quindi il modello è

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

Il Dirichlet extra è semplicemente per evitare di imporre la simmetria.

Ho anche visto persone usare solo l'iper Gamma precedente per un Dirichlet nel contesto di modelli markov nascosti con distribuzioni multinomiali di emissioni, ma non riesco a trovare un riferimento. Inoltre, sembra che abbia incontrato ipers simili utilizzati nei modelli di argomenti.


Grazie ottima risposta! Ho un breve follow-up Q, questo modello consentirà una variabilità diversa per ciascuno dei thetas? Ho questa domanda poiché il parametro lambda è condiviso tra tutti i thetas, quindi condividono tutti lo stesso parametro di ridimensionamento, quindi mi chiedevo in caso di sovradispersione che il modello avrebbe fornito tale flessibilità. La tua intuizione / conoscenza qui è molto apprezzata! Grazie!
Dnaiel,

@Dnaiel, dimmi se sto fraintendendo la tua domanda, ma sì, anche con dirichlet simmetrico prima, diciamo , attinge da quella distribuzione tenderà a produrre vettori sparsi . Per definizione intendo che se tu dovessi tracciare il vettore come un istogramma sarebbe molto alto, piuttosto che piatto. Nel modello sopra i parametri di Dirichlet non sono simmetrici a causa del parametro viene disegnato da un hyperprior di dirichlet. Dirichlet(0.2,0.2,0.2,0.2)θθβ
Jerad,

4

Per dimostrare una soluzione a questo problema hyperprior, ho implementato un modello gerarchico multinomiale gamma-Dirichlet in PyMC3. La gamma precedente per il Dirichlet è specificata e campionata per il post sul blog di Ted Dunning .

Il modello che ho implementato può essere trovato in questo Gist ma è anche descritto di seguito:

Questo è un modello gerarchico (pooling) bayesiano per le valutazioni dei film. Ogni film può essere valutato su una scala da zero a cinque. Ogni film è valutato più volte. Vogliamo trovare una distribuzione uniforme delle classificazioni per ogni film.

Impareremo dai dati una distribuzione preliminare di alto livello (hyperprior) sulle valutazioni dei film. Ogni film avrà quindi un proprio prior che viene smussato da questo precedente di alto livello. Un altro modo di pensare a questo è che la priorità per le classifiche per ciascun film sarà ridotta alla distribuzione a livello di gruppo o aggregata.

Se un film ha una distribuzione atipica delle classificazioni, questo approccio ridurrà le classificazioni a qualcosa di più in linea con quanto previsto. Inoltre, questo precedente appreso può essere utile per avviare i filmati con poche valutazioni per consentire loro di essere significativamente confrontati con i film con molte valutazioni.

Il modello è il seguente:

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

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

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

dove:

  • K numero di livelli di classificazione dei film (ad es. implica valutazioni 0, ..., 5)K=6
  • M numero di film in fase di valutazione
  • Nm numero di voti per il filmm
  • α=1/K per far sì che la raccolta di gamma rv agisca come coefficiente esponenziale
  • βparametro rate per il precedente esponenziale di primo livello
  • c parametro di concentrazione che determina la forza del livello superiore precedente
  • kγk prima di livello superiore per il livello di classificazionek
  • Kθm a livello di film precedente per i livelli di classificazione (multivariato con dimensione = )K
  • n mzmn valutazione per il filmnm

1

Questo è un coniugato bayesiano diretto prima della modellazione. Un'estensione naturale dal modello beta-binomiale. Una buona risorsa per questo potrebbe essere dal libro . E Posterior è anche Dirichlet e quindi la simulazione da dirichlet fornirà i riassunti necessari


1
Grazie. Conosco un libro del genere, ottimo riferimento. Ho provato a esaminarlo, ma non forniscono direttamente un modello gerarchico multinomiale, ma hanno tonnellate di buone idee che possono essere applicate.
Dnaiel,

1
Il dirichlet-multinomiale è un modello coniugato, ma l'op ha indagato su un (iper-) precedente sui parametri del Dirichlet. Non esiste un coniugato standard precedente per la distribuzione di Dirichlet, anche se in realtà uno deve esistere , in quanto è un membro della famiglia esponenziale.
Jerad
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.