<marco />
← Tutti gli articoli
17 min di lettura

Processi stocastici stazionari: media, autocovarianza ed ergodicità

segnaliprogrammazione

Nei sistemi statici ogni misura era una variabile casuale a sé, indipendente dalle altre. Nei sistemi dinamici non è più così. I dati sono campioni di un segnale che cambia nel tempo, e ogni campione dipende da quelli prima. Non c'è più una variabile casuale isolata, ma una variabile casuale per ogni istante, e insieme formano un processo stocastico.

Problema

Affrontiamo due problemi, collegati tra loro.

  • Serie temporali. Si ha solo una sequenza di misure y(0),y(1),…,y(N−1)y(0), y(1), \dots, y(N-1): il valore di un titolo in borsa, la velocità del vento, i millimetri di pioggia. La si modella come l'uscita di un sistema dinamico alimentato da un ingresso e(t)e(t) che non si può misurare.
  • Sistemi ingresso/uscita. Si misurano un ingresso u(t)u(t) e un'uscita y(t)y(t). L'uscita è la somma dell'effetto di u(t)u(t), attraverso il sistema, e di un disturbo v(t)v(t), che raccoglie tutto il resto: rumore di misura, disturbi di processo, ingressi non misurati, errori dovuti alla linearizzazione.

In entrambi i casi si vuole predire le uscite future e identificare il modello dai dati. Il disturbo v(t)v(t) e l'ingresso e(t)e(t) sono proprio dei processi stocastici: questo articolo dà gli strumenti per descriverli.

Come negli altri articoli sui segnali, il tempo è discreto: y(t)y(t) indica il campione al tt-esimo istante di campionamento.

Processo stocastico

Un processo stocastico v(t,s)v(t, s) è una successione di variabili casuali, ordinate nel tempo e legate allo stesso esperimento casuale ss. Dipende da due argomenti, e fissandone uno si ottengono oggetti diversi:

  • fissando l'esito ss si ottiene una realizzazione: un normale segnale, una sequenza di numeri nel tempo. È quello che si misura;
  • fissando l'istante tt si ottiene una variabile casuale: il valore del processo in quell'istante, che cambia da un esito all'altro;
  • fissando entrambi si ottiene un numero.

Una variabile casuale associa un numero a ogni esito; un processo stocastico gli associa un intero segnale. Nel grafico, tre realizzazioni dello stesso processo: guardando una riga si legge un segnale, tagliando in verticale si leggono tre esiti della stessa variabile casuale.

s₁ s₂ s₃ tre esiti della stessa variabile casuale t ogni riga: una realizzazione (un esito s fissato)

Esempio: il random walk. Si lancia una moneta a ogni istante: v(t)=+1v(t) = +1 se esce testa, −1-1 se esce croce. Il processo

x(t)=x(t−1)+v(t),x(0)=0x(t) = x(t-1) + v(t), \qquad x(0) = 0

è il capitale di un giocatore che punta sempre un euro. Ogni partita è una realizzazione diversa.

Media e autocovarianza

Per descrivere completamente un processo, bisognerebbe conoscere la distribuzione di tutti i suoi campioni e le relazioni tra di essi. Questo è praticamente impossibile, perché i campioni sono potenzialmente infiniti. Ci si accontenta della caratterizzazione del secondo ordine: media e covarianze.

Il valore atteso è una funzione del tempo:

mv(t)=Es[v(t,s)]m_v(t) = \mathbb{E}_s\bigl[v(t, s)\bigr]

Attenzione: è la media in verticale, fatta sugli esiti a un istante fissato (la media di insieme), non la media in orizzontale lungo una realizzazione.

D'ora in poi si scrive v(t)v(t) al posto di v(t,s)v(t, s), lasciando sottinteso l'esito.

La funzione di autocovarianza dice quanto il valore del processo in un istante è legato a quello in un altro:

γvv(t1,t2)=E[(v(t1)−mv(t1))(v(t2)−mv(t2))]\gamma_{vv}(t_1, t_2) = \mathbb{E}\Bigl[\bigl(v(t_1) - m_v(t_1)\bigr)\bigl(v(t_2) - m_v(t_2)\bigr)\Bigr]

Se è positiva, quando v(t1)v(t_1) è sopra la sua media anche v(t2)v(t_2) tende a stare sopra la propria; se è negativa, tendono a stare da parti opposte. Con t1=t2=tt_1 = t_2 = t si ottiene la varianza del processo all'istante tt. Senza sottrarre le medie si ottiene la funzione di autocorrelazione Rvv(t1,t2)=E[v(t1) v(t2)]R_{vv}(t_1, t_2) = \mathbb{E}[v(t_1)\,v(t_2)], e le due sono legate da γvv(t1,t2)=Rvv(t1,t2)−mv(t1) mv(t2)\gamma_{vv}(t_1, t_2) = R_{vv}(t_1, t_2) - m_v(t_1)\,m_v(t_2).

Dividendo per le deviazioni standard nei due istanti si ottiene l'autocovarianza normalizzata:

ρvv(t1,t2)=γvv(t1,t2)γvv(t1,t1) γvv(t2,t2)\rho_{vv}(t_1, t_2) = \frac{\gamma_{vv}(t_1, t_2)}{\sqrt{\gamma_{vv}(t_1, t_1)\,\gamma_{vv}(t_2, t_2)}}

È la generalizzazione del coefficiente di correlazione: vale sempre tra −1-1 e 11.

Con due processi vv e xx si definiscono allo stesso modo la cross-covarianza γvx(t1,t2)\gamma_{vx}(t_1, t_2) e la cross-correlazione, che misurano il legame tra i due. Se la cross-covarianza è nulla per ogni coppia di istanti, i processi sono incorrelati.

Processi stazionari

Un processo è stazionario in senso forte se le sue proprietà probabilistiche non cambiano spostandosi nel tempo: qualsiasi gruppo di campioni v(t1),…,v(tn)v(t_1), \dots, v(t_n) ha la stessa distribuzione congiunta del gruppo v(t1+τ),…,v(tn+τ)v(t_1 + \tau), \dots, v(t_n + \tau).

Un processo è stazionario in senso debole se:

  • la media è costante: mv(t)=mm_v(t) = m per ogni tt;
  • l'autocovarianza dipende solo dalla distanza tra i due istanti, e non da dove si trovano.

Questa distanza si chiama lag e si indica con τ=t2−t1\tau = t_2 - t_1: è il numero di passi che separa i due istanti (in italiano a volte si dice ritardo). Per esempio, γvv(3,5)\gamma_{vv}(3, 5) e γvv(10,12)\gamma_{vv}(10, 12) hanno lo stesso lag τ=2\tau = 2, quindi per un processo stazionario sono uguali: conta quanto sono lontani i due istanti, non quando cadono.

L'autocovarianza si scrive allora con una sola variabile:

γvv(τ)=E[(v(t)−m) (v(t+τ)−m)]\gamma_{vv}(\tau) = \mathbb{E}\bigl[(v(t) - m)\,(v(t+\tau) - m)\bigr]

La stazionarietà forte implica quella debole, purché media e varianza siano finite. Il random walk non è stazionario: la media resta zero, ma la varianza γxx(t,t)=t\gamma_{xx}(t, t) = t cresce col tempo, perché ogni lancio aggiunge la sua varianza unitaria.

L'autocovarianza di un processo stazionario ha tre proprietà:

  1. γvv(0)=Var⁡[v(t)]≥0\gamma_{vv}(0) = \operatorname{Var}[v(t)] \ge 0: in zero c'è la varianza;
  2. ∣γvv(τ)∣≤γvv(0)|\gamma_{vv}(\tau)| \le \gamma_{vv}(0): nessun campione è legato a un altro più di quanto lo sia con sé stesso;
  3. γvv(−τ)=γvv(τ)\gamma_{vv}(-\tau) = \gamma_{vv}(\tau): è una funzione pari, quindi basta conoscerla per τ≥0\tau \ge 0.

Depolarizzazione. Spesso si lavora con processi a media nulla. Non si perde niente: se v~(t)=v(t)−m\tilde v(t) = v(t) - m, allora v~\tilde v ha media zero e la stessa autocovarianza di vv, perché la definizione di γ\gamma sottrae già la media. Togliere la media semplifica i conti, che diventano γvv(τ)=E[v(t) v(t+τ)]\gamma_{vv}(\tau) = \mathbb{E}[v(t)\,v(t+\tau)], senza cambiare le proprietà che interessano.

Limitarsi ai processi stazionari è meno restrittivo di quanto sembri. Un segnale non stazionario si può spesso scomporre in un trend (un andamento lento, per esempio una crescita), una stagionalità (una componente periodica) e un residuo stazionario. I primi due si descrivono con funzioni deterministiche, e il processo stocastico serve per il residuo.

trend stagionalità residuo stazionario + + = segnale misurato t t

Rumore bianco

Finora abbiamo visto come descrivere un processo stazionario. Per costruire dei modelli serve un punto di partenza: un processo semplice da cui ottenere tutti gli altri. Questo punto di partenza è il rumore bianco, il processo stazionario più semplice che ci sia.

Si scrive e(t)∼WN(μ,λ2)e(t) \sim \text{WN}(\mu, \lambda^2) se:

E[e(t)]=μ,γee(τ)={λ2τ=00τ≠0\mathbb{E}[e(t)] = \mu, \qquad \gamma_{ee}(\tau) = \begin{cases} \lambda^2 & \tau = 0 \\ 0 & \tau \ne 0 \end{cases}

Notazione: WN\text{WN} sta per White Noise. e(t)∼WN(μ,λ2)e(t) \sim \text{WN}(\mu, \lambda^2) si legge "e(t)e(t) è un rumore bianco con media μ\mu e varianza λ2\lambda^2".

La varianza è λ2\lambda^2, e campioni in istanti diversi sono incorrelati. Conoscere il passato non dice niente sul valore di adesso: il rumore bianco è impredicibile. La distribuzione dei singoli campioni non conta: possono essere gaussiani, uniformi, ±1\pm 1 come le monete del random walk. Di solito si usa WN(0,λ2)\text{WN}(0, \lambda^2), a media nulla: come visto sopra, togliere la media non cambia l'autocovarianza.

Il rumore bianco è la parte che nessun modello può prevedere. Un buon modello cattura tutto quello che nei dati si può prevedere, e quello che resta è rumore bianco. Se l'errore del modello non è bianco, c'è ancora qualcosa che si può modellare.

È anche il punto di partenza dei modelli: l'ingresso non misurabile e(t)e(t) delle serie temporali si modella proprio come un rumore bianco. Facendolo passare in un sistema dinamico si ottengono processi con memoria, come quello dell'esempio nella prossima sezione.

Ergodicità

Il valore atteso è una media in verticale: per stimarlo bisognerebbe avere molte realizzazioni del processo e fare la media dei loro valori nello stesso istante. In pratica se ne ha una sola: il vento di quel giorno, la registrazione di quell'esperimento. L'unica cosa che si può calcolare è una media in orizzontale, lungo il tempo:

vˉN=1N∑t=0N−1v(t)\bar v_N = \frac{1}{N} \sum_{t=0}^{N-1} v(t)

e allo stesso modo, per un processo a media nulla, un'autocovarianza temporale, con v(t) v(t+τ)v(t)\,v(t+\tau) al posto di v(t)v(t). Il punto è capire se basta: allungando la registrazione, cioè facendo crescere NN, la media temporale si avvicina al valore atteso mm? E l'autocovarianza temporale si avvicina a quella di insieme?

Per un processo stazionario la media temporale converge sempre a un limite, e il valore atteso di questo limite è proprio mm. Ma il limite potrebbe essere casuale, diverso da una realizzazione all'altra. Un processo si dice ergodico quando i momenti temporali convergono a quelli di insieme, cioè a numeri fissi, uguali per ogni realizzazione; ergodico nella media se vale almeno per la media.

Condizione sufficiente: un processo stazionario con varianza finita è ergodico nella media se

lim⁡τ→∞γvv(τ)=0\lim_{\tau \to \infty} \gamma_{vv}(\tau) = 0

cioè se il processo dimentica il passato. Se il processo è anche gaussiano, la stessa condizione garantisce l'ergodicità completa.

Un processo ergodico. Prendiamo il processo v(t)=0,8 v(t−1)+e(t)v(t) = 0{,}8\,v(t-1) + e(t), con e(t)∼WN(0,1)e(t) \sim \text{WN}(0, 1): ogni campione è l'80% del precedente più un po' di rumore nuovo. È stazionario, ha media zero e un'autocovarianza che decade come 0,8τ0{,}8^\tau (vedremo come si calcola nei prossimi articoli). Le medie temporali di tre realizzazioni diverse:

NN realizzazione 1 realizzazione 2 realizzazione 3
100 0,13 −0,19 −0,64
1.000 0,13 0,05 −0,15
10.000 0,10 0,02 0,01

Con abbastanza dati tutte e tre si avvicinano alla media vera, zero: ogni realizzazione, presa abbastanza lunga, è rappresentativa di tutte.

Nella pratica l'ergodicità è un cane che si morde la coda. Per verificarla bisogna conoscere γvv(τ)\gamma_{vv}(\tau); per stimare γvv(τ)\gamma_{vv}(\tau) da una sola realizzazione bisogna già sapere che il processo è ergodico. Se non si sa niente del meccanismo che genera i dati, la si assume, e si stimano le proprietà del processo con le medie temporali.

  • Un processo stocastico v(t,s)v(t, s) è una successione di variabili casuali nel tempo: fissato l'esito si ottiene un segnale (una realizzazione), fissato l'istante una variabile casuale.
  • Lo si descrive al secondo ordine con il valore atteso e la funzione di autocovarianza. Sono medie di insieme, fatte "in verticale" sugli esiti.
  • È stazionario in senso debole se la media è costante e l'autocovarianza dipende solo dal lag τ\tau. γvv(τ)\gamma_{vv}(\tau) è pari e ha il massimo in zero, dove vale la varianza. Molti segnali non stazionari diventano stazionari togliendo trend e stagionalità.
  • Il rumore bianco WN(μ,λ2)\text{WN}(\mu, \lambda^2) ha campioni incorrelati, quindi è impredicibile. È il punto di partenza per costruire gli altri processi, ed è quello che resta dopo un buon modello.
  • Un processo è ergodico se le medie temporali di una sola realizzazione convergono a quelle di insieme. Per la media basta che l'autocovarianza tenda a zero. Nella pratica l'ergodicità si assume.