Utilizzo stimatore minimi quadrati

annuncio pubblicitario
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
Utilizzo stimatore minimi quadrati
1.
2.
Introduzione .............................................................................................................................................................. 2
Serie di dati ............................................................................................................................................................... 3
2.1.
Serie di dati variabili nel tempo....................................................................................................................... 5
2.2.
Conoscere cosa si studia .................................................................................................................................. 6
3.
Lo stimatore ai minimi quadrati ................................................................................................................................ 7
4.
Applicazione pratica.................................................................................................................................................. 9
4.1.
Procedimento ................................................................................................................................................... 9
1 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
1. Introduzione
Penso che tutti nella vita si siano trovati di fronte ad un problema di stima – inteso nel senso matematico ☺, ossia
nel trovare un parametro o una serie di parametri che meglio approssimi una serie di dati -. In particolare, penso,
che chiunque si occupi di progettazione e/o manutenzione si sia imbattuto in problemi relativi allo stimare:
•
•
•
parametri
misure
una serie di dati estrapolandone informazioni
Per tutti i problemi di stima – sempre intesa (☺) come ricerca di parametri che meglio approssimano una serie di
dati - vi è una disciplina matematica chiamata STATISTICA, che si occupa – appunto - di fornire strumenti
matematici per trattare ed strapolare informazioni da serie numeriche.
Questo documento non si pone come un manuale di argomenti di STATISTICA – vi sono trattati scritti molto bene
e molto chiari alcuni dei quali reperibili sul WEB -, ma intende mostrare alcune semplici tecniche che potrebbero
essere di aiuto a chi ne ha la necessità di estrapolare semplici informazioni su serie numeriche.
In questo documento il termine serie numerica viene intesa come una serie di successive rilevazioni di grandezze
e/o misure. Quindi una serie numerica potrebbe essere la rilevazione di un spazio percorso per unità di tempo,
oppure il volume contenuto in un recipiente. Questo documento è inteso come semplice applicazione di metodi
matematici senza alcuna presunzione di dare completezza agli strumenti forniti.
Per la lettura di questo documento è solo necessario possedere semplici nozioni sul calcolo matriciale e la
familiarità con strumenti software per applicazioni matematiche – oppure pazienza e l’utilizzo di carta e penna ☺ -.
Gli argomenti trattati nascono dall’esperienza dell’autore. L’autore NON può
in alcun modo essere responsabile di false citazioni o errori presenti in
questo documento. L’autore NON può in alcun modo essere responsabile di
danni a cose e/o persone derivanti dalla lettura di questo documento.
Il seguente materiale è a carattere gratuito solo per fini personali.
Il documento, senza esplicito consenso dell’autore, non può essere
modificato o utilizzato (anche solo in parte) per fini diversi dalla lettura
personale.
Un feedback della lettura sarà sempre apprezzato, anche solo per
soddisfazione che il materiale possa essere utile a qualcuno ☺,
accetteranno ancor più volentieri consigli a carattere costruttivo
“correttivo” ☺).
2 - 10
Utilizzo stimatore minimi quadrati
la
si
(e
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
2. Serie di dati
Come accennato nel primo paragrafo, per questo documento, una serie di dati è una serie di rilevazioni e/o misure
provenienti da una grandezza osservata.
L’esempio più semplice relativo ad una serie di rilevazioni è la misura di una quantità fisica (es: lunghezza di una
barra metallica in mm, oppure la reattanza di un induttore, la resistività di una bassa metallica, …) tramite uno
strumento. Eseguendo N misure sulla stessa grandezza con lo stesso strumento, sicuramente si avranno N valori
molto simili, ma che potranno variare secondo determinate leggi. Il motivo che si ottengono N rilevazioni simili,
ma non uguali è dovuto alla presenza di disturbi che interferiscono con la lettura (ad esempio un comparatore a
contatto può risentire di vibrazioni presenti nel sostegno del pezzo, un misuratore laser può risentire disturbi
sull’elettronica, “l’occhio” dell’operatore sul micrometro non è infallibile ☺, …). In questo specifico caso, si può –
con buona precisione – ritenere che il valore vero della grandezza misurata sia il valore medio dei valori rilevati.
In figura 1 viene presentato un esempio di 100 rilevazioni soggette a disturbi di una ipotetica misura di valore vero
pari 5.
- Valore vero (blue) e valore misurato (Red) 5.15
5.10
5.05
5.00
4.95
4.90
4.85
0
10
20
30
40
50
60
70
80
90
100
Fig. 1 – Esempio di rilevazioni di una grandezza costante, ma che a causa di disturbi presenta variazione di
misura.
Per l’esempio di figura – dove il disturbo è molto ampio -, il valore medio è pari a 5.011 quindi approssima il
valore vero di 5.000 teorico con un errore di 0.011 untà. Utilizzando alcuni strumenti statistici è possibile anche
cercare il livello di confidenza della media calcolata rispetto al valore teorico, e qui entra in gioco la varianza che
per l’esempio sopra esposto vale 0.0079. Quindi la nostra serie di 100 punti può essere descritta da una coppia di
numeri: media e varianza (µ,σ2) che per l’esempio saranno (5.011, 0.0079), in ogni caso la coppia di numeri
contiene l’informazione globale delle 100 misure – cioè contiene effettivamente il valore cercato con il grado di
confidenza del valore stesso rispetto al valore vero -.
3 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
Ricapitolando, quindi, gli strumenti matematici che la statistica ci mette a disposizione per cercare informazioni su
misure di una grandezza “fissa” sono la media e la varianza (o in alternativa la deviazione standard). Sotto –
sperando di non offendere nessuno ricapitoliamo le formule da adottare -.
µ = media
σ 2 = varianza
µ=
1
N
σ2 =
N
∑x
i =1
i
1 N
( xi −µ ) 2
∑
N − 1 i =1
Quanto proposto, credo sia bagaglio culturale di molti – probabilmente studiato e mai applicato –, ma ritengo utile
ripresentarlo (certo non in modo rigoroso e preciso) perché a volte la semplicità di questo metodo porta a buoni
risultati di misura.
Il metodo proposto però può essere applicato solo a certi tipi di problematiche, ma non può essere utilizzato per
grandezze variabili nel tempo per ovvi motivi!
4 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
2.1. Serie di dati variabili nel tempo
Purtroppo (o per fortuna – dipende dai punti di vista –) si ha a che fare molto spesso con serie di dati che
rappresentano grandezze che variano nel tempo, e di questi è necessario stimare un andamento o una legge
che possa descrive i valori in modo compatto.
In figura 2 si presenta il grafico di una possibile serie di valori a cui sarebbe necessario stimarne l’andamento
o estrarne la legge che li determina.
- Grandezza variabile nel tempo. (Blue) Valore rilevato, (Red) Valore teorico 12
10
8
6
4
2
0
-2
0
10
20
30
40
50
60
70
80
90
100
Fig. 2 – esempio di rilevazione di grandezza variabile nel tempo
Come risulta evidente dal grafico, il problema di stima presentato richiede di stabilire una legge matematica
su come la grandezza varia, quindi descriverne il modello matematico che più si adatta. In definitiva, rispetto
a prima, il problema quindi non è più trovare il valore vero della misura – cioè trovare un singolo valore con il
suo grado di confidenza-, ma di valutare una legge di variazione della grandezza stessa.
Osservando il grafico si può ritenere con buona probabilità che l’andamento teorico sia una retta, e in qualche
modo si può trovare i coefficienti che descrive la retta che meglio approssima la serie rilevata.
5 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
2.2. Conoscere cosa si studia
Eseguire una rilevazione di dati senza sapere a priori cosa si rileva è un errore! È necessario, quando si studia
una serie di dati, avere una idea – anche semplice o approssimata – di come la grandezza varia, questo perché
aiuta non solo a condurre la misura in modo corretto, ma semplifica la vita nel ricercare uno stimatore valido.
In figura 3 si vuole dare una idea di cosa significa rilevare una grandezza senza saperne l’andamento contro il
metodo opposto di rilevare una grandezza conoscendone l’andamento – penso che la figura renda l’idea -.
Cercare uno stimatore significa quindi conoscere a priori l’andamento teorico e solo successivamente eseguire
la rilevazione dei dati, quindi studiarne le proprietà e gli andamenti o trend!
- Grandezza rilevata di cui non si conosce il trend 1.2
1.0
0.8
0.6
0.4
0.2
0.0
-0.2
0
10
20
30
40
50
60
70
80
90
100
90
100
- Grandezza rilevata (Red) e relativo tred teorico (Blue) 1.2
1.0
0.8
0.6
0.4
0.2
0.0
-0.2
0
10
20
30
40
50
60
70
80
Fig. 3 – Grandezze rilevata e grandezza rilevata con relativo trend teorico
6 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
3. Lo stimatore ai minimi quadrati
Lo stimatore ai minimi quadrati fu introdotto da uno dei più grandi matematici – GAUSS – per stimare parametri
su alcune osservazioni astronomiche – per fortuna si adatta anche ad altri impieghi -!
L’idea su cui si basa lo stimatore è talmente semplice, geniale e – grazie ai calcolatori oggi disponibili – veloce da
implementare e utilizzare. In pratica, il metodo si basa su minimizzare la distanza tra i punti misurati e i punti
teorici conoscendone a priori l’andamento.
Matematicamente si può vedere il problema nel modo seguente:
∴
x : grandezza vera
D : disturbo
∧
x : grandezza stimata
x : grandezza rilevata
∴
x n = x n + Dn
rappresentazione della grandezza rilevata
quello che si cerca è di minimizzare la seguente funzione
2
∧ ∴
 ∧  x≈ x
2
min( x − x  ) → min((D ) )


∧
Quello che è stato scritto significa che si cerca una funzione x tale che minimizzi la funzione costo (D[n])
(disturbo al quadrato). Senza entrare in troppi particolari – inutili ai fini pratici – si presenta (qui sotto) lo strumento
matematico che consente di calcolare lo stimatore.
2
x[n] = G[n] * θ + D[n] rappresentazione del segnale letto
)
θ = (G T * G ) −1 * G * x Stimatore calcolato ai minimi quadrati
Ossia, conoscendone a priori la legge di variazione della grandezza misurata, è possibile calcolare la “funzione”
che meglio approssima l’andamento della serie misurata, tale che minimizzi (secondo la funzione costo prima
descritta) l’errore tra la grandezza rilevata e stimata.
Per esempio, ipotizando un andamento lineare (una retta) si può costruire la funzione G come sotto indicato
G n = [t n 1]
) α 
θ =  ;
β 
)
α 
x̂ n = G n ⋅ θ = [t n 1] ⋅   Rappresentazione della stima come funzione x̂ n = α ⋅ t n + β
β 
Il metodo indicato – disponendo di applicativi tipo CAS (Computer Algebra System) – è relativamente semplice da
utilizzare/implementare. Va solo notato che è necessario eseguire alcuni calcoli “sensibili” (uno dei quali è
l’inversa di una matrice) dove l’implementazione su architetture non dotate di “CAS” richiede attenzione a non
entrare in errori di approssimazione – qui però, si entra in un ambito non preso in considerazione in questo
documento, solo per curiosità si può accennare che in presenza di matrici “sparse” il metodo di calcolo dell’inversa
7 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
può provocare errori grossolano richiedendo nozioni di matematica superiore per scomporre la matrice in più parti
e quindi semplificare la ricerca della soluzione-.
La parte più complessa nell’utilizzo del metodo è ricercare la G[n], il restante compito è puro algoritmo! La piccola
presentazione teorica era doverosa, può non essere chiara a priori ma nel prossimo paragrafo si cercherà di
presentare il metodo risolutivo nel modo più dettagliato e semplice possibile.
8 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
4. Applicazione pratica
L’applicazione pratica dello stimatore necessita di calcoli matriciali – le matrici sono ottimi strumenti matematici
per rappresentare serie di dati, hanno molte caratteristiche positive per il trattamento appunto dati. La loro
notazione inoltre consente di scrivere in poche righe pesanti e complessi calcoli -. Per fare questo in modo semplice
è opportuno utilizza programmi specifici spesso chiamati “CAS” (Computer Algebra System). Di “CAS” ne
esistono parecchi, sia proprietari o a licenza libera. Ciascuno può utilizzare quello che crede e/o preferisce o
dispone, in quanto il metodo risolutivo è generico e facilmente implementabile su qualunque “CAS”! Per tale
motivo, non si farà riferimento ad una architettura particolare di “CAS”, ma si cercherà di trattare il problema in
modo simbolico e più generico possibile – va precisato del resto che i “CAS” non sono appannaggio solo di
personal computer, ma esistono in commercio anche ottimi Calcolatori (non a caso ho scritto Calcolatori con la C
maiuscola ☺) che dispongono al loro interno piccoli “CAS”. Nel web è presente una miriade di esempi. -.
4.1. Procedimento
Come primo problema possiamo immaginare di dover costruire uno stimatore che meglio approssimi un
andamento lineare. Per esempio possiamo immaginare di dover rilevare lo spazio percorso da una vettura che
procede a velocità costante. Ciò che abbiamo quindi si riassume come:
•
•
•
Ipotesi
Valutare
Rilevazione
Vettura a velocità costante
A che velocità procede la vettura
Spazio percorso dalla vettura
Il problema consiste quindi di stimare un parametro (la velocità) misurando una grandezza che non è
direttamente collegata (lo spazio si misura in metri e la velocità in metri al secondo ) con il parametro stesso.
Prima di tutto dobbiamo valutare la legge che lega lo spazio alla velocità!
t n = 0,1,2, L, N
V = cos tan te
∂
(S ) = V → S n = V * t n + s0
∂t
Ciò che abbiamo scritto è che lo spazio è una funzione della velocità, e che la relazione tra spazio e velocità è
lineare secondo la legge descrittiva S n = V * t n + s 0 (la notazione discreta che utilizzo è dovuta al fatto che
la serie è discreta e il principio si basa appunto su rilevazioni discrete).
Ora che conosciamo l’ipotetico andamento della grandezza che andiamo a misurare, possiamo condurre le
rilevazioni. In figura 4 si presenta uno dei possibili andamenti che la serie di dati rilevati può assumere. In
questo esempio si presuppone che la rilevazione dei dati sia avvenuta a intervalli di tempo ben precisi. Questo
consente di semplificare enormemente il problema e i calcoli, ma ad ogni caso non toglie di generalità al
problema che andiamo ad analizzare.
L’andamento della curva, sebbene sia presente un disturbo, ha una tendenza a presentare un trend lineare, ossia
con buone probabilità la curva approssima una retta, rispettando quindi le ipotesi iniziali fatte che lo spazzio
sia funzione lineare di una velocità costante e del tempo. Inoltre, se l’andamento rilevato rispecchia
l’andamento teorico, si ha buone probabilità di aver condotto una misura corretta.
Ad ogni modo, noi ci prefiggiamo di trovare la legge che meglio approssima l’andamento della curva, in
secondo luogo quello che ci interessa è poter eliminare il “rumore” letto nella misura (il rumore in elettronica è
l’equivalente del disturbo), filtrando così il segnale cercato da elementi di disturbi e incertezze non voluti
sempre presenti quando si eseguono misurazioni.
9 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
- Valori rilevati della distanza campionndo a 0.1 secondi 10
9
8
7
6
5
4
0
10
20
30
40
50
60
70
80
90
100
Fig. 4 – Esempio di serie rilevata . I campioni sono rilevati a 0.1 secondi
Ora che disponiamo dei campioni rilevati, possiamo procedere a costruirci il nostro stimatore ai minimi
quadrati. I passi quindi sono i seguenti:
S n = V * t n + S 0 + Dn questa è quanto abbiamo misurato
1.
S n = [4.979 5.028 L 9.969]
V, S 0 sono le nostre incognite
lo stimatore cercato sarà quindi la coppia di numeri (V, S 0 ).
2.
Dobbiamo quindi costruirci una serie di matrici che modellizzano il nostro problema. Una possibile
V 
θ = 
S
 0
G n = [t n 1]
∧
V 
S n = Gn ⋅ θ = [t n 1] ⋅   = V ⋅ t n + S 0
S 0 
soluzione è la seguente:
1
 0
 0.1 1


G =  0.2 1


M
 M
0.1 ⋅ N 1
3.
Utilizzando un CAS, la soluzione cercata è molto semplice perché consiste nel chiedere al programma
di ricercare la soluzione che risolva il sistema lineare associato al problema. Il comando che – credo –
tutti i “CAS” riconoscono per fare questo si traduce in G \ S
10 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
Seguendo i precedenti 3 punti, abbiamo come soluzione lo stimatore cercato
0.497 
θ =
 che fornisce quindi
 5.01 
la seguente stima del segnale (figura 5).
- (Red) andamento stimato, (Blue) andamento rilevato 10
9
8
7
6
5
4
0
10
20
30
40
50
60
70
80
90
100
Fig. 5 – Stima e stima del segnale con lo stimatore trovato
La stima, come era ovvio aspettarci approssima tutti i punti con la retta che minimizza l’errore quadratico tra i
punti! È da chiederci ora quanto rispecchia la realtà? Ossia siamo sicuri che questo andamento è il migliore che
possiamo aspettarci? Per rispondere a questo si dovrebbe scomodare alcuni passaggi di statistica, noi per
semplificare il tutto e fare una trattazione pratica, possiamo confrontare lo stimatore trovato con l’effettivo
valore teorico, ottenendo quanto segue in Figura 6. Numericamente abbiamo che lo stimatore ha assunto il
valore θ
∴
0.497 
 0. 5
mentre il valore teorico è di θ = 
=

 . Le differenze non sono poi così grandi, e quello
 5.01 
5.0
che importa è che 100 valori li possiamo condensare in soli 2 numeri! Quello che la statistica, poi, ci dice è che
se il nostro campione fosse infinito lo stimatore convergerebbe a quello teorico! Quindi maggiori campioni
abbiamo, meglio lo stimatore approssima il valore vero.
Disponendo di un “CAS” i calcoli da eseguire sono estremamente semplici. Va inoltre notato che si è utilizzato
T
−1
l’operatore ‘\’ al posto del calcolo teorico (G * G ) * G * x ; il motivo è che dovendo effettuare una
inversa di una matrice, il calcolo diretto presenta problematiche per la particolare conformazione che la matrice
presenta. Se fosse necessario implementare questo con un linguaggio di programmazione in qui non è presente
un sistema “CAS” diventa una operazione complicata, in quanto si rende necessario scomporre la matrice per
evitare errori di calcolo – ma questo è un argomento che on trattiamo, dovendo scomodare nozioni un po’
pesanti e poco utili ai fini pratici -!
11 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
- (Red) andamento stimato, (Blue) andamento teorico 10.0
9.5
9.0
8.5
8.0
7.5
7.0
6.5
6.0
5.5
5.0
0
10
20
30
40
50
60
70
80
90
100
Fig. 6 – Confronto tra il valore stimato e quello teorico.
Da quanto esposto, risulta evidente come la conoscenza teorica del trend della rilevazione effettuata sia
importante. Infatti, la costruzione del modello matematico è fatto principale per ricavare lo stimatore. È ovvio
che se si ipotizzasse uno stimatore non lineare, ma per esempio parabolico, si potrebbe procedere nello stesso
modo, variando solamente in minima parte il modello. Un esempio può essere il seguente:
η 
θ =  V 
S0 
[
G n = (t n )
∧
2
]
tn 1
[
S n = Gn ⋅ θ = (t n )
2
tn
a
2
1 ⋅  V  = η ⋅ (t n ) + V ⋅ t n + S 0
S0 
]
0 1
 0
 0.01 0.1 1


G =  0.04 0.2 1


M M
 M
98.01 9.9 1
12 - 10
Utilizzo stimatore minimi quadrati
Federico Milan
Cittadella
(PD) Italy
e-mail
e-mail
[email protected]
[email protected]
0.0000577 


E lo stimatore ottenuto sarà per ciò θ = 0.4968882 . Per l’esempio riportato l’errore ottenuto tra uno stimatore


5.0149399 
lineare e uno parabolico è minimo, ma risulta chiaro che per una ampia gamma di problemi reali questo può portare
a grossissimi problemi. I metodi presentati consentono di verificare questo di persona ☺!
13 - 10
Utilizzo stimatore minimi quadrati
Scarica