Modello gerarchico bayesiano (?)


12

Mi scuso per la macellazione del gergo statistico :) Ho trovato qui un paio di domande relative alla pubblicità e alle percentuali di clic. Ma nessuno di loro mi ha aiutato molto con la mia comprensione della mia situazione gerarchica.

C'è una domanda correlata: queste rappresentazioni equivalenti dello stesso modello gerarchico bayesiano? , ma non sono sicuro che abbiano effettivamente un problema simile. Un'altra domanda Priori per il modello binomiale bayesiano gerarchico entra nei dettagli sugli hyperpriors, ma non sono in grado di mappare la loro soluzione al mio problema

Ho un paio di annunci online per un nuovo prodotto. Ho lasciato gli annunci pubblicati per un paio di giorni. A quel punto abbastanza persone hanno fatto clic sugli annunci per vedere quale ottiene il maggior numero di clic. Dopo aver espulso tutti tranne quello che ha il maggior numero di clic, l'ho lasciato correre per un altro paio di giorni per vedere quante persone acquistano effettivamente dopo aver fatto clic sull'annuncio. A quel punto so se è stata una buona idea pubblicare gli annunci in primo luogo.

Le mie statistiche sono molto rumorose perché non ho molti dati poiché vendo solo un paio di articoli ogni giorno. Pertanto è davvero difficile stimare quante persone acquistano qualcosa dopo aver visto un annuncio. Solo uno su ogni 150 clic genera un acquisto.

In generale, devo sapere se sto perdendo denaro su ogni annuncio il più presto possibile, in qualche modo appianando le statistiche del gruppo per annuncio con le statistiche globali su tutti gli annunci.

  • Se aspetto che ogni annuncio abbia visto abbastanza acquisti, andrò in rovina perché impiega troppo tempo: testando 10 annunci devo spendere 10 volte di più in modo che le statistiche per ogni annuncio siano abbastanza affidabili. A quel punto avrei potuto perdere denaro.
  • Se avrò una media degli acquisti su tutti gli annunci non sarei in grado di eliminare gli annunci che non funzionano altrettanto bene.

Potrei usare il tasso di acquisto globale ( N $ sub-distribuzioni? Ciò significherebbe che più dati ho per ogni annuncio, più indipendenti sono le statistiche per quell'annuncio. Se nessuno ha ancora fatto clic su un annuncio, suppongo che la media globale sia appropriata.perclick)anduseitasapriorfor

Quale distribuzione sceglierei per quello?

Se ho avuto 20 clic su A e 4 clic su B, come posso modellarlo? Finora ho capito che una distribuzione binomiale o di Poisson potrebbe avere senso qui:

  • purchase_rate ~ poisson (?)
  • (purchase_rate | group A) ~ poisson (stimare il tasso di acquisto solo per il gruppo A?)

Ma cosa devo fare per calcolare effettivamente il purchase_rate | group A. Come collegare due distribuzioni insieme per avere un senso per il gruppo A (o qualsiasi altro gruppo).

Devo prima montare un modello? Ho dei dati che potrei usare per "addestrare" un modello:

  • Annuncio A: 352 clic, 5 acquisti
  • Annuncio B: 15 clic, 0 acquisti
  • Annuncio C: 3519 clic, 130 acquisti

Sto cercando un modo per stimare la probabilità di uno qualsiasi dei gruppi. Se un gruppo ha solo un paio di punti dati, essenzialmente voglio tornare alla media globale. Conosco un po 'le statistiche bayesiane e ho letto molti PDF di persone che descrivono come modellano usando l'inferenza bayesiana e i priori coniugati e così via. Penso che ci sia un modo per farlo correttamente, ma non riesco a capire come modellarlo correttamente.

Sarei molto contento dei suggerimenti che mi aiutano a formulare il mio problema in modo bayesiano. Ciò sarebbe di grande aiuto nel trovare esempi online che potrei usare per implementarlo.

Aggiornare:

Grazie mille per aver risposto. Sto cominciando a capire sempre più piccoli dettagli sul mio problema. Grazie! Consentitemi di porre alcune domande per capire se ora capisco meglio il problema:

Quindi suppongo che le conversioni siano distribuite come distribuzioni Beta e una distribuzione Beta ha due parametri, e b .ab

Il 112 parametri sono iperparametri, quindi sono parametri del precedente? Quindi alla fine ho impostato il numero di conversioni e il numero di clic come parametro della mia distribuzione Beta?12

Ad un certo punto quando voglio confrontare annunci diversi, quindi calcolerei . Come calcolo ogni parte di quella formula?P(conversion|ad=X)=P(ad=X|conversion)P(conversion)P(ad=X)

  • Penso che è chiamato probabilità, o "modalità" della distribuzione Beta. Quindi questo è α - 1P(ad=X|conversion)α1α+β2αβαβX

  • Quindi mi moltiplico con il precedente, che è P (conversione), che nel mio caso è solo il precedente di Jeffreys, che non è informativo. Il precedente rimarrà lo stesso quando avrò più dati?

  • P(ad)

Usando il precedente di Jeffreys, suppongo di iniziare da zero e di non sapere nulla dei miei dati. Quel precedente si chiama "non informativo". Mentre continuo a conoscere i miei dati, aggiorno il precedente?

Quando arrivano clic e conversioni, ho letto che devo "aggiornare" la mia distribuzione. Questo significa che cambiano i parametri della mia distribuzione o che cambiano i precedenti? Quando ricevo un clic per l'annuncio X, aggiorno più di una distribuzione? Più di un precedente?

Risposte:


9

Come hai intuito, un modo molto generale di affrontare la tua domanda è costruire un modello bayesiano gerarchico (multilivello). Il modello ha tre parti, come illustrato di seguito.

Modello

Modello gerarchico bayesiano per i tassi di conversione degli annunci

  1. N(μμ0,η0)μGa(λa0,b0)μ0=0,η0=0.1,a0=1,b0=1

  2. πjjjρj:=logit(πj)N(ρjμ,λ)

  3. kjjBin(kjσ(ρj),nj)σ(ρj)njj

Dati

Ad esempio, prendiamo i dati che hai pubblicato nella tua domanda originale,

Annuncio A: 352 clic, 5 acquisti

Annuncio B: 15 clic, 0 acquisti

Annuncio C: 3519 clic, 130 acquisti

n1=352,k1=5,n2=15,k2=0,

Inferenza

Invertire questo modello significa ottenere distribuzioni posteriori per i parametri del nostro modello. Qui, ho usato un approccio variazionale di Bayes all'inversione del modello, che è computazionalmente più efficiente degli schemi di campionamento stocastico come MCMC. Ho tracciato i risultati qui sotto.

Dati e posteriori risultanti

La figura mostra tre pannelli. (a) Una semplice visualizzazione dei dati di esempio forniti. Le barre grigie rappresentano il numero di clic, le barre nere mostrano il numero di conversioni. (b) La distribuzione posteriore risultante sul tasso medio di conversione della popolazione. Man mano che osserviamo più dati, questo diventerà sempre più preciso. (c) Intervalli di probabilità posteriori centrali al 95% (o intervalli credibili) dei tassi di conversione posteriori specifici dell'annuncio.

L'ultimo pannello illustra due caratteristiche chiave di un approccio bayesiano alla modellazione gerarchica. Innanzitutto, la precisione dei posteriori riflette il numero di punti dati sottostanti. Ad esempio, abbiamo relativamente molti punti dati per l'annuncio C; quindi, il suo posteriore è molto più preciso dei posteriori degli altri annunci.

In secondo luogo, le inferenze specifiche per gli annunci sono informate dalla conoscenza della popolazione. In altre parole, i posteriori specifici per gli annunci si basano sui dati dell'intero gruppo, un effetto noto come riduzione della popolazione . Ad esempio, la modalità posteriore (cerchio nero) dell'annuncio A è molto più elevata del suo tasso di conversione empirica (blu). Questo perché tutti gli altri annunci hanno modalità posteriori più elevate, e quindi possiamo ottenere una migliore stima della verità di base informando le nostre stime specifiche dell'annuncio con la media del gruppo. Meno dati abbiamo su un determinato annuncio, più il suo posteriore sarà influenzato dai dati degli altri annunci.

Tutte le idee che hai descritto nella tua domanda originale sono realizzate naturalmente nel modello sopra, illustrando l'utilità pratica di un ambiente completamente bayesiano.


Kay, grazie per la tua risposta dettagliata. Comprendo che la risposta è leggermente datata ma ti dispiacerebbe condividere il codice di accompagnamento se lo hai conservato? Sto cercando di imparare la gerarchia bayesiana, ma faccio fatica a trovare esempi intuitivi in ​​R.
Zhubarb,

@Kay, grazie per l'interessante risposta, potresti per favore aggiungere qualche riferimento ai modelli gerarchici bayesiani? Grazie!
user511005

1
Ciao @Zhubarb, user511005, ecco un link al documento che descrive il modello sopra: sciencedirect.com/science/article/pii/S1053811913002371 Ho messo insieme una breve introduzione all'inferenza variazionale qui: people.inf.ethz.ch/ bkay / talks / Brodersen_2013_03_22.pdf
Kay Brodersen,

2

p

paabb

ab(12,12)a,b

pa,b


In risposta alle tue modifiche:

pabppab

L'aggiornamento bayesiano è

P(px)P(p)P(xp)

xpababp

Il priore dei Jeffreys non è la stessa cosa del priore non informativo, ma credo che sia meglio a meno che tu non abbia una buona ragione per usarlo. Sentiti libero di fare un'altra domanda se vuoi iniziare una discussione al riguardo.


Grazie per aver risposto! Ho aggiornato la mia domanda originale perché ho finito i caratteri in questa casella di commento. Sarebbe bello se potessi dare un feedback per alcuni dei dettagli che ho scritto nell'aggiornamento.
Mika Tiihonen,
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.