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 mt = EX t 
varianza del processo la funzione σ 2 t = VarX t 
autocovarianza del processo la funzione di due variabili t, s ≥ 0
Ct, s = CovX t , X s .
(Analogamente: autocorrelazione è ρt, s = CorrX t , X s  ecc.)
Un processo si dice stazionario in senso debole, o in media, se:
mt, σ 2 t sono costanti in t (quindi parleremo di m e σ 2 del processo)
Ct, s dipende solo dalla distanza temporale |t − s|.
In questo caso la struttura di autocovarianza è descritta dalla funzione di una variabile
Ct = CovX t , X 0  = CovX 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 Cn, 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
Ct ∼ 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 = CovX t i , X t j  = Ct i , t j .
- Idem per m.
- Quindi un processo gaussiano è completamente descritto dalle funzioni mt, Ct, s.
- Un processo gaussiano stazionario è completamente descritto da m, Ct.
Esempi a tempo discreto
Esempio 1. Il white noise (a tempo discreto) è un processo gaussiano stazionario. Vale
m = 0,
Cn = 0 per n > 0, C0 = 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,
PX 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 corrX 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”.