Appunti
Transcript
Appunti
Lezione 8 Processi stocastici (cont.) ● ● ● ● ● ● Scopo di questa lezione è presentare: grandezze medie associate ad un processo processi gaussiani; processi stazionari autocorrelazione empirica fit di una serie storica tramite SDE Fokker-Planck fit dinamico di una densità Grandezze medie associate ad un processo ● ● ● ● ● Dato un processo X t t≥0 , chiamiamo: media del processo la funzione mt = EX t varianza del processo la funzione σ 2 t = VarX t autocovarianza del processo la funzione di due variabili t, s ≥ 0 Ct, s = CovX t , X s . (Analogamente: autocorrelazione è ρt, s = CorrX t , X s ecc.) Un processo si dice stazionario in senso debole, o in media, se: mt, σ 2 t sono costanti in t (quindi parleremo di m e σ 2 del processo) Ct, s dipende solo dalla distanza temporale |t − s|. In questo caso la struttura di autocovarianza è descritta dalla funzione di una variabile Ct = CovX t , X 0 = CovX s+t , X s . Nota 1. Le stesse definizioni si dannoa tempo discreto. Nota 2. Per un processo X n n≥0 a tempo discreto ha senso chiedere che sia Cn, m = 0 per ogni n ≠ m. Il white noise ha questa proprietà. A tempo continuo, ha senso imporla solo per processi generalizzati. Nota 3. Proprietà del tipo Ct ∼ e −λt corrispondono ad una “memoria” breve. Processi gaussiani Un processo X t t≥0 si dice gaussiano se, presi t 1 , ..., t n ≥ 0 qualsiasi, la v.a. X t 1 , ..., X t n è gaussiana. - Le v.a. gaussiane n-dimensionali (lezione 5) sono completamente descritte dal loro vettore dei valori medi m e dalla matrice di covarianza Q. - La Q del vettore X t 1 , ..., X t n ha componenti Q ij = CovX t i , X t j = Ct i , t j . - Idem per m. - Quindi un processo gaussiano è completamente descritto dalle funzioni mt, Ct, s. - Un processo gaussiano stazionario è completamente descritto da m, Ct. Esempi a tempo discreto Esempio 1. Il white noise (a tempo discreto) è un processo gaussiano stazionario. Vale m = 0, Cn = 0 per n > 0, C0 = 1. Esempio 2. La random walk è un processo gaussiano, non stazionario. Vale m = 0, σ 2 n = n. Esempio 3. Più in generale, la soluzione di un’equazione lineare con WN in input, del tipo X n = a 1 X n−1 + a 2 X n−2 + ... + σW n è un processo gaussiano (dato iniziale deterministico). Processi fortemente stazionari Sono quelli per cui la generica v.a. X t 1 +s , ..., X t n +s ha distribuzione di probabilità indipendente da s. Ad esempio, PX t+s ∈ A|X s ∈ B non dipende dal tempo di partenza s, ma solo dal lasso temporale t. - Fortemente stazionario ⇒ debolmente stazionario. - Debolmente stazionario + gaussiano ⇒ fortemente stazionario. - Importanza dei processi fortemente stazionari: se anche ergodici, allora (ad es. a tempo discreto) n 1 lim n→∞ n ∑ ϕX k = EϕX k=1 per ogni funzione ϕ con un minimo di regolarità. Le medie su ogni singolo cammino tipico convergono alla media statistica. L’enunciato è un po’ vago ma questa è l’idea. Autocorrelazione empirica di una serie storica Il software R calcola la funzione acf, autocorrelazione empirica di una serie storica x 1 , ..., x n , usando la formula 1 n−k + n−k x i x i+k − m n−k m n−k ∑ i=1 + σ n−k σ n−k dove n−k m n−k = 1 n−k m n−k = i=1 n−k σ n−k = n−k + ∑ xi, 1 n−k 1 n−k ∑ x 2i + σ n−k , ∑ x i+k i=1 n−k 1 n−k = i=1 ∑ x 2i+k . i=1 A parte i dettagli, si prendono le stringhe x 1 , ..., x n−k e x k+1 , ..., x n e si calcola la loro correlazione. Si cattura ad esempio una periodicità approssimata: se un fenomeno ha cadenza annuale, x 1 , ..., x n−12 e x 13 , ..., x n somigliano. E’ un’approssimazione di corrX k , X 0 se il processo è stazionario ergodico. Fit di una serie storica 0 -3 -2 -1 x.emp 1 2 3 Carichiamo su R la traccia del file traccia.txt e visualizziamola con ts.plot(x.emp): 0 200 400 600 800 1000 T im e - Vorremmo costruire un modello in grado di produrre sinteticamente tracce simili a questa. Ad esempio, potrebbe essere la traccia dell’intensità del vento in una ragione, che vogliamo mettere come input di un sistema complesso di calcolo degli sforzi a cui sono sottoposte delle strutture (metodo MC). - E’ un po’ come il problema del fit di una densità a partire da un campione. - Non vogliamo che il modello produca proprio questa particolare traccia (a meno di errori), ma tracce dello stesso tipo. Facciamo un istogramma ed un Q-Q plot: 20 10 0 Frequency 30 40 Histogram of x.emp[, 1] -3 -2 -1 0 x.emp[, 1] 1 2 3 1 0 -1 -3 -2 Sample Quantiles 2 3 Normal Q-Q Plot -3 -2 -1 0 1 2 3 Theoretical Quantiles Il risultato è abbastanza gaussiano. Modello banale 0 -3 -2 -1 x.sint 1 2 3 Essendo mean(x.emp)=0.0468 e sd(x.emp)=1.1277, generiamo un campione di lunghezza L<-length(x.emp). Il risultato è 0 200 400 600 800 1000 Tim e 0 -6 -4 -2 c(-6, 6) 2 4 6 A prima vista è simile. Per certi scopi può andar bene. Più in dettaglio, sovrapponiamo i primi 100 valori (in rosso la traccia sintetica): 0 20 40 60 80 1 00 c(1, 100 ) black=true, red=syntetic Vediamo che la traccia rossa è un white noise, fluttua rapidamente, quella nera è più strutturata. Troppi punti insieme schiacciavano la struttura. Modello a tempo discreto Vediamo l’autocorrelazione della serie storica: ACF 0.0 0.2 0.4 0.6 0.8 1.0 S e r ie s x .e m p 0 20 40 60 80 100 Lag La correlazione di un white noise è nulla immediatamente, questa no. Proviamo un modello del tipo (sappiamo che è gaussiano) X n = a 1 X n−1 + a 2 X n−2 + a 3 X n−3 + a 4 X n−4 + b + σW n . Dobbiamo trovare i coefficienti. Usiamo la regressione multipla REG <- lm(Y~X1+X2+X3+X4) Giudichiamola col comando summary(REG) Dopo un po’ di tentativi si vede che lo stesso risultato si ottiene col modello X n = a 1 X n−1 + σW n con a = 0.513, σ = 0.969. 0 -6 -4 -2 c(-6, 6) 2 4 6 Ecco come appaiono la traccia (nera) ed una sintentica (rossa): 0 20 40 60 80 100 c (1 , 1 0 0 ) Il risultato è decisamente migliore. Previsione col modello precedente Il modello appena visto può essere usato anche per effettuare previsioni: noti i valori fino ad un certo tempo n − 1, si calcola la previsione al tempo n tramite il modello, senza noise. Eseguiamo una finzione. - Supponiamo di possedere la serie storica solo per i primi 500 valori. - Con essi eseguiamo di nuovo un fit del modello, trovando ora: a = 0.501, σ = 0.965. - Usiamo questo modello per prevedere il valore al tempo 501. - Immaginiamo poi che passi il tempo, diventi noto il valore al tempo 501, ed usandolo prevediamo il valore al tempo 502; e così via. 1 0 -3 -2 -1 x.emp[501:L] 2 3 - tracciamo i due grafici: 0 100 200 300 400 500 T im e 1 0 -2 -1 x.emp[501:600] 2 3 L’effetto a grande scala è abbastanza buono, ma più in dettaglio si vede che il modello è povero: 0 20 40 60 80 100 T im e L’indicazione di questa povertà è nel basso coefficiente R 2 (il quadrato della correlazione tra input ed output). Fit tramite un’equazione differenziale Si può anche tentare un fit tramite un’equazione differenziale lineare del tipo dX t = −λX + σ dW t t dt dt che produce processi gaussiani. Ci aspettiamo però che il risultato sia abbastanza simile al precedente, se si pensa alla discretizzazione di Eulero: X t n+1 = X t n − h ⋅ λX t n + σB t n+1 − B t n cioè X t n+1 = 1 − h ⋅ λX t n + σW t n+1 avendo posto W t n+1 = B t n+1 − B t n . Fit nel caso non gaussiano Assai più difficile è trovare un modello quando i dati non hanno una statistica gaussiana. Dagli esempi precedenti sono emersi due elementi chiave di una serie storica: le sue proprietà statistiche, la sua struttura di autocorrelazione. Se decidiamo di soprassedere su un fit preciso delle proprietà statistiche, si possono usare i metodi lineari precedenti anche nel caso non gaussiano, cercando di catturare al meglio la struttura di autocorrelazione. Se abbiamo una serie storica stazionaria, con autocorrelazione relativamente semplice a memoria breve (come quella precedente, che va a zero dopo pochi valori), ed invece vogliamo catturare bene le proprietà statistiche non gaussiane, possiamo usare la teoria delle equazioni di Fokker-Planck. Per un cenno si vedano le dispense “Appunti teorici sulle equazioni differenziali stocastiche ed equazione di Fokker-Planck”.