Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMC
In questa pagina 6
Un metodo Monte Carlo ottiene una quantità deterministica (un'area, una probabilità, un conteggio) come media di esperimenti casuali. Qui: stima e numero di campioni, riduzione della varianza, conteggio approssimato, generazione di variabili aleatorie e campionamento da distribuzioni difficili con le catene di Markov. Prerequisiti: Legge dei grandi numeri e metodo Monte CarloSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo → (legge dei grandi numeri e Monte Carlo per gli integrali), Teorema del limite centrale e approssimazione normaleSe X₁, X₂, ... sono i.i.d. con media μ e varianza σ² ∈ (0, ∞), la somma standardizzata (Sₙ − nμ)/(σ√n) converge in distribuzione a N(0, 1): per n grande P(Sₙ ≤ x) ≈ Φ((x − nμ)/(σ√n)). Caso binomiale (De Moivre-Laplace): Bin(n, p) ≈ N(np, np(1 − p)), con correzione di continuità ±0,5. Si dimostra con le funzioni caratteristiche e il teorema di Lévy.Teorema del limite centrale e approssimazione normale →, Funzioni di una variabile aleatoriaPer trovare la legge di Y = g(X) si calcola la FdD: F_Y(y) = P(g(X) ≤ y) = P(X ∈ g⁻¹((−∞, y])), poi si deriva; se g è strettamente monotona e derivabile vale la formula f_Y(y) = f_X(g⁻¹(y)) · |(g⁻¹)'(y)|; se g è costante a tratti Y è discreta; se g non è iniettiva (es. X²) si spezza l'evento.Funzioni di una variabile aleatoria →, Funzione di distribuzioneLa funzione di distribuzione (FdD) F_X(x) = P(X ≤ x) è definita per ogni v.a., è crescente, continua a destra, va da 0 a 1 e determina la legge; per una v.a. discreta è a gradini, con salti in corrispondenza dei valori e di altezza pari alla densità.Funzione di distribuzione →, Disuguaglianze di Markov, Chebyshev e JensenMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen → e i limiti di coda di Limiti di Chernoff e di HoeffdingMarkov applicato a e^(tX) dà code esponenziali. Per somme di Bernoulli indipendenti con media μ: P(X ≥ (1+δ)μ) ≤ [e^δ/(1+δ)^(1+δ)]^μ ≤ e^(-δ²μ/3) per 0<δ≤1, P(X ≤ (1-δ)μ) ≤ e^(-δ²μ/2), P(X ≥ R) ≤ 2^(-R) se R ≥ 6μ. Hoeffding per X_i in [a_i,b_i]: P(|S-E[S]| ≥ t) ≤ 2exp(-2t²/Σ(b_i-a_i)²). Applicazioni: n ≥ ln(2/δ)/(2ε²) campioni per stimare una probabilità, amplificazione BPP con k = O(log 1/ε) ripetizioni, bilanciamento di insiemi con scarto √(4m ln n).Limiti di Chernoff e di Hoeffding →. Il concetto di algoritmo con errore è in Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazioneUn algoritmo randomizzato usa bit casuali indipendenti; la probabilità è sulle scelte dell'algoritmo, mai sull'input (garanzia per ogni input). Las Vegas: sempre corretto, tempo aleatorio (conta il tempo atteso). Monte Carlo: tempo fisso, risposta sbagliata con probabilità limitata; errore unilaterale (RP: accetta solo se x sta nel linguaggio, accetta con prob almeno 1/2) o bilaterale (BPP: giusto con prob almeno 2/3). ZPP = RP ∩ co-RP = Las Vegas con tempo atteso polinomiale. Amplificazione: unilaterale, k ripetizioni indipendenti, errore (1-p)^k ≤ e^(-pk), serve k ≥ ln(1/ε)/p; bilaterale, voto di maggioranza su k esecuzioni, errore binomiale esatto, esponenziale in k (Chernoff, e^(-k/18) per p=2/3) mentre Chebyshev dà solo 8/k. Las Vegas -> Monte Carlo: interrompere a c volte il tempo atteso (Markov, errore ≤ 1/c). Monte Carlo -> Las Vegas: solo se la risposta si verifica in fretta. Esempio: Miller-Rabin, errore ≤ 1/4 per esecuzione.Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazione →.
Stima Monte Carlo
Se sono i.i.d. con media e varianza , la media campionaria ha e : l'errore tipico è e per ridurlo di servono volte più campioni (legge dei grandi numeri: Legge dei grandi numeri e metodo Monte CarloSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo →).
Esempio (stima di , hit-or-miss). Si lanciano punti uniformi in ; il quarto di cerchio ha area . Sia con . Allora ha media e deviazione standard .
Con la deviazione standard teorica è e le stime ottenute in cinque prove per ciascun stanno in –; –; –; –. Tre cifre decimali costano circa un milione di campioni: il metodo è lento, ma non dipende dalla dimensione del problema.
Quanti campioni
Problema. Quanti campioni servono perché con probabilità ?
- Hoeffding (variabili in ): .
- Chernoff, errore relativo (): . Per piccolo il numero di campioni cresce come : servono circa per vedere un singolo successo.
- Chebyshev: (dipende da e non da ).
- Teorema del limite centrale: , approssimato (nessuna garanzia per finito).
Esempio. Per ottenere con probabilità almeno si deve avere e :
| metodo | |
|---|---|
| Hoeffding: | |
| Chebyshev: | |
| Chernoff relativo (): | |
| TLC () |
(.) Su ripetizioni simulate, con la frazione di stime entro è (garanzia molto prudente); con è : il TLC è il più economico e qui basta appena, ma non dà una garanzia.
Integrali
Se , , quindi (Legge dei grandi numeri e metodo Monte CarloSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo →). Per : , , . Per un errore al : . Con campioni si ottiene .
Riduzione della varianza con variabili antitetiche. Si usa : se è monotona, e sono negativamente correlate e la varianza della media crolla. Qui la varianza per campione scende da a (due valutazioni di per campione: guadagno di circa volte a parità di costo).
Eventi rari e campionamento per importanza
Se è molto piccola, il metodo ingenuo ha errore relativo : per un errore relativo del servono . Esempio: per normale standard: servono campioni per il .
Campionamento per importanza. Per stimare si campiona da un'altra densità (con dove ) e si pesa: , stimato da con e . Rimane non distorto; la varianza è piccola se è concentrata dove è grande.
Per si prende (centrata sulla zona rara): e la stima è la media di . Con campioni il metodo ingenuo vede successi (stima , inaffidabile); l'importance sampling dà con errore relativo (la varianza relativa per campione è contro : circa volte meno).
Conteggio approssimato: formule DNF
Una formula DNF è un OR di termini, ciascuno AND di letterali. Contare le assegnazioni che la soddisfano (DNF) è difficile in modo esatto, ma si approssima con un metodo Monte Carlo ben progettato (algoritmo di Karp e Luby). Il campionamento ingenuo (assegnazione uniforme, controllare se soddisfa) fallisce quando le soluzioni sono rare: con variabili e termini di letterali, la frazione di soluzioni è .
Sia l'insieme delle assegnazioni che soddisfano il termine ; se il termine ha letterali, e gli si possono campionare uniformemente fissando i letterali. Si vuole con .
Algoritmo (Karp-Luby). Ripeti volte: scegli con probabilità ; scegli uniformemente; poni se è il più piccolo indice tra i termini soddisfatti da , altrimenti . Restituisci .
Dimostrazione. La coppia con ha probabilità : la scelta è uniforme sulle coppie con . Ogni ha esattamente una coppia "canonica" (con il più piccolo indice che lo soddisfa), quindi e la stima è non distorta. Inoltre , quindi : il successo non è raro. Con Chernoff relativo, campioni danno errore relativo con probabilità : tempo polinomiale in , , , .
Esempio. , : , somma . L'unione è (le assegnazioni e stanno in , e in ; ), quindi . Con campioni si ottiene e la stima . Per , , : . L'esercizio completo è in Esercizio - Conteggio delle soluzioni di una formula DNF con l'algoritmo di Karp e Luby.
Generazione di variabili aleatorie
Si assume di avere un generatore di (numeri pseudocasuali).
Trasformazione inversa
Teorema. Sia una funzione di distribuzione (Funzione di distribuzioneLa funzione di distribuzione (FdD) F_X(x) = P(X ≤ x) è definita per ogni v.a., è crescente, continua a destra, va da 0 a 1 e determina la legge; per una v.a. discreta è a gradini, con salti in corrispondenza dei valori e di altezza pari alla densità.Funzione di distribuzione →) e . Se allora ha funzione di distribuzione .
Dimostrazione. (definizione di minimo e monotonia di ). Quindi .
Esempi: esponenziale , (o , perché ha la stessa legge di ). Densità su : , (media : la simulazione dà ). Pareto di esponente : per , (media ). Discrete: si calcolano le somme cumulative e si restituisce il primo con ; per la geometrica (Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →).
Accettazione-rifiuto
Quando non è calcolabile (per esempio la normale, Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →) si usa una densità facile da campionare tale che per ogni con una costante .
Algoritmo. Ripeti: estrai e indipendenti; se restituisci , altrimenti riprova.
Teorema. Il valore restituito ha densità ; la probabilità di accettare a ogni tentativo è , quindi il numero di tentativi è geometrico di media .
Dimostrazione. A ogni tentativo, per la probabilità di accettazione è . Quindi . Integrando su : ( ha integrale ). Dato "accetta", la densità di è .
Esempio (). su con uniforme: il massimo di è , quindi : si accetta con probabilità e servono in media tentativi (simulazione: ; media , varianza contro e ).
Esempio (normale). Per la parte positiva ( per ) si usa : ha massimo in , , accettazione . Il test diventa . Si assegna poi un segno a caso. Su campioni: tentativi per campione, (atteso ).
Catene di Markov Monte Carlo (MCMC)
Come campionare da una distribuzione su un insieme enorme, nota solo a meno di una costante, con non calcolabile (configurazioni di un modello fisico, parametri di un modello bayesiano)? Si costruisce una catena di Markov (Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionariaUna catena di Markov a tempo discreto e stati finiti è descritta da una matrice stocastica P: P(X_{n+1}=j | X_n=i)=P_ij, la legge al tempo n è π_0 P^n. Gli stati si classificano in classi comunicanti (irriducibilità), periodo (aperiodicità) e ricorrenza/transitorietà. Una distribuzione stazionaria soddisfa πP=π; per catene finite irriducibili esiste ed è unica, vale π_i=1/h_ii (h_ii = tempo medio di primo ritorno), e se la catena è anche aperiodica P^n converge a una matrice con tutte le righe uguali a π. Le catene reversibili (π_i P_ij = π_j P_ji) hanno stazionaria immediata.Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria →) irriducibile e aperiodica con stazionaria : per il teorema fondamentale, dopo molti passi ha legge vicina a .
Algoritmo (Metropolis-Hastings). Sia una proposta (una matrice stocastica che si sa campionare). Da : si propone e si accetta con probabilità altrimenti si resta in . La costante si semplifica. Se è simmetrica () è l'algoritmo di Metropolis: .
Teorema. La catena per (e ) soddisfa il bilancio dettagliato , quindi è stazionaria.
Perché converga a occorre anche che la catena sia irriducibile e aperiodica (basta che colleghi tra loro tutti gli stati con e che ci siano rifiuti, cioè cappi).
Esempio (cinque stati). Stati , , quindi (qui si conosce, ma non serve). Proposta simmetrica: con probabilità ciascuno, e se esce dai bordi il passo è rifiutato. Probabilità di accettazione: da a vale (si sale verso pesi più alti), da a vale ( scende). La matrice è Per esempio da a : ; da a : ; il resto va sul cappio (). Bilancio dettagliato, per esempio tra e : e ✓. Gli autovalori sono : la convergenza decade come . Partendo da , la distanza di variazione totale da vale (), (), (), (), (). La simulazione di passi del codice sotto dà frequenze contro e media contro : i passi consecutivi sono correlati, quindi l'errore è più grande di quello di campioni indipendenti.
Uso in pratica. Si scartano i primi passi (burn-in) e si media lungo la catena (teorema ergodico). I campioni consecutivi sono correlati: il numero di campioni equivalenti indipendenti è circa diviso per il tempo di autocorrelazione, legato al gap spettrale . La proposta incide molto: passi troppo piccoli esplorano lentamente, troppo grandi vengono rifiutati quasi sempre.
Codice
import random, math
rng = random.Random(1)
# 1) hit-or-miss per pi
N = 10**6
print(4 * sum(rng.random()**2 + rng.random()**2 < 1 for _ in range(N)) / N)
# 2) trasformazione inversa: f(x) = 3 x^2 su [0,1] -> U^(1/3)
xs = [rng.random() ** (1 / 3) for _ in range(10**5)]
print(sum(xs) / len(xs)) # circa 0.75
# 3) accettazione-rifiuto per Beta(2,2), M = 1.5
def beta22():
while True:
y = rng.random()
if rng.random() <= 6 * y * (1 - y) / 1.5: return y
print(sum(beta22() for _ in range(10**5)) / 10**5) # circa 0.5
# 4) Metropolis su {1..5} con peso w(x) = x
w = lambda x: x
x, cont = 1, [0] * 6
for _ in range(200000):
y = x + rng.choice((-1, 1))
if 1 <= y <= 5 and rng.random() < min(1, w(y) / w(x)): x = y
cont[x] += 1
print([round(c / 200000, 4) for c in cont[1:]]) # circa [0.0667, 0.1333, 0.2, 0.2667, 0.3333]Domande d'esame
- Quanti campioni servono per stimare con Hoeffding una probabilità con errore e confidenza ? .
- Dimostra che la trasformazione inversa genera la legge e che l'accettazione-rifiuto genera la densità . ; , densità condizionata .
- Perché l'algoritmo di Karp-Luby è efficiente e quello ingenuo no? In Karp-Luby per ogni formula; nell'ingenuo la probabilità di successo può essere .
- Dimostra che Metropolis-Hastings ha stazionaria e fai vedere perché non serve. Bilancio dettagliato ; dipende solo dal rapporto .
Versione ripasso
- Stima: media di campioni i.i.d., errore tipico (Legge dei grandi numeri e metodo Monte CarloSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo →); per ridurlo di servono volte più campioni. (hit-or-miss): , , deviazione ; con circa .
- Campioni per con probabilità : Hoeffding ; Chebyshev ; Chernoff relativo (Limiti di Chernoff e di HoeffdingMarkov applicato a e^(tX) dà code esponenziali. Per somme di Bernoulli indipendenti con media μ: P(X ≥ (1+δ)μ) ≤ [e^δ/(1+δ)^(1+δ)]^μ ≤ e^(-δ²μ/3) per 0<δ≤1, P(X ≤ (1-δ)μ) ≤ e^(-δ²μ/2), P(X ≥ R) ≤ 2^(-R) se R ≥ 6μ. Hoeffding per X_i in [a_i,b_i]: P(|S-E[S]| ≥ t) ≤ 2exp(-2t²/Σ(b_i-a_i)²). Applicazioni: n ≥ ln(2/δ)/(2ε²) campioni per stimare una probabilità, amplificazione BPP con k = O(log 1/ε) ripetizioni, bilanciamento di insiemi con scarto √(4m ln n).Limiti di Chernoff e di Hoeffding →); TLC (Teorema del limite centrale e approssimazione normaleSe X₁, X₂, ... sono i.i.d. con media μ e varianza σ² ∈ (0, ∞), la somma standardizzata (Sₙ − nμ)/(σ√n) converge in distribuzione a N(0, 1): per n grande P(Sₙ ≤ x) ≈ Φ((x − nμ)/(σ√n)). Caso binomiale (De Moivre-Laplace): Bin(n, p) ≈ N(np, np(1 − p)), con correzione di continuità ±0,5. Si dimostra con le funzioni caratteristiche e il teorema di Lévy.Teorema del limite centrale e approssimazione normale →). Per al (): ; ; ; (osservato per il TLC).
- Integrali: ; : , , per al . Variabili antiteticheSi media g di U e g di 1 meno U: per g monotona sono correlate negativamente e la varianza scende.: varianza per campione , guadagno circa .
- Eventi rari: ingenuo errore relativo , per il (: ). Importance sampling: , non distorto; , peso , stima ; varianza relativa per campione contro ; con campioni errore relativo .
- Karp-Luby (DNF): = assegnazioni del termine , ; scegli con probabilità , uniforme, se è l'indice minimo dei termini soddisfatti da . Le coppie sono uniformi, ogni ha una sola coppia canonica: (perché ); . Esempio , (), . Il metodo ingenuo fallisce se è tipo .
- Trasformazione inversa: , perché , quindi (Funzione di distribuzioneLa funzione di distribuzione (FdD) F_X(x) = P(X ≤ x) è definita per ogni v.a., è crescente, continua a destra, va da 0 a 1 e determina la legge; per una v.a. discreta è a gradini, con salti in corrispondenza dei valori e di altezza pari alla densità.Funzione di distribuzione →); esponenziale , , Pareto , geometrica , discrete con somme cumulative.
- Accettazione-rifiuto: ; estrai , ; accetta se . , , densità condizionata ; tentativi geometrici di media . : ; con : , accettazione , poi segno a caso.
- MCMC: campionare con ignoto costruendo una catena con stazionaria (Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionariaUna catena di Markov a tempo discreto e stati finiti è descritta da una matrice stocastica P: P(X_{n+1}=j | X_n=i)=P_ij, la legge al tempo n è π_0 P^n. Gli stati si classificano in classi comunicanti (irriducibilità), periodo (aperiodicità) e ricorrenza/transitorietà. Una distribuzione stazionaria soddisfa πP=π; per catene finite irriducibili esiste ed è unica, vale π_i=1/h_ii (h_ii = tempo medio di primo ritorno), e se la catena è anche aperiodica P^n converge a una matrice con tutte le righe uguali a π. Le catene reversibili (π_i P_ij = π_j P_ji) hanno stazionaria immediata.Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria →). Metropolis-Hastings: proposta , accetta con ; ; bilancio dettagliato perché è simmetrico. Servono irriducibilità e aperiodicità (rifiuti = cappi).
- Esempio a cinque stati (, proposta ): , , bilancio , , TV da : a ; media ergodica contro . In pratica: burn-in, campioni correlati, proposta né troppo piccola né troppo grande.
- Domande tipiche: Hoeffding per errore al : ; perché ha legge e l'accettazione-rifiuto densità ; perché Karp-Luby è efficiente () e l'ingenuo no; perché in Metropolis-Hastings non serve (compare solo il rapporto ).
- Verifiche numeriche: stime di con comprese tra – e –; per accettazione-rifiuto: (atteso ); con tentativi per campione.
- Errori tipici: usare assoluto nella forma relativa di Chernoff; dimenticare il fattore con proposte asimmetriche; non scartare il burn-in; dimenticare il peso nell'importance sampling.
Esercizi su questo argomento
- Esercizio - Conteggio delle soluzioni di una formula DNF con l'algoritmo di Karp e Luby
- Esercizio - Dimostrazioni su esponenziale, Erlang e processo di Poisson (domande da orale)
- Esercizio - Generazione di variabili aleatorie con trasformazione inversa e accettazione-rifiuto
- Esercizio - Metropolis-Hastings su tre stati con proposta asimmetrica
- Esercizio - Stima Monte Carlo di pi greco e di una probabilità rara con campionamento per importanza