

\section{Validazione}
\label{sec:Validazione}


Una parte molto importante dell'identificazione è la fase di validazione del modello ottenuto. Si cerca di capire la bontà del modello identificato nel descrivere il processo. L'analisi di prestazione deve essere fatta su dati diversi da quelli usati per l'identificazione. I dati disponibili vengono quindi suddivisi in due insiemi:
\begin{itemize}
	\item dati per l'identificazione,
	\item dati per la validazione.
\end{itemize}

La validazione consiste nel confrontare l'uscita reale con l'uscita del modello identificato avendo come ingressi i dati reali e di calcolare successivamente diversi indici che danno informazione sulla bontà del modello.\\
Di seguito vengono spiegati i diversi indici significativi alla fine di fare validazione.\\

\paragraph{Covarianza e correlazione:}
\label{sec:CovarianzaECorrelazione}
La covarianza (campionaria) e la correlazione (campionaria) si possono facilmente calcolare in Matlab $\texttt{cov}(x_1,x_2)$ e $\texttt{corr}(x_1,x_2)$ rispettivamente.\\
La covarianza indica se esiste una dipendenza tra le due variabili. Valori elevati indicano una forte legame tra le due variabili, mentre per un legame debole la covarianza tende a zero. La covarianza dipende però della base scelta per rappresentare il modello (per esempio dipende dalla unità di misura utilizzata) e non è dunque un indice oggettivo per confrontare la bontà di diversi modelli Per migliori chiarimenti vedere \cite{Picci11}. La correlazione è invece un parametro adimensionale compreso tra -1 e 1 che indica la relazione lineare tra due variabili. Valori negativi della correlazione indicano che le due variabili sono inversamente correlati, cioè se una variabile cresce l'altra tende a decrescere. Due variabili indipendenti hanno correlazione nulla mentre non è vero il viceversa perché la correlazione può essere nulla anche se esiste una qualsiasi relazioni non lineari tra le due variabili.\\

\paragraph{Test di bianchezza:}
\label{sec:TestDiBianchezza}
I due indici appena visti spiegano l'importanza del test di bianchezza. Serve per verificare se l'errore di predizione (residuo) tra i dati reali e l'uscita dal modello identificato è effettivamente un processo bianco. In base alla bianchezza di una realizzazione del processo vero si decide se il modello identificato è una buona descrizione del sistema dinamico reale.\\
Per effettuare il test si bianchezza è utile il commando \texttt{resid} di Matlab che plotta un grafico per la auto-correlazione del errore di predizione e un grafico con la cross-correlazione tra l'errore di predizione e ogni ingresso reale che poi serve per il test di indipendenza. Inoltre nei grafici viene visualizzato l'intervallo di confidenza al 99\%, che è un intervallo di valori plausibili ricavato dalla specifica distribuzione di probabilitá dei residui. Per avere bianchezza tutte le correlazioni (tranne la prima che in realtá è la varianza del residuo) dovrebbero trovarsi all'interno dell'intervallo di confidenza, o almeno non eccessivamente fuori. Nel caso contrario si ha che i campioni dell'errore di predizione sono correlati, il che si può avere per esempio se l'ordine del modello usato per l'identificazione non è adeguato e quindi il modello non è adeguato per descrivere il sistema dinamico vero.\\
Assumendo che l'errore di predizione $\varepsilon(t)$ sia bianco si ha che la covarianza $r_{\varepsilon}(\tau)=0$ per ogni $\tau\neq0$ e quindi per la covarianza campionaria
$$ \hat{r}_{\varepsilon}(\tau)=\frac{1}{N}\sum_{t=1}^{N-\tau}\varepsilon(t+\tau)\varepsilon(t) $$
si ha per $N\rightarrow\infty$
\begin{align*}
	\hat{r}_{\varepsilon}(\tau) & \rightarrow0 \qquad \forall \  \tau\neq0,\\
	\hat{r}_{\varepsilon}(0) & \rightarrow E\varepsilon^2(t).
\end{align*}
Per il test di bianchezza infine viene considerato la quantità normalizzata
$$ x_{\tau} = \frac{\hat{r}_{\varepsilon}(\tau)}{\hat{r}_{\varepsilon}(0)}. $$

\paragraph{Test di indipendenza:}
\label{sec:TestDiIndipendenza}
Il test di indipendenza è relativo alla cross-correlazione tra l'errore di predizione e gli ingressi reali. Si verifica se i residui sono effettivamente indipendenti dalle osservazioni passate e quindi se è stato estratto tutta la informazione possibile dai dati. Come accennato prima per concludere che il modello identificato è adeguato si controlla nei grafici della cross-correlazione tra il residuo e gli ingressi reali ottenuto mediante il commando \texttt{resid} che non ci sono picchi significativamente fuori della regione di confidenza. Se per esempio si ha un picco al ritardo k-esimo che sta fuori della regione di confidenza questo significa che l'uscita $y(t)$ non ha ancora estratto tutta l'informazione possibile dall'ingresso $u(t-k)$ e un altro modello potrebbe spiegare meglio l'uscita all'istante $t$.\\
Il commando \texttt{resid} assume che il residuo $\varepsilon(t)$ sia indipendente dagli ingressi passati e sia a media nulla e che si ha quindi $r_{\varepsilon u}(\tau)=E\varepsilon(t+\tau)u(t)=0$.\\
Per $\tau$ si considerano sia valori positivi che negativi. Mentre se il modello non è adeguato per descrivere il sistema per valori di $\tau$ positivi si può aspettare che ci sono picche di cross-correlazione che sono fuori dell'intervallo di confidenza questo non è detto per valori di $\tau$ negativi. Per esempio nel caso che $u(t)$ sia un processo bianco questi picchi sono comunque nulle.\\
Calcolando la correlazione campionaria come
$$ \hat{r}_{\varepsilon u}(\tau)=\frac{1}{N}\sum_{t=1-min(0,\tau)}^{N-max(0,\tau)}\varepsilon(t+\tau)u(t) $$
per il test di indipendenza si considera la quantità normalizzata
$$ x_{\tau} = \frac{\hat{r}_{\varepsilon u}(\tau)}{[\hat{r}_{\varepsilon}(0) \hat{r}_{\varepsilon}(0)]^{1/2}}. $$

\paragraph{Mappa zeri-poli:}
\label{sec:MappaZeriPoli}
Tracciando la mappa zeri-poli di ogni funzione di trasferimento del modello identificato si può dare una prima indicazione sull'esattezza dell'ordine del modello. Se ci sono delle quasi-cancellazioni si può aspettare che è possibile ridurre l'ordine del modello identificato.

\paragraph{fit:}
\label{sec:fit}
Il fit da la percentuale della varianza spiegata ed è calcolato mediante la seguente formula:
$$ fit = 100*\left[1-\frac{norm(y_h-y)}{norm(y-mean(y))}\right] $$
dove $y_h$ sono le uscite dal modello identificato, mentre $y$ è l'uscita reale. Dalla formula si vede che più l'uscita del modello è vicina a quella reale, più vicino è il fit al 100\% e piú sarrà quindi adeguato il modello identificato per spiegare il sistema reale. 

\paragraph{Errore quadratico medio:}
\label{sec:ErroreQuadraticoMedio}
Un indice che valuta la prestazione del modello identificato che viene spesso usato è l'MSE (mean square error). Esso è definito da
\begin{align*}
	MSE &= \frac{1}{N}\sum_{i=1}^N (y_i-\hat{y}_i)^2 \\
			&= Var(\hat{y})+mean^2(\hat{y}-y)
\end{align*}
Questo indice da quindi informazioni sulla bontà dello stimatore in termini di varianza e dispersione della stima. Spesso si calcola anche la radice di questo indice, che viene chiamata con radice dell'errore di predizione (in inglese root mean square error, RMSE) che è quindi proporzionale alla deviazione standard della stima.\\


\paragraph{Sparsità}
\label{sec:Sparsita}
La sparsità da la percentuale di funzioni di trasferimento nulle nel modello identificato. Avere una funzione di trasferimento nulla significa che la rispettiva misura (ingresso) non è stata utilizzata alla fine di calcolare l'uscita del modello identificato e quindi che il rispettivo sensore può essere eliminato nel calcolo della rispettiva uscita.








