Esercizio - Stima Monte Carlo di pi greco e di una probabilità rara con campionamento per importanza
Teoria: Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMCMonte Carlo stima una grandezza come media di campioni casuali: errore tipico σ/√N, numero di campioni N ≥ ln(2/δ)/(2ε²) per Hoeffding (probabilità), N ≥ 3 ln(2/δ)/(pε²) per Chernoff (errore relativo). Stima di π con p=π/4; integrali come media di g(U); eventi rari con campionamento per importanza (pesi φ/q); conteggio DNF con Karp-Luby in tempo polinomiale perché P(Y=1) ≥ 1/m. Generazione: trasformazione inversa X=F^{-1}(U) e accettazione-rifiuto (f ≤ M g, efficienza 1/M). MCMC: Metropolis-Hastings costruisce una catena con stazionaria π (nota a meno di costante) imponendo il bilancio dettagliato con probabilità di accettazione min(1, π(y)Q(y,x)/(π(x)Q(x,y))).Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMC →; limiti di coda in 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 →.
Testo.
- Si stima lanciando punti uniformi in e contando quelli con . Quanti campioni servono perché con probabilità almeno ? Calcolare il numero con Hoeffding, con Chebyshev e con il teorema del limite centrale.
- Con si ottengono punti dentro. Stima di , deviazione standard stimata e intervallo di confidenza al .
- Si vuole stimare , (). Quanti campioni servono con il metodo ingenuo per un errore relativo del ?
- Campionamento per importanza con la proposta : scrivere il peso, la varianza relativa per campione in funzione di e scegliere . Stima con .
Soluzione
1. Sia e . L'errore equivale a con .
- Hoeffding: .
- Chebyshev: .
- TLC: , quindi .
Il TLC dà il numero più piccolo ma è un'approssimazione, non una garanzia: in ripetizioni simulate con la frazione di stime entro è stata , appena sotto il richiesto; con è stata (Hoeffding è prudente).
2. , quindi . La deviazione standard stimata è . Intervallo al : . Contiene (appena, vicino al bordo: succede nel delle ripetizioni che l'intervallo non contenga ).
3. Il metodo ingenuo ha successo con probabilità e l'errore relativo della media è . Per : campioni. Con si vedono in media solo successi: la stima è inservibile (nella prova del codice sotto se ne sono visti , stima , quasi il doppio del vero).
4. Il campionamento per importanza stima campionando e pesando con : È non distorto perché . Il secondo momento per campione è Calcolando numericamente:
| 0 (ingenuo) | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| varianza relativa per campione |
Conviene , cioè centrare la proposta sulla soglia (con troppo grande si campiona oltre la soglia con pesi troppo variabili). Con il peso è . L'errore relativo con campioni è : per , (contro campioni del metodo ingenuo per il : guadagno di circa volte in varianza). La prova del codice sotto, con , ha dato con intervallo al , che contiene il valore vero (varianza relativa stimata , contro esatta).
Codice di verifica
import numpy as np
from math import erfc, log, pi, sqrt
rng = np.random.default_rng(11)
p = pi / 4
# 1. numero di campioni per |pi_hat - pi| <= 0.005 al 95%
eps, delta = 0.005 / 4, 0.05
print("Hoeffding:", log(2 / delta) / (2 * eps**2), " Chebyshev:", p * (1 - p) / (delta * eps**2),
" TLC:", (1.96 * 4)**2 * p * (1 - p) / 0.005**2)
# 2. intervallo di confidenza
N, k = 10**6, 784674
ph = k / N; sd = 4 * sqrt(ph * (1 - ph) / N)
print(4 * ph, sd, 4 * ph - 1.96 * sd, 4 * ph + 1.96 * sd)
# 3-4. evento raro P(Z > 4)
vero = 0.5 * erfc(4 / sqrt(2)); N = 10**5
y = rng.standard_normal(N) + 4 # proposta N(4, 1)
w = np.exp(-4 * y + 8) * (y > 4)
print("vero", vero, " IS:", w.mean(), "+-", 1.96 * w.std() / sqrt(N), " varianza relativa:", w.var() / vero**2)
print("ingenuo: successi su 1e5 =", (rng.standard_normal(N) > 4).sum())Versione ripasso
Teoria: Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMCMonte Carlo stima una grandezza come media di campioni casuali: errore tipico σ/√N, numero di campioni N ≥ ln(2/δ)/(2ε²) per Hoeffding (probabilità), N ≥ 3 ln(2/δ)/(pε²) per Chernoff (errore relativo). Stima di π con p=π/4; integrali come media di g(U); eventi rari con campionamento per importanza (pesi φ/q); conteggio DNF con Karp-Luby in tempo polinomiale perché P(Y=1) ≥ 1/m. Generazione: trasformazione inversa X=F^{-1}(U) e accettazione-rifiuto (f ≤ M g, efficienza 1/M). MCMC: Metropolis-Hastings costruisce una catena con stazionaria π (nota a meno di costante) imponendo il bilancio dettagliato con probabilità di accettazione min(1, π(y)Q(y,x)/(π(x)Q(x,y))).Metodi Monte Carlo - stima, generazione di variabili aleatorie e MCMC →; 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 →.
- Campioni per al ( su , ): Hoeffding ; Chebyshev ; TLC (frazione osservata : approssimazione, non garanzia).
- Una prova: , sd , intervallo .
- Evento raro : ingenuo per il .
- Importance sampling con : , ; varianza relativa : ; ; ; per . Con e : errore relativo , circa volte meno varianza.
- Errori tipici: confondere su con su (fattore ); dimenticare il peso (stima distorta); scegliere una proposta troppo spostata.