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

Identificazione dei modelli: stimare un sistema dai dati

aiprogrammazione

Un sistema è un meccanismo che trasforma degli ingressi (cause) in uscite (effetti): una resistenza trasforma una tensione in corrente, un motore una tensione in velocità, un canale radio il segnale trasmesso in quello ricevuto. Un modello è la descrizione matematica di quel meccanismo.

Questo articolo apre una serie che segue il corso di Identificazione dei modelli e analisi dei dati; si prosegue con le proprietà degli stimatori.

Tre modi di costruire un modello

Prendiamo un carrello attaccato a una molla e a uno smorzatore, spinto da una forza f(t)f(t). Vogliamo sapere come si muove, cioè la posizione x(t)x(t).

White box. Si scrivono le leggi della fisica. Newton dice che

m x¨(t)=f(t)−c x˙(t)−k x(t)m\,\ddot x(t) = f(t) - c\,\dot x(t) - k\,x(t)

e si misurano direttamente massa mm, smorzamento cc e rigidezza kk. Il modello è interpretabile e vale in generale, ma richiede di conoscere tutte le leggi e tutti i parametri: per un sistema con molti componenti spesso non è fattibile.

Black box. Si fa un esperimento: si applica una forza nota, si misura la posizione e si stima un modello generico, per esempio una funzione di trasferimento digitale del secondo ordine. È veloce e non richiede di conoscere la fisica, ma i parametri stimati non hanno un significato fisico, e se il sistema cambia l'esperimento va rifatto.

Gray box. Una via di mezzo: si conosce la forma delle equazioni, ma i parametri mm, cc, kk (o alcuni di essi) si stimano dai dati.

Il corso, e con lui questa serie, si concentra sui modelli black box.

Come si capisce se un modello è buono

Si danno gli stessi ingressi al sistema reale e al modello, e si confrontano le uscite. La differenza è l'errore di modellazione: se è piccolo, il modello riproduce il fenomeno.

Costruire un modello dai dati, quindi, vuol dire risolvere un problema di stima: trovare i parametri che rendono piccolo quell'errore.

Sistemi statici e dinamici

Statico è un sistema in cui l'ingresso di adesso basta a determinare l'uscita di adesso. La legge di Ohm è l'esempio classico: i(t)=V(t)/Ri(t) = V(t)/R. Stimare sistemi statici dai dati è ciò che di solito si chiama machine learning.

Dinamico è un sistema con memoria: l'uscita dipende anche da quello che è successo prima. Non basta il valore di adesso: conta la storia dei segnali di ingresso e uscita, cioè di grandezze che cambiano nel tempo. Un motore elettrico continua a girare per un po' anche dopo che la tensione è tornata a zero.

  • Un modello descrive come un sistema trasforma ingressi in uscite; può essere white, gray o black box.
  • Costruirlo dai dati è un problema di stima: rendere piccolo l'errore tra uscite misurate e simulate.
  • I sistemi dinamici hanno memoria: l'uscita dipende anche dal passato.