Filtri Bayesiani

In questa sezione viene discusso il problema dei filtraggi statistici ovvero quella classe di problemi dove sono a disposizione dati proveniente da uno o più sensori affetti da rumore, dati che rappresentano l'osservazione dello stato dinamico di un sistema, non direttamente osservabile ma di cui è richiesta una stima. Il procedimento attraverso il quale si cerca di trovare la miglior stima dello stato interno di un sistema viene chiamato “filtraggio” in quanto è un metodo per filtrare via le diverse componenti di rumore. L'evoluzione di un sistema (l'evoluzione del suo stato interno) deve seguire leggi fisiche conosciute su cui va ad agire una componente di rumore (rumore di processo). È proprio attraverso la conoscenza delle equazioni che regolano l'evoluzione dello stato che è possibile fornire una stima migliore dello stato interno.

Un processo fisico può essere visto, nella sua rappresentazione di spazio di stato (State Space Model), attraverso una funzione che descrive come lo stato $\mathbf{x}_t$ si evolve nel tempo:

\begin{displaymath}
\dot{\mathbf{x}}_t = f(t, \mathbf{x}_t, \mathbf{u}_t, \mathbf{w}_t)
\end{displaymath} (2.88)

con $\mathbf{u}_t$ eventuali ingressi al sistema, conosciuti, e $\mathbf{w}_t$ parametro rappresentante il rumore di processo, ovvero l'aleatorietà che ne regola l'evoluzione. Allo stesso modo anche l'osservazione dello stato è un processo su cui agisce un rumore, in questo caso definito di osservazione. Anche in questo caso è possibile definire una funzione che modella l'osservazione $\mathbf{z}_t$ come
\begin{displaymath}
\mathbf{z}_t = h (t, \mathbf{x}_t, \mathbf{v}_t )
\end{displaymath} (2.89)

con $\mathbf{v}_t$ rumore di osservazione e funzione solo dello stato attuale.

Questo formalismo è descritto nel dominio continuo del tempo. Nelle applicazioni pratiche i segnali vengono campionati a tempo discreto $k$ e pertanto viene normalmente usata una versione a tempo discreto nella forma

\begin{displaymath}
\begin{array}{l}
x_{k+1} = f_k(x_k, u_k, w_k) \\
z_{k+1} = h_k(x_k, v_k) \\
\end{array}\end{displaymath} (2.90)

dove $w_k$ e $v_k$ possono essere visti come sequenze di rumore bianco di statistiche note.

Figura 2.4: Esempio di evoluzione e osservazione di un sistema markoviano.
Image fig_markov

Nei sistemi che soddisfano le equazioni (2.90), l'evoluzione dello stato è solo funzione dello stato precedente, mentre l'osservazione è solo funzione dello stato attuale (figura 2.4). Se un sistema soddisfa tali ipotesi si dice che il processo è markoviano: l'evoluzione del sistema e l'osservazione devono essere solo funzione dello stato corrente e non degli stati passati. L'accesso all'informazione sullo stato avviene sempre per via indiretta attraverso l'osservazione (Hidden Markov Model).

Molti approcci per stimare da un insieme di misure lo stato sconosciuto di un sistema non tengono conto della natura rumorosa di tali osservazioni. È possibile infatti costruire un algoritmo che esegua una regressione non lineare sulle osservazioni per ottenere la stima di tutti gli stati del problema, risolvendo un problema di ottimizzazione con un elevato numero di incognite.

I filtri, a differenza delle regressioni, si pongono come obiettivo quello di fornire la miglior stima di delle variabili (stato) man mano che i dati delle osservazioni arrivano. Dal punto di vista teorico le regressioni sono il caso ottimo, mentre i filtraggi convergono al risultato corretto solo dopo un numero di campioni sufficientemente elevato.

I filtri bayesiani si pongono come obiettivo quello di stimare all'istante di tempo $k$, discreto, lo stato della variabile aleatoria $\mathbf{x}_k \in \mathbb{R}^n$ data un'osservazione del sistema, indiretta, $\mathbf{z}_k \in \mathbb{R}^{m}$.

Le tecniche di filtraggio permettono sia di ottenere la stima migliore dello stato sconosciuto $\mathbf{x}_k $ ma anche la distribuzione di probabilità multivariata $p(\mathbf{x}_k)$ rappresentante la conoscenza che si ha dello stato stesso.

Data l'osservazione del sistema è possibile definire una densità di probabilità di $\mathbf{x}_k $ a posteriori dell'osservazione dell'evento $\mathbf{z}_{k}$ dovuta proprio alla conoscenza in più che si ottiene da tale osservazione:

\begin{displaymath}
p^{+}(\mathbf{x}_k) = p(\mathbf{x}_k \vert \mathbf{z}_k)
\end{displaymath} (2.91)

dove, probabilità condizionata, $p(\mathbf{x}_k \vert \mathbf{z}_k)$ indica la probabilità che lo stato nascosto sia $\mathbf{x}_k $ data l'osservazione $\mathbf{z}_k$. La “funzione” $p(\mathbf{x}_k \vert \mathbf{z}_k)$ rappresenta il modello della misurazione dello stato (measurement model). In letteratura la distribuzione a posteriori $p^{+}(\mathbf{x}_k)$ viene anche indicata come belief.

Applicando il teorema di Bayes all'equazione (2.91) si ottiene

\begin{displaymath}
p(\mathbf{x}_k \vert \mathbf{z}_k) = c_k p(\mathbf{z}_k \vert \mathbf{x}_k) p(\mathbf{x}_{k})
\end{displaymath} (2.92)

con $c_k$ fattore di normalizzazione tale che $\int p(\mathbf{x}_k \vert \mathbf{z}_k)=1$. La conoscenza di $p(\mathbf{z}_k \vert \mathbf{x}_k)$ risulta indispensabile, conoscenza che rappresenta la probabilità che l'osservazione sia proprio la quantità $\mathbf{z}_k$ osservata dato il possibile stato $\mathbf{x}_k $. L'utilizzo del teorema di Bayes per stimare lo stato data l'osservazione è il motivo per il quale questa classe di filtraggi è detta bayesiana.

Oltre alla conoscenza a posteriori della distribuzione di probabilità, è possibile sfruttare un'ulteriore informazione per migliorare la stima: la conoscenza a priori rispetto all'osservazione, ottenuta dal vincolo secondo il quale lo stato non si evolve in maniera totalmente imprevedibile ma viceversa può solo evolversi in determinati modi con determinate probabilità. Tali modi in cui il sistema si può evolvere sono funzione solamente dello stato corrente. L'ipotesi di processo Markoviano implica infatti che l'unico stato passato che influisca sull'evoluzione del sistema sia quello di tempo $k-1$, ovvero $p(x_k \vert x_{1:k-1}) = p(x_k \vert x_{k-1})$.

È pertanto possibile eseguire la predizione a priori, grazie all'equazione di Chapman-Kolmogorov:

\begin{displaymath}
p^{-}(\mathbf{x}_k) = \int p(\mathbf{x}_k \vert \mathbf{x}_{k-1}, \mathbf{u}_{k}) p(\mathbf{x}_{k-1}) d\mathbf{x}_{k-1}
\end{displaymath} (2.93)

dove $p(\mathbf{x}_k \vert \mathbf{x}_{k-1}, \mathbf{u}_{k})$ rappresenta la dinamica del sistema (dynamic model) e $\mathbf{u}_{k}$ sono gli eventuali ingressi, che influenzano l'evoluzione del sistema, di cui però la conoscenza è totale.

Dalla conoscenza dello stato a priori e dall'osservazione $z_k$ è possibile riscrivere l'equazione (2.91) nell'equazione di aggiornamento dello stato

\begin{displaymath}
p^{+}(\mathbf{x}_k) = c_k p(\mathbf{z}_k \vert \mathbf{x}_k) p^{-}(\mathbf{x}_k)
\end{displaymath} (2.94)

Lo stato viene stimato alternando una fase di predizione (stima a priori) a una fase di osservazione (stima a posteriori). Questo processo, iterativo, prende il nome di stima bayesiana ricorsiva (Recursive Bayesian Estimation).

Le tecniche descritte in questa sezione faranno riferimento solo all'ultima osservazione disponibile per stimare lo stato. Dal punto di vista formale è possibile estendere la discussione al caso in cui vengano sfruttate tutte le osservazioni per ottenere una stima più accurata dello stato. In questo caso le equazioni di filtraggio e predizione diventano

\begin{displaymath}
\begin{array}{l}
p(\mathbf{x}_k \vert \mathbf{z}_{1:k} ) = ...
...mathbf{x}_k \vert \mathbf{z}_{1:k} ) d \mathbf{x}_k
\end{array}\end{displaymath} (2.95)

Per motivi di semplicità e per il ridotto peso computazionale normalmente viene valutata solo l'ultima osservazione, ma in determinati casi (per esempio nei filtri particellari) è possibile introdurre la conoscenza di tutta la storia passata nelle equazioni in maniera abbastanza agevole.

In quanto stima di variabili continue, non risulta possibile sfruttare la teoria bayesiana “direttamente” ma sono state proposte in letteratura diversi approcci per permettere la stima in maniera efficiente sia dal punto di vista computazionale che di utilizzo della memoria.

A seconda che il problema sia lineare o non-lineare, che la distribuzione di probabilità del rumore sia gaussiana o meno, ognuno di questi filtri si comporta in maniera più o meno ottima.

Il Filtro di Kalman (sezione 2.12.2) è il filtro ottimo nel caso in cui il problema sia lineare e la distribuzione del rumore gaussiana. I filtri di Kalman Estesi e a Punti Sigma, sezioni 2.12.42.12.5 rispettivamente, sono filtri sub-ottimi per problemi non-lineari e distribuzione del rumore gaussiana (o poco discostanti da essa). Infine i filtri particellari sono una soluzione sub-ottima per i problemi non lineari con distribuzione del rumore non gaussiana.

I filtri grid-based (sezione 2.12.1) e i filtri particellari (sezione 2.12.8) lavorano su una rappresentazione discreta dello stato, mentre i filtri Kalman, Extendend e Sigma-Point lavorano su una rappresentazione continua dello stato.

Kalman, Kalman Esteso e Kalman a Punti Sigma stimano la distribuzione dell'incertezza (dello stato, del processo, dell'osservazione) come una singola gaussiana. Esistono estensioni multimodali come Multi-hypothesis tracking (MHT) che permettono di applicare i filtri di Kalman a distribuzioni come miscela di gaussiane, mentre i filtri particellari e grid-based sono per loro natura multimodali.

Un ottimo survey sui filtraggi bayesiani è (Che03).



Subsections
Paolo medici
2025-03-12