Rome University, La Sapienza
Chemistry Department
Rome, Italy, Europe
Dr. Giovanni Visco
Cenni di statistica di base. Calcoli di regressioni e correlazioni. novembre 2005
Corso di Laurea in
Scienze Applicate ai Beni Culturali ed alla Diagnostica per la loro Conservazione
previous slide, 16 next slide, 17b

Outliers, Leverage Points, Robust regressions

  Uno dei problemi della regressione con i minimi quadrati (tutte e tre!) e' che un punto non allineato, detto in inglese Leverage Point, puo' modificare di molto i valori dei parametri di regressione. Abbiamo tutti il malvezzo di pensare ad una sola regressione sul piano euclideo, facile da graficare e con un Punto Anomalo ben visibile. Se invece abbiamo una matrice di correlazione oppure una regressione multipla non e' cosi' facile trovare un punto anomalo.

  Vediamo tre possibili metodi per risolvere la regressione, metodo IUPAC della mediana, metodo Leave One Out, metodo Boostrap Analysis.

Leverage Points e Outliers sono diversi

  Si concettualmente sono diversi, ecco due possibili definizioni:

  1. Leverage Point, un punto non allineato con la retta di regressione (o comunque non allineato con la curva, la parabola, la conica, ecc. di regressione) che se incluso nel calcolo falsa i parametri fondamentali dell'equazione. Puo' essere un errore di battitura, un dato mal rilevato, una misura su uno dei valori X oppure Y mal posta. Quasi per definizione un leverage point e' posto agli estremi della curva.
  2. Outliers, una misura anomala cioe' non riconducibile alla distribuzione che descrive tutti gli altri dati. E' un concetto metrologico in cui una misura non ricadendo nella distribuzione segnala o un oggetto che non fa parte della categoria oppure una presenza diversa da investigare. Due o tre outliers potrebbero nascondere una nuova distribuzione (una nuova classe). Non ha legame con la regressione.
hippo-c
nuovo set di dati

  Prendiamo il set di dati usato in una slide precedente per la descrizione degli O.L.S. ed I.L.S.. Solo che chi ha trascritto i dati ha commesso un errore invertendo i valori 1.244 et 1.098. Un errore veniale che si potrebbe correggere riprendendo il quaderno di laboratorio e/o il piano di campionamento (avete tutto ben conservato, vero?). Solo che di questo errore bisogna prima accorgersene, come?

  NON E' un buon set di dati, da un lato e' buono perche' il punto anomalo e' possibile, d'altro canto e' un cattivo set se confrontato con quello di tanti libri che presentano dati cosi' lontani dalla regressione che quasi tutti i metodi danno un buon risultato. In fondo alla pagina c'e' qualche grafico con questi esempi.

Asse X 2.193 1.743 1.098 0.899 0.544 0.344 0.185 0.097 0.039 0.020 0.010
Asse Y 2.001 1.703 1.244 0.901 0.507 0.301 0.203 0.085 0.042 0.017 0.010
Point n. 1 2 3 4 5 6 7 8 9 10 11

  Utilizzando tutti i punti, 11 compreso quello in azzurro, si ottiene una regressione i cui parametri si possono calcolare con il file di Lotus gia' presentato o con i tools di Excel. Questa regressione e' numericamente valida ma ERRATA giacche' di certo e' una stima molto approssimata.

Constant 0.015 Std Err of Constant 0.030 X Coefficient (slope) 0.954 Std Err of X Coef. 0.031
r coefficent 0.990 Assess of Std Err of r coef. 0.033 Std Err of Y Estimate (mediane) 0.074 Std Err of X Estimate (mediane) 0.077
Variance of residuals 0.005 Number of observations 11 Degrees of freedom 9 Barycenter, X value 0.652

  Escludendo il punto in azzurro si ottiene una nuova regressione, con i dati mostrati qui sotto. Questa regressione seppur vera numericamente e' SOTTOSTIMATA in quanto e' calcolata con un punto in meno, il leverage point, sarebbe meglio calcolarla con un punto in previsione che sostituisca il dato anomalo. Pero' bisognerebbe aprire una discussione se e' piu' corretto rimuovere un dato o sostituirlo con la sua previsione (magari ne parleremo in un altro capitolo). E chi ci dice se l'errore e' sulla x o sulla y cosi' da poter calcolare il valore in previsione.

Constant 0.007 Std Err of Constant 0.016 X Coefficient (slope) 0.938 Std Err of X Coef. 0.017
r coefficent 0.997 Assess of Std Err of r coef. 0.018 Std Err of Y Estimate (mediane) 0.039 Std Err of X Estimate (mediane) 0.041
Variance of residuals 0.001 Number of observations 10 Degrees of freedom 8 Barycenter, X value 0.607
hippo-r
regressione robusta, la mediana [robust regression, by mediane]

  Leggendo la pagina 1009 del documento IUPAC citato piu' volte troviamo un metodo semplice ma discretamente efficace per stimare i veri parametri di regressione, proviamo a descriverlo in dettaglio.

  Per due punti passa una retta (ma anche un cerchio, una ...). Il nostro set di dati, qui sopra, e' composto da 11 misure, il metodo qui presentato prevede il calcolo di tutte le regressioni fra due punti qualsiasi. Con 11 punti dobbiamo provare tutte le combinazioni senza ripetizione di 2 punti. Per esempio date quattro lettere a, b, c, d, scriviamo tutte e 6 le coppie di due lettere senza ripetizione, ab, ac, ad, bc, bd, cd, la formula e' la seguente, per n oggetti divisi in gruppi da r oggetti senza ripetizione:

combinazioni

  Nel nostro caso 11!=39916800 , 9!=362880 , da cui si ottengono 55 possibili combinazioni. Ora bisogna calcolare tutte e 55 le equazioni per le rette composte da due soli punti. La formula per l'equazione di una retta passante per due punti NON e' una regressione ma e' comunque molto semplice, vediamola:

retta per 2 punti, sistema retta per 2 punti, slope retta per 2 punti, intercetta

  Sulla sinistra il sistema di due equazioni in due incognite, al centro una soluzione per trovare la pendenza della retta, sulla destra con una delle equazioni troviamo il termine noto. Con il foglio elettronico non e' difficile ma ci vuole un po' di tempo per impostare tutti i calcoli, ecco una tabella con i risultati. Se invece si dovessero calcolare i 496 valori dell'esempio dell'elettrodo al Cl-, con 32 punti x-y, sarebbe necessario un programma ad hoc.

points slope intercept points slope intercept points slope intercept points slope intercept points slope intercept
6-7 0.616 0.089 6-8 0.874 0.000 5-11 0.931 0.001 4-9 0.999 0.003 7-10 1.127 -0.006
1-2 0.662 0.549 6-10 0.877 -0.001 5-10 0.935 -0.002 2-6 1.002 -0.044 3-11 1.134 -0.001
1-3 0.691 0.485 8-10 0.883 -0.001 5-8 0.944 -0.007 4-11 1.002 -0.000 3-9 1.135 -0.002
10-11 0.700 0.003 1-7 0.895 0.037 2-4 0.950 0.047 4-10 1.006 -0.003 3-10 1.138 -0.006
2-3 0.712 0.463 1-5 0.906 0.014 2-7 0.963 0.025 4-8 1.017 -0.014 3-7 1.140 -0.008
8-9 0.741 0.013 1-9 0.909 0.007 2-9 0.975 0.004 5-6 1.030 -0.053 3-8 1.158 -0.027
5-7 0.847 0.046 1-11 0.912 0.001 2-11 0.977 0.000 4-6 1.081 -0.071 3-6 1.251 -0.129
6-9 0.849 0.009 1-10 0.913 -0.001 4-7 0.978 0.022 7-9 1.103 -0.001 9-10 1.316 -0.009
1-4 0.850 0.137 1-8 0.914 -0.004 2-10 0.979 -0.003 7-11 1.103 -0.001 3-5 1.330 -0.217
8-11 0.862 0.001 1-6 0.919 -0.015 2-8 0.983 -0.010 9-11 1.103 -0.001 7-8 1.341 -0.045
6-11 0.871 0.001 5-9 0.921 0.006 2-5 0.997 -0.036 4-5 1.110 -0.097 3-4 1.724 -0.649
slope (mediane value) 0.975 intercept (mediane value) -0.001  

  Nella tabella qui sopra tutti i possibili risultati delle 55 combinazioni di slope ed intercetta.

  La procedura per il calcolo della regressione robusta prevede ora il calcolo della mediana dei valori di b (lo slope) e la mediana del valori di a (l'intercetta). La retta di regressione e' come al solito y=a+bx. Per il calcolo degli errori su questa retta si rimanda alla bibliografia.

  Il metodo funziona bene con leverage point davvero anomalo in quanto la mediana e' molto meno sensibile della media aritmetica nel considerare il valore centrale di una distribuzione in presenza di una forte coda.

hippo-l
regressione robusta, meno-uno ed analisi dei residui [robust regression, by leave-one-out and residue analysis]

  Se c'e' un solo punto difettoso questa tecnica dovrebbe fornire buoni risultati. Si ripresenta sempre il problema di trovare uno stimatore della "bonta'" della regressione che ci permetta poi di decidere quale punto, escludendolo, migliora la regressione. Potete trovare questa statistica descritta, forse erroneamente, anche come JackKnife.

  Ancora una volta con il foglio elettronico predisponiamo i calcoli per escludere uno alla volta i punti e ricalcolare tutti i parametri. Al termine riuniremo tutto in una tabella.

regress robust leave1out
i parametri di regressione calcolati con il metodo leave one out

  Analizziamo con attenzione la tabella. Levando il punto 3 tutti i parametri migliorano. Il miglioramento di alcuni, come il coefficiente di correlazione ed il suo errore, ci porterebbe in questo caso a risultati buoni ma sappiamo che e' meglio diffidare di questi come stimatore. Tutti gli altri errori sono invece utilizzabili.

  Osserviamo i valori degli errori descritti come good. Per il punto 3 tutti questi parametri mostrano un valore di circa la meta' del massimo, un buon risultato confermato anche dai grafici qui sotto. Per la varianza dei residui, descritta come very good, il valore senza il punto 3 e' invece molto piu' piccolo del massimo ponendo ancora piu' in evidenza questo punto e confermando gli altri.

studio errori metodo L1Out studio errori metodo L1Out
andamento della deviazione standard della costante a andamento della deviazione standard dello slope b
studio errori metodo L1Out studio errori metodo L1Out
andamento della deviazione standard delle stime su X et Y andamento della varianza dei residui

  Il metodo funziona molto bene se si analizzano tutti i parametri. Possiamo vedere qualche problema su alcuni parametri per il punto 2 ma non su tutti. Anche il punto 1 e' da osservare ma continuiamo a tenerlo per estendere la risposta a basse concentrazioni.

hippo-c
regressione robusta, boostrap analysis [robust regression by boostrap analysis]

  Un metodo di indagine statistica piuttosto recente (se non sbaglio nata alla fine degli anni 70). In poche parole consiste nella definizione del nostro set di dati come "la popolazione" e nel campionamento Random Sampling With Replacement (gia' visto in molte slide precedenti) di questa popolazione.

  Si sceglie percio' casualmente un piccolo numero di coppie di punti, la dimensione del campione e' anche essa casuale intorno ad un valore prefissato, la novita' e' nell'enorme numero di campionamenti, alcuni autori iniziano da 200 altri parlano di 100.000.

  Nel caso in esame per 11 coppie di dati si potrebbe scegliere una dimensione del campione del 25%, cioe' 3 punti, selezionando percio' casualmente fra 2 e 4 coppie di dati. Pero' non si puo' certo parlare di regressione con due punti (e neanche con tre!), scegliamo almeno un numero fra 3 e 4. Ora un generatore di numeri casuali genera 5000 campionamenti (per esempio 4,2,9,11 e 7,4,1,7 e 6,3,10,2 e 6,7,9 e .....) si calcolano tutti i parametri e si producono le medie fra tutti i valori.

  Esistono varie metodi di Bootstrap, non mi sembra qui il caso di analizzarli nel dettaglio, di certo ci ritorneremo. L'idea di base e' sfruttare intensamente il set di dati, sperando nell'emersione di una relazione nascosta e nella soppressione dei dati anomali da parte del rumore.

  Un problema e' l'uso del foglio elettronico, senza programmazione delle macro o degli script non e' possibile far niente di tutto questo. Di certo, conoscendo a fondo gli algoritmi di calcolo, si puo' risolvere in Java o Phyton o meglio in Fortran o ancora nel magnifico APL.

hippo-r
regressione robusta, metodo di Theil, non parametrico [Incomplete Theil's Method for non-parametric robust regression]

  Questo parte e' ancora da scrivere, ma per ora ecco un link con una descrizione semplice e comprensibile, in greco! (Prof. C.E. Efstathiou)

previous slide next slide