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 ... K∼ G a m m a ( α , β)
θm = 1 ... M∼ D i r i c h l e tM( c γ1, . . . , c γK)
zm = 1 ... M, n = 1 ... Nm∼ Ca t e go r i c a lM( θ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