Metodo Monte Carlo

Il Metodo Monte Carlo fa parte della famiglia dei metodi statistici non parametrici. E’ utile per superare i problemi computazionali legati ai test esatti (ad esempio i metodi basati sulla distribuzione binomiale e calcolo combinatorio, che per grandi campioni generano un numero di permutazioni eccessivo).

Il metodo è usato per trarre stime attraverso simulazioni. Si basa su un algoritmo che genera una serie di numeri tra loro incorrelati, che seguono la distribuzione di probabilità che si suppone abbia il fenomeno da indagare. L’incorrelazione tra i numeri è assicurata da un test chi quadrato. Esempio: Si voglia stimare il rendimento mensile di un titolo azionario. Il titolo esiste da cinque anni, quindi si hanno a disposizione solo 60 rendimenti mensili. Supponiamo che i rendimenti si distribuiscano seguendo una normale.

Calcoliamo:

-Media campionaria

-Scarto quadratico medio campionario, su base giornaliera (che poi si adatterà con la formula della radice quadrata del tempo al periodo mensile.)

Con un modello di regressione lineare cercheremo di stimare la media a un mese. Successivamente, si andranno a generare attraverso l’algoritmo Monte Carlo una serie di medie “sperimentali” che saranno ricavate da una distribuzione normale (perché si è ipotizzato che i rendimenti seguano questa distribuzione) con media pari alla media stimata e scarto quadratico medio pari allo scarto quadratico medio campionario a un mese.

Una strategia per procedere e stimare la vera media del fenomeno, a questo punto, può essere quella di ricavare la media generale di tutte le medie sperimentali ottenute. I dati ottenuti forniscono stime tanto migliori quanto maggiore è la numerosità delle prove fatte.

Il metodo è molto usato in varie discipline. Tra le possibili applicazioni: fisica statistica e ingegneria, dove si presta molto bene a risolvere problemi legati, ad esempio, alla fluidodinamica; in economia e finanza per prezziare derivati; in informatica, per simulare l’illuminazione naturale; ecc…

È molto potente se usato in combinazione con altri metodi non parametrici come il resampling.

Discussione analitica

Per un modello stocastico sia θ la quantità da determinarsi. Si esegua una simulazione, generando la variabile casuale X1 in modo che θ sia il valore atteso di X1. Consideriamo una seconda simulazione, generando una variabile casuale X2 tale che il suo valore atteso sia sempre θ. Proseguiamo con k simulazioni, generando fino a k variabili casuali Xk con E[Xk] = θ. Come stimatore di θ possiamo prendere la media aritmetica delle k variabili casuali generate, cioè

X = \frac{\sum_{i=1}^k X_i}{k}

in quanto è ovviamente E[X] = θ. Qual’è il valore più appropriato di k? Supponiamo di avere n variabili aleatorie indipendenti, X1, ..,Xn aventi la stessa distribuzione. Sia σ2 la varianza della variabile Xi e θ il valore atteso E[Xi] = θ Var(Xi) = σ2 La media campionaria X viene definita da

X = \frac{\sum_{i=1}^n X_i}{n}

Il suo valore atteso è:

E[X] = \frac{\sum_{i=1}^n E[X_i]}{n} = \theta

Quindi X è uno stimatore "unbiased" (cioè con valore atteso uguale a quello del parametro) di θ. La sua varianza è:

Var(X) = E[(X - \theta)^2] = Var \left [ \frac{\sum_{i=1}^n X_i}{n} \right ] \quad = \frac{\sum_{i=1}^n Var(X_i)}{n^2}= \frac{\sigma^2}{n}

Pertanto X e’ una variabile aleatoria con media θ e varianza σ2/n; ne segue che X è uno stimatore efficiente quando σ/√n è piccolo. Fissata una tolleranza per σ2/n ed avendo stimato σ2 si può in tal modo stimare n.

Si può imporre che il valore atteso ottenuto con lo stimatore stia dentro un ben definito intervallo di confidenza. Si può a tale scopo utilizzare una conseguenza del teorema del limite centrale. Sia X1, X2, …, Xn …, una successione di variabili casuali indipendenti e distribuite identicamente aventi la media finita μ e la varianza finita σ2. Allora

\lim_{n \to \infty}P \left ( \frac {X_1+ X_2+...+ X_n -n\mu}{\sigma \sqrt{n}} \right )  = \Phi(x)

dove Φ(x) è la funzione di distribuzione di una variabile normale standard,

\Phi(x) = \frac{1}{\sqrt{2 \pi}}\int_{-\infty}^{x}e^{ \frac{-y^2}{2}}\, dy


Quando n>>1 il teorema del limite centrale ci dice che la variabile

Z = \frac{(X - \theta)}{(\frac{\sigma}{\sqrt{n}})}

è approssimativamente distribuita come una variabile aleatoria normale unitaria, indicata con N(0,1), cioè con media zero e varianza 1. Sia ora zα, dove 0< α <1, quel numero tale che, per una variabile normale unitaria, si abbia P(Z > zα ) = α Allora, dal teorema del limite centrale si ha che , asintoticamente per n grande

P \{ X - z \left ( \frac{\alpha}{2} \right ) \frac{\sigma}{\sqrt{n}} < \theta < X + z \left ( \frac{\alpha}{2} \right ) \frac{\sigma}{\sqrt{n}} \} = 1 - \alpha

Che afferma che la probabilità che la media θ sia compresa nell’intervallo

[X - z \left ( \frac{\alpha}{2} \right ) \frac{\sigma}{\sqrt{n}}, X + z \left ( \frac{\alpha}{2} \right ) \frac{\sigma}{\sqrt{n}} ]

è (1 - α). Perciò, assegnato 1-α e conoscendo σ, si può stimare il minimo valore di n necessario.

Nasce quindi il problema di come stimare la varianza σ2 = E[(X - θ)2]

Definizione. La varianza del campione S2 e’ definita da

S^2 = \sum_{i=1}^n \frac{(X_i - X)^2}{(n - 1)}

Vale il seguente risultato.

Proposizione. E[S2]= σ2 Infatti si ha:

\sum_{i=1}^n (X_i - X)^2 = \sum_{i=1}^n (X_i^2 - n X^2)

ne segue

(n-1)E[S^2] = E[ \sum_{i=1}^n X_i^2 ] - n E [X^2] = n E [X_i^2] - n E [X^2]

Per una variabile aleatoria si ha:

E[Y2] = Var(Y) + (E[Y])2

E quindi

E[X_i^2] = Var(X_i) + (E[Xi])^2 = \sigma^2 + \theta^2

Inoltre

E[X^2] = Var(X) + (E[X])^2 = \frac{\sigma^2}{n} + \theta^2

Ne segue

(n − 1)E[S2] = nσ2 + nθ2 − σ2nθ2 = (n − 1)σ2

Supponiamo ora di avere n variabili aleatorie indipendenti X1, X2, …, Xn aventi la stessa funzione di distribuzione F e di volere stimare il parametro θ(F) (per evidenziare che tale quantità deve essere calcolata rispetto alla funzione di distribuzione F). Sia g(X1, X2, …, Xn) lo stimatore proposto per θ(F); se questo non corrisponde al valore medio, il metodo precedentemente esposto per stimare la varianza dello stimatore non si può applicare. Vediamo come si può stimare l’errore quadratico medio che si commette quando si usa questo stimatore:

EQM(F) = EF[(g(X1,X2,...,Xn) − θ(F))2]

Dove il pedice F significa che il valore d’aspettazione viene calcolato rispetto alla funzione di distribuzione F che per il momento è incognita.

Un metodo per stimare tale quantità è quello del bootstrap, utilizzando la funzione di distribuzione empirica Fe(x) definita da:

F_e(x) = \frac{(numero\; degli\; i: X_i \le x)}{n}

La legge forte dei grandi numeri afferma che per n molto grande, con probabilità 1, Fe(x) tende a F(x). Allora un valore approssimato di EQM(F) è dato da (approssimazione di bootstrap):

EQM(F) = EFe[(g(X1,X2,...,Xn) − θ(Fe))2]

Va rilevato, da un punto di vista operativo, che il dimensionamento della simulazione si supera facilmente grazie alla crescente disponibilità di potenza di calcolo. In altre parole, procedendo all'uso del metodo su calcolatore, sarà sufficente generare una serie di prove di ampiezza sicuramente ridondante per assicurarsi la significatività della stima.

See also: Metodo Monte Carlo, Algoritmo, Calcolo combinatorio, Derivati, Distribuzione binomiale, Economia, Finanza, Fluidodinamica, Informatica, Ingegneria