Statistica bayesiana likelihood free

robbstark1
La statistica bayesiana si fonda sul teorema di Bayes:
$p( \theta | X) = p(X | \theta) p ( \theta )$
Cioè la distribuzione di probabilità di un set di parametri $\theta$, ricavati dai dati $X$,
è pari alla distribuzione di probabilità dei dati, assumendo che siano generati da una funzione con parametri $\theta$, con una certa distribuzione di probabilità.
$p(X | \theta)$ è anche nota come likelihood function.
Tipicamente nelle applicazioni si parte da:
- una distribuzione di probabilità $p( \theta)$, detta prior;
- $p(X | \theta)$ è nota come likelihood function, e solitamente viene assunta come gaussiana
[tex]p(X | \theta) \propto exp{ \left [ \frac{1}{2 \sigma^2} \sum_{i=1}^{n} \left ( x_i - E(x_i) \right ) \right ]}[/tex]
dove $x_i$ sono i dati, $E(x_i)$ sono i valori attesi, $\sigma$ è l'incertezza associata ai dati.
Da queste si ricava $p( \theta | X)$ e si usa come nuova prior, iterativamente fino a convergere verso quella che si presume sia la vera distribuzione $p( \theta)$
Spero di averci capito bene fino a qua.

Come funziona un modello "likelihood free"?
In pratica ho capito che anzichè assumere di conoscere "bene" la likelihood function,
si lascia l'incertezza $\sigma$ sui dati come parametro libero, e si trova una distribuzione di probabilità pure per $\sigma$.
Per ora non mi interessa entrare nei dettagli tecnici, ma capire qual è la filosofia.
Credo sia qualcosa tipo:
$p( \theta | X) = p(X | \theta, \sigma) p ( \theta | \sigma ) p( \sigma)$
E' così?
Se è così (sarebbe già qualcosa), concettualmente ho qualche difficoltà in più come in questo caso si riesca a convergere verso un'unica soluzione.

Intanto, ho detto fesserie?
Poi, lo schema likelihood free converge verso un'unica soluzione? Ci sono delle condizioni? Quali?

Risposte
robbstark1
Intanto grazie per le doverose correzioni.

Il mio intento principale è di capire come usare il teorema di Bayes per stimare dei parametri (vettore $\theta$) da un set di dati $X$.
Io pensavo di partire da distribuzioni prior dei parametri per trovare le posterior fino a convergenza, come detto sopra.
In effetti, mi pare che tu suggerisca che non c'è bisogna di usare le prior, ma basta inserire dei valori iniziali, calcolare la likelihood function associata, quindi fare variare i parametri e ricalcolare la likelihood, e così cercare di massimizzare la likelihood. In questo modo dovrei riuscire a trovare i parametri best.

Questo riesco a capirlo facilmente, perchè so qual è il significato probabilistico della likelihood, cioè probabilità di ottenere dei dati, dati certi valori dei parametri.

Ho qualche difficoltà in più invece a capire che significato abbia cercare la likelihood ottimale, che mi pare sia quello che si faccia in un algoritmo likelihood free. Che criterio uso per dire che una likelihood è più giusta di un'altra?

robbstark1
Mi sembra sia stato molto chiaro; anche la lettura l'ho trovata molto interessante.

A questo punto però mi sono accorto che forse c'è qualcosa che non mi era chiaro già a monte, cioè nell'approccio bayesiano standard:
La posterior distribution di un parametro dipende dalla prior che scelgo?
Il dubbio mi è sorto leggendo della coniugazione tra prior e posterior. In particolare Brandon a pag. 25 dice che usare "una funzione beta come prior produce una funzione beta come posterior". Ovviamente, se è così, anche dopo $n$ iterazioni mi troverò con una distribuzione beta.
Ma se invece della funzione beta avessi scelto una prior diversa, alla fine potrei convergere verso una distribuzione che non è la beta?

robbstark1
"Sergio":

Se usi una prior Beta e una verosimiglianza binomiale hai una posterior Beta, se usi una prior Gamma e una verosimiglianza di Poisson hai una posterior Gamma ecc., il tutto senza iterazioni! In casi come questi, infatti, la posterior si trova facilmente per via analitica.

Pare che non ci avessi capito quasi niente.
Io pensavo di usare l'analisi Bayesiana per dedurre dei parametri da un set di dati. L'obiettivo è trovare non solo i valori best, ma anche le barre d'errore; per questo mi serve avere una distribuzione.
Io pensavo che funzionasse più o meno così:
- mettiamo che conosco la funzione di verosimiglianza;
- scelgo una prior per i parametri, la moltiplico per la funzione di verosimiglianza in modo da ottenere una posterior (facciamo che non ho problemi con la costante di normalizzazione);
- itero il procedimento fino a convergere verso una funzione di distribuzione dei parametri che sia oggettiva.
Invece mi rendo conto ora che questo non ha senso, non può esistere una distribuzione vera dei parametri, la distribuzione è una misura del grado d'incertezza che deduco guardando i miei dati, cioè è una cosa del tutto soggettiva.

A questo punto mi tocca riflettere un po' meglio su cosa ancora potrei non avere capito bene.

Intanto grazie per essere stato illuminante (spero).

robbstark1
Grazie, già scaricato qualcosa.

robbstark1
Continuo a usare questo topic, anche se sto un po' deviando dall'argomento originale.

A questo punto vorrei vedere se sto capendo la relazione tra il metodo bayesiano e le markov chain montecarlo.

Metodo bayesiano:
$posterio r = likeliho od*prio r$
(In certi casi la prior può anche incidere molto sulla posterior)

Markov Chain MonteCarlo (algoritmo di Metropolis-Hastings):
Parto da dei dati, una stima iniziale dei parametri, e una likelihood function.
Aggiorno randomicamente i parametri e decido se accettarli in base a un criterio di probabilità: in pratica mi muovo da un punto a un altro della likelihood function; se il valore corrispondente ai nuovi parametri aumenta li accetto, altrimenti li accetto con una certa probabilità.
Questo è chiaro.
Ora cosa succede?
La likelihood function è sempre la stessa, non cambia di iterazione in iterazione, ciò che cambia è solo il punto in cui i parametri mi fanno posizionare.
Asintoticamente avrò che i punti che massimizzano la likelihood function escono più frequentemente rispetto a quelli che corrispondono a valori bassi. Se li rappresento in un istogramma ottengo una distribuzione di probabilità (o meglio qualcosa di proporzionale ad una distribuzione di probabilità), questa potrebbe essere l'equivalente della posterior.
Non vedo però traccia della prior. Infatti sono partito da certi valori per i parametri, senza assumere nulla sulle loro distribuzioni di probabilità.
Mi sbaglio?

niandra82
Ciò che ti sei perso è che i valori proposti vengono accettati con una probabilità alpha che dipende dalla verosimiglianza, le prior e il kernel della proposta.

Non son sicuro di capire cosa intendi con "statistica bayesiana likelihood free". Ma da quel che so io si intende per lo più l'approccio ABC (approximated bayesian computation) in cui si generano casualmente dei valori dalle prior, con quei valori si genera un dataset di osservazioni (bisogna essere in grado di campionare dalla verosimiglianza), si calcola una statistica, ad esempio la media, e si confronta la media del campione generato con quella del campione osservato, se la differenza tra le due è minore di un determinato valore, si accettano i parametri simulati dalla prior. Questo metodo permette di stimare modelli bayesiani senza saper calcolare la verosimiglianza.

robbstark1
Per quanto riguarda la "statistica bayesiana likelihood free" penso di avere già risolto; non è esattamente quel che pensavo all'inizio.

Per quanto riguarda invece le Markov Chain MonteCarlo:
"niandra82":
Ciò che ti sei perso è che i valori proposti vengono accettati con una probabilità alpha che dipende dalla verosimiglianza, le prior e il kernel della proposta.

In parte lo avevo già detto:
"robbstark":

Aggiorno randomicamente i parametri e decido se accettarli in base a un criterio di probabilità: in pratica mi muovo da un punto a un altro della likelihood function; se il valore corrispondente ai nuovi parametri aumenta li accetto, altrimenti li accetto con una certa probabilità.

Che questa probabilità dipenda dalla verosimiglianza mi sembra chiaro.
Quello che mi sono perso per davvero sono le prior e il kernel della proposta. Non mi risulta di averle definite da nessuna parte. La probabilità la calcolo come il rapporto tra la verosimiglianza dei nuovi parametri e quella dei vecchi; non vedo da nessuna parte la prior.
Guardando meglio ho visto che in certi algoritmi, anzichè calcolare il semplice rapporto tra le verosimiglianze, compare anche la probabilità che avvenga un salto verso il nuovo punto dal punto di partenza, diviso la probabilità del salto inverso. Questo significa che il salto non viene proposto a caso, ma che da un certo punto è più probabile che venga proposto un salto verso destra piuttosto che verso sinistra, per esempio. Qua immagino entra in gioco la prior. Se io calcolo il semplice rapporto tra le verosimiglianze sto assumendo una prior uniforme, oppure simmetrica rispetto al punto in cui mi trovo. (Manca però l'informazione sulla costante di normalizzazione).
E' corretto quello che dico?

niandra82
il rapporto è verosimiglianza, prior e kernel dei punti proposti su verosimiglianza prior e kernel dell'ultimo accettato.
Prior e kernel li devi definire tu, le prior in base a informazioni a "priori", il kernel lo puoi sceglier ecme ti pare, basta che ti garantisca catene onvergenti in brevi periodi

il kernel è quello che ti dice il punto proposto. Generalmente si usa una normale centrata sull'ultimo punto accettato

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.