Utilizzo di MCMC per valutare il valore atteso di una funzione ad alta dimensione


10

Sto lavorando a un progetto di ricerca correlato all'ottimizzazione e recentemente ho avuto l'idea di utilizzare MCMC in questa impostazione. Sfortunatamente, sono abbastanza nuovo nei metodi MCMC, quindi ho avuto diverse domande. Inizierò descrivendo il problema e quindi ponendo le mie domande.

Il nostro problema si riduce alla stima del valore atteso di una funzione di costo dove è una variabile casuale direzionale con una densità .c(ω)ω=(ω1,ω2,...ωh)hf(ω)

Nel nostro caso, non esiste una versione in forma chiusa di . Ciò significa che dobbiamo usare i metodi Monte Carlo per approssimare il valore atteso. Sfortunatamente, si scopre che le stime di che sono generate usando i metodi MC o QMC hanno troppa varianza per essere utili all'interno in un contesto pratico.c(ω)E[c(ω)]

Un'idea che abbiamo dovuto utilizzare un'importante distribuzione di campionamento per generare punti campione che produrranno una stima della varianza bassa di . Nel nostro caso, la distribuzione del campionamento di importanza ideale, , deve essere approssimativamente proporzionale a . Vedendo come è noto fino alla costante, mi chiedo se posso usare MCMC insieme alla distribuzione proposta per generare eventualmente campioni da .E[c(ω)]g(ω)c(ω)f(ω)g(ω)c(ω)f(ω)g(ω)

Le mie domande qui sono:

  • MCMC può essere utilizzato con questa impostazione? In tal caso, quale metodo MCMC sarebbe appropriato? Sto lavorando in MATLAB, quindi ho una preferenza per tutto ciò che ha già un'implementazione MATLAB.

  • Esistono tecniche che posso utilizzare per accelerare il periodo di burn-in per MCMC. E come posso dire che la distribuzione stazionaria è stata raggiunta? In questo caso, in realtà ci vuole un bel po 'di tempo per calcolare per un dato .c(ω)ω


refuso nell'ultimo paragrafo? invece di ? c ( w )C(w)c(w)
mpiktas,

Non è necessario utilizzare i metodi Monte Carlo per integrali ad alta dimensione solo perché non esiste una forma chiusa. È possibile utilizzare metodi basati su griglie sparse . Ma non conosco i pro e i contro.
onestop

@onestop - hai ragione le griglie sparse funzionano un po 'meglio nel mio caso, anche se mi piacerebbe anche provare questa idea.
Berk U.

Sembra un po 'come la finanza.
Wok,

1
Potrebbe essere applicato ai finanziamenti. Lo stiamo usando per la gestione ottimale dei sistemi di alimentazione :)
Berk U.

Risposte:


4

Ricordo sempre che MCMC è solo uno strumento di integrazione numerica (e piuttosto inefficiente in questo). Non è una cosa magica / mistica. È molto utile perché è ragionevolmente facile da applicare. Non richiede molto pensiero rispetto ad alcune altre tecniche di integrazione numerica. Ad esempio, non è necessario fare derivati. Devi solo generare "numeri casuali".

Tuttavia, come qualsiasi metodo di integrazione numerica, non è uno strumento universale di cattura. Ci sono condizioni quando è utile e condizioni quando non lo sono.

Potrebbe essere più saggio impostare un'altra tecnica. A seconda di quanto è grande , quanto è veloce il tuo computer e quanto tempo sei pronto ad aspettare i risultati. Una griglia uniforme può fare il lavoro (anche se questo richiede piccole o una lunga attesa). Il "lavoro" è valutare l'integrale: all'equazione non importa cosa significhi tu o io attribuire al risultato (e quindi non importa se abbiamo ottenuto il risultato in modo casuale o no).hhh

Inoltre, se le tue stime di sono abbastanza precise, la avrà un picco acuto e assomiglierà molto a una funzione delta, quindi l'integrale sta effettivamente sostituendo .f ( ω ) ω ω m a xωf(ω)ωωmax

Un'altra tecnica di integrazione numerica sta usando una serie di Taylor sotto l'integrale. f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

Questa è una strategia utile quando i momenti di sono facilmente ottenibili.ω

Edwin Jaynes ha una bella citazione su questo:

ogni volta che esiste un modo randomizzato di fare qualcosa, esiste un modo non randomizzato che produce risultati migliori, ma richiede più pensiero

Un modo "più pensante" è usare "MCMC stratificato" per fare l'integrale. Quindi piuttosto che "casualmente" scegli un punto sull'intero spazio dei parametri: dividilo in "strati". Questi "strati" dovrebbero essere scelti in modo da ottenere una buona gamma della parte alta dell'integrale. Quindi campionare casualmente all'interno di ogni strato. Ma questo richiederà che tu scriva il tuo codice immagino (vale a dire più pensiero).


Grazie mille per il tuo post. Mi piace molto la tua idea stratificata di MC. Mi chiedevo se sapessi delle risorse su di esso per poterlo leggere? Qualsiasi cosa con un esempio in azione sarebbe molto apprezzata.
Berk U.

Questa è un'idea che ho avuto, quindi non conosco alcuna risorsa. Potrebbe essere inserito nel framework MCMC, aggiungendo un altro layer che definisce gli strati. E uno dei miei principali punti deboli è fare cose: sono un pensatore profondo! So che questo non ti aiuta molto e mi scuso per quello. Ma sicuramente non sono l'unica persona che ci ha pensato. Chiunque abbia fatto statistiche "basate sul design" e "statistiche bayesiane" avrebbe sicuramente pensato a questo.
Probislogic

2

Non vi è alcuna indicazione che le vostre variabili qui siano correlate, quindi non so perché dovreste usare MCMC invece del normale Monte Carlo. Esistono molti metodi di campionamento diversi tra cui il menzionato campionamento stratificato (ipercubo latino) e QMC. I metodi di quadratura sparsa sono molto buoni se la dimensione del problema non è troppo elevata (non più di 10) poiché le griglie di quadratura sparsa crescono geometricamente (maledizione della dimensionalità).

Ma sembra che tu sia sulla buona strada per quanto riguarda il campionamento di importanza. La chiave qui è scegliere una distribuzione distorta che ha una grande probabilità concentrata vicino alla propria regione di interesse e che ha code più spesse rispetto alla distribuzione nominale.

Vorrei aggiungere che questo è un problema di ricerca aperto, quindi se riesci a trovare qualcosa di buono sarebbe di grande interesse per la comunità!


Grazie per questo! Potresti approfondire un po 'di più la relazione tra l'efficacia di MCMC e la correlazione tra le variabili? Avevo sempre pensato che MCMC avrebbe offerto un vantaggio rispetto all'esistenza di tecniche di integrazione numerica quando le variabili sono correlate, anche se non posso fornire una buona ragione per cui lo farebbe.
Berk U.

0

Dal momento che nessuno sembrava effettivamente rispondere direttamente alla domanda: sì, puoi usare MCMC per campionare da . MCMC può essere utilizzato per campionare da qualsiasi distribuzione in cui la distribuzione è nota solo fino a una costante di proporzionalità.g(ω)

Inoltre, potresti voler cercare le tecniche di riduzione della varianza nel campo dell'integrazione MC. Un grande insieme autonomo di risorse sono i capitoli di libri gratuiti disponibili da Art Owen a Stanford. In particolare i capitoli 8, 9 e 10.

Qui troverai trattamenti approfonditi di campionamento adattivo, ricorsione e altre tecniche.

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.