Statistical learning Strumenti quantitativi per la gestione Emanuele Taufer Vendite Simbologia Reddito Statistical learning A cosa ci serve f? 1 Previsione 2 Inferenza Previsione Errore riducibile e errore irriducibile Inferenza Esempi Come stimare f una panoramica Metodi parametrici Metodi non parametrici Esempio: Income data 2.3 Vera f 2.4 Modello lineare 2.5 Thin plate spline basso adattamento 2.6 Thin plate spline alto adattamento Trade off flessibilità interpretabilità Supervised e unsupervised Statistical Learning Problemi di regressione e di classificazione Valutazione della bontà del modello Test MSE e training MSE Esempio 1: f non lineare Esempio 2: f lineare Esempio 3: f non lineare Bias Variance trade off Scomposizione Bias Var Esempi 1,2,3 Classificazione Tasso di errore training e test Il classificatore di Bayes Classificatore KNN Esempio K=3 Esempio 1 Esempio 1 Error rates Riferimenti bibliografici Vendite file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 1/19
Supponiamo di voler capire come migliorare le vendite di un determinato prodotto. Il Set di dati Advertising consiste nelle vendite del prodotto in 200 diversi mercati, insieme ai budget pubblicitari per il prodotto in ciascuno di quei mercati per tre diversi media: TV, radio, e giornali. Non è possibile aumentare direttamente le vendite del prodotto. D altra parte, si può controllare la pubblicità in ciascuno dei tre media. Pertanto, se stabiliamo che vi è un associazione tra pubblicità e vendite, allora possiamo agire sul budget pubblicitario, e quindi, indirettamente sulle vendite. In altre parole, l obiettivo è quello di sviluppare un modello accurato utilizzabile per prevedere le vendite sulla base dei budget per i tre media. Tre regressioni separate (linea blu) Vendite su pubblicità TV, Radio e Giornali Possiamo prevedere le vendite utilizzando questi tre? Forse possiamo fare meglio utilizzando un modello Simbologia Vendite f(tv, Radio, Giornali) Nell esempio, Vendite è la variabile risposta o dipendente o obbiettivo che desideriamo prevedere. Genericamente indicata con Y. TV è una variabile indipendente o input o predittore. Chiamiamola X 1. Analogamente definiamo Radio come X 2 e così via. Possiamo fare riferimento genericamente al vettore input X = ( X 1, X 2, X 3 ) T A questo punto possiamo riscrivere il nostro modello come Y = f(x) + ε file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 2/19
dove ε è un termine d errore casuale, che è indipendente da X e ha media zero. In questa formulazione f rappresenta l informazione sistematica che X fornisce su Y. Reddito Y = f(x) + ε Come altro esempio, si consideri la relazione tra reddito e anni di educazione per 30 persone nel set di dati sul reddito (income). Il grafico suggerisce che si potrebbe essere in grado di prevedere il reddito con gli anni di educazione. Tuttavia, la funzione f che collega la variabile input alla variabile output è sconosciuta in generale. In questa situazione si deve stimare f basandosi sui punti osservati. Statistical learning In sostanza, il termine Statistical learning si riferisce ad una serie di approcci per la stima di f. In questa prima lezione si delineano alcuni dei principali concetti teorici che si presentano nella stima di f, nonché gli strumenti per valutare la bontà delle stime ottenute. A cosa ci serve? Due ragioni principali 1 Previsione f file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 3/19
Con una buona f possiamo fare previsioni di Y in base a nuovi punti X = x 2 Inferenza Possiamo capire quali componenti di X 1 X 2 X p sono importanti per spiegare Y, e quali sono irrilevanti. Ad esempio Anzianità e Anni di Educazione hanno un grande impatto sul reddito, ma Stato civile di solito no. A seconda della complessità di f, potremmo essere in grado di capire come ogni componente di X agisce su Y. Previsione In molte situazioni, un insieme di input X è prontamente disponibile, ma l output Y non può essere facilmente ottenuto. In questa situazione, siamo in grado di prevedere Y con dove rappresenta la nostra stima per, e rappresenta la previsione risultante per. In questo approccio, è spesso trattato come una scatola nera, nel senso che, tipicamente, non ci interessa la forma esatta di, purché fornisca previsioni accurate per Y. Errore riducibile e errore irriducibile L accuratezza di come previsione per Y dipende da due quantità; l errore riducibile e l errore irriducibile. Errore riducibile generalmente X = (,,, ) Y^ = (X) f Y^ Y Y^ non è una stima perfetta per f, e questo introduce qualche errore. Questo errore è riducibile perché possiamo potenzialmente migliorare l accuratezza di utilizzando tecniche via via migliori di Statistical learning per stimare f. Errore irriducibile Y è anche una funzione di ε che, per definizione, non può essere previsto con X. la variabilità associato a ε influisce sull accuratezza delle nostre previsioni. ε può contenere variabili non misurate che sono utili nel predire Y : ε può contenere variazione intrinseca al fenomeno. X Y^ = (X) Si consideri una data stima e un insieme di predittori, che producono la previsione. Supponiamo per un momento che sia f che X siano fissi. Si ha E(Y Y^) 2 = E[f(X) + ε (X)] 2 = [f(x) (X)] 2 + errore riducibile V ar(ε) errore irriducibile E(Y ^ 2 file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 4/19
rappresenta la media, o valore atteso, del quadrato della differenza tra il valore previsto e effettivo di Y, V ar(ε) la varianza associata all errore ε.questo valore è quasi sempre sconosciuto in pratica. Inferenza In questo caso è importante capire la relazione tra X e Y, o più specificamente, comprendere come Y cambia in funzione di X 1,, Xp. Quali fattori predittivi sono associati con la risposta? È spesso il caso che solo una piccola frazione dei predittori disponibili siano sostanzialmente associati a Y. Identificare i pochi predittori importanti può essere estremamente utile. Qual è la relazione tra la risposta e ogni predittore? Alcuni predittori possono avere un rapporto positivo con Y, nel senso che aumentando il predittore aumenta anche Y. Altri predittori possono avere una relazione opposta. Il rapporto tra la risposta e un dato predittore può dipendere anche i valori degli altri predittori. Il rapporto tra Y e X è lineare? O è più complicato? Storicamente, la maggior parte dei metodi per stimare f hanno preso forma lineare. In alcune situazioni, tale ipotesi è ragionevole o auspicabile. Ma spesso il vero rapporto è più complicato. Esempi Si consideri una società che è interessata a condurre una campagna di direct marketing. L obiettivo è quello di identificare le persone che risponderanno positivamente a una mail, sulla base di osservazioni di variabili demografiche misurata su ogni singola unità. Si consideri il problema relativo al set di dati Advertising che consiste nelle vendite del prodotto in 200 diversi mercati, insieme con budget pubblicitari per il prodotto in ciascuno di quei mercati per tre diversi media: TV, radio, e giornali. In un contesto immobiliare, si può cercare di legare il valore delle case per input quali il tasso di criminalità, la zonizzazione, la distanza da un fiume, la qualità dell aria, presenza di scuole, livello di reddito della comunità, le dimensioni delle case, e così via. In alternativa, si può semplicemente essere interessati a predire il valore di una casa date le sue caratteristiche Come stimare Simbologia E(Y Y^) 2 f una panoramica Abbiamo a disposizione una serie di casi, i dati osservati, che useremo per stimare f. Indicheremo sempre con n il numero di unità osservate. I dati usati per stimare f vengono definiti training data. x ij rappresenta il valore del predittore j, o input, per l osservazione i, dove i = 1, 2,, n j = 1, 2,, p. e file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 5/19
Corrispondentemente, I cd training data sono dunque rappresenta la variabile di risposta per l osservazione i esima. Vogliamo trovare una funzione tale che per ogni osservazione. In linea di massima, la maggior parte dei metodi di statistical learning possono essere classificati in parametrici nonparametrici Metodi parametrici I metodi parametrici implicano un approccio in due fasi: y i {( x 1, y 1 ), ( x 2, y 2 ),, ( x n, y n )}, dove x i = ( x i1, x i2,, x ip ) T Y (X) (X, Y ) 1. In primo luogo, si fa una supposizione circa la forma funzionale, o la forma di f. 2. Dopo aver selezionato un modello ( f ), abbiamo bisogno di una procedura di stima di f che utilizza i training data. Per esempio, una semplice ipotesi è che f sia lineare in X: f(x) = + + + +. β 0 β 1 X 1 β 2 X 2 β p X p in questo caso il problema della stima di f è notevolmente semplificato. Uno deve solo stimare p + 1 coefficienti β 0, β 1,, β p. Anche se non è quasi mai corretto, un modello lineare è spesso una buona, ed interpretabile, approssimazione a. f(x) Il potenziale svantaggio di un approccio parametrico è che il modello che scegliamo di solito non corrisponde alla vera f. Se il modello scelto è troppo lontano da f, allora la nostra stima sarà povera (o fuorviante). Possiamo cercare di risolvere questo problema scegliendo modelli flessibili che possono adattarsi a diverse forme funzionali possibili per f. In generale, adattando un modello più flessibile richiede la stima di un maggior numero di parametri. Modelli troppo complessi possono portare ad un fenomeno noto come overfitting dei dati. In sostanza il modello segue gli errori, o rumore, troppo da vicino. Metodi non parametrici I metodi non parametrici non fanno ipotesi esplicite circa la forma funzionale di f. Invece cercano una stima di f che sia il più vicino possibile ai punti dati Tali approcci possono avere un grande vantaggio rispetto agli approcci parametrici: evitando l assunzione di una forma funzionale particolare f, hanno il potenziale per adattarsi con precisione una gamma più ampia di possibili forme per f. file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 6/19
Ma gli approcci non parametrici soffrono di un inconveniente: poiché non riducono il problema della stima di f a quello di un piccolo numero di parametri ( p + 1) di solito un numero di osservazioni ( n) elevato è richiesto per ottenere una stima accurata di f. Esempio: Income data Nei grafici seguenti, proviamo a confrontare diverse soluzioni di stima di f per il problema I grafici 2.3 2.6 seguenti mostrano: Income = f(years of education, Seniority) la vera f sottostante ai dati (generati al computer) il modello parametrico un modello thin plate spline (non parametrico) con basso grado di adattamento con elevato grado di adattamento 2.3 Vera f income + education + seniority. β 0 β 1 β 2 file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 7/19
2.4 Modello lineare 2.5 Thin plate spline basso adattamento file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 8/19
2.6 Thin plate spline alto adattamento file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 9/19
Trade off flessibilità interpretabilità Tra i molti metodi disponibili, alcuni sono meno flessibili, o più restrittivi, nel senso che possono produrre solo relativamente piccola gamma di forme per stimare f. Se siamo interessati all inferenza, modelli restrittivi sono più interpretabili Se siamo interessati alla previsione la precisione del modello diventa fondamentale Supervised e unsupervised Statistical Learning Molti problemi di Statistical learning rientrano in una delle due categorie: supervised e unsupervised. Nel Supervised learning abbiamo sia variabili input ( X) che output ( Y ). regressione lineare, regressione logistica, modelli additivi generalizzati, etc. Nell unsupervised learning, tipicamente, non è osservata la variabile risposta Y. cluster analysis: ad esempio raggruppare consumatori in base a caratteristiche demografiche osservate sperando che queste possano essere associate ad abitudini di consumo. Problemi di regressione e di classificazione Le variabili possono essere caratterizzate come file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 10/19
Quantitative (misurate su scala numerica) Qualitative (Classificano l unità in una di K classi differenti) Tipicamente se la Y è quantitativa si parla di regressione Se la Y è qualitativa si parla di classificazione In entrambi i casi possiamo avere variabili input, X, sia di tipo qualitativo che quantitativo. Valutazione della bontà del modello Una delle misure più usate per la valutazione dei modelli è l errore quadratico medio o MSE (mean squared error) nell acronimo inglese: n 1 MSE = ( y i ( x i )) 2 ( x i ) n i=1 L MSE sarà piccolo se i valori previsti, sono molto vicini ai valori osservati ; viceversa tenderà a crescere tanto più sono le differenze previsti osservati che differiscono sostanzialmente. y i L MSE definito sopra è calcolato utilizzando i training data Tuttavia, si è più interessati alla precisione delle predizioni che otteniamo quando applichiamo dati nuovi, i cd test data. a Test MSE e training MSE {(, ), (, ),, (, )} Dati i training data x 1 y 1 x 2 y 2 x n y n modello con training MSE molto basso. può essere relativamente semplice trovare un ( x 0 ) y 0 (, ) Invece, vogliamo sapere se è approssimativamente uguale a, dove x 0 y 0 è un osservazione nuova, non presente nei training data. Vogliamo scegliere il metodo che dà un test MSE molto basso. Se abbiamo un gran numero di osservazioni test, potremmo calcolare Ave( y 0 ( x 0 )) 2, dove Ave sta per media (average). Ossia l errore quadratico medio di previsione per le osservazioni test ( X 0, Y 0 ). In altre parole, vorremmo selezionare il modello per il quale, il test MSE sia il più piccolo possibile. Tipicamente test MSE e training MSE possono differire sostanzialmente. Se uno ha a disposizione due set di dati, training e test può provare ad adattare diversi modelli ai training data e scegliere quello che presenta test MSE più basso. Se questo non è il caso si può ricorrere ad altre tecniche, ad esempio la cross validazione, che discuteremo nelle prossime lezioni. Esempio 1: f non lineare file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 11/19
La figura sopra mostra: A sinistra: i dati simulati da f (in nero) e tre possibili stime: regressione lineare (arancio); smoothing splines (blu e verde) A destra: test MSE (rosso) e training MSE (grigio) La flessibilità è misurata in termini di parametri (più parametri più flessibilità) la regressione lineare in questo caso ha due parametri (intercetta e pendenza) L andamento a U del test MSE è molto tipico e mostra che un overfitting dei dati è spesso fuorviante Esempio 2: f lineare file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 12/19
Esempio 3: f non lineare Bias Variance trade off file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 13/19
La forma a U osservata nel Test MSE è il risultato di due caratteristiche, spesso in contrasto tra loro, delle tecniche di statistical learning: la varianza ed il bias ( o distorsione) Il valore atteso del test MSE può essere scritto V ar( )) E( y 0 ( x 0 )) 2 = V ar( ( x 0 )) + [Bias( ( x 0 ))] 2 + V ar(ε) misura il cambiamento atteso di data diverso. Diversi training data infatti ottengono diverse flessibilità del metodo di stima, maggiore è la variabilità di. Bias( ( x 0 )) = E( ( x 0 ) f( x 0 )) se la sua stima avviene attraverso un training. In generale, più elevata la si riferisce all errore introdotto approssimando un problema reale, che può essere estremamente complicato, con un modello semplice. Ad esempio, la regressione lineare presuppone che vi sia un rapporto lineare tra Y e X 1, X2,, X p. E improbabile che sia così in realtà e quindi l uso della regressione lineare indurrà distrosione nella stima di f Scomposizione Bias Var Esempi 1,2,3 Di regola, più è flessibile il metodo che si usa, più la varianza tenderà ad aumentare ed il bias a diminuire. Il tasso relativo di variazione di queste due quantità determina se il test MSE aumenta o diminuisce. Tuttavia, ad un certo punto, l aumento della flessibilità ha poco impatto sul bias, ma inizia ad aumentare significativamente la varianza. Quando questo accade il test MSE aumenta. Classificazione Molti dei concetti discussi finora, quale il bias variance trade off, valgono anche nel caso della classificazione con modifiche minime dovute al fatto che Y non è più numerica. f {( x 1, y 1 ),, ( x n, y n )},, Supponiamo di stimare sulla base dei training data, dove ora sono qualitative file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 14/19 ^ y 1 y n
L approccio più comune per quantificare la bontà della stima 1 n n i=1 I( ) y i y^i è il tasso di errore per i training data dove è la classe prevista per la esima unità da. y^i i I( ) y i y^i è un indicatore, ossia è uguale a 0 se y i = y^i, uguale a 1 se y i y^i La formula calcola la frazione di classificazioni scorrette. Tasso di errore training e test Analogamente a quanto discusso per il contesto della regressione, si è di solito più interessati alla performance di nel caso di unità non presenti nei training data Definiamo allora il tasso di errore test (test error rate) associato ad un set di osservazioni test del tipo ( x 0, y 0 ): Una buona è quella per cui il test error rate è il più basso possibile. Il classificatore di Bayes E possibile dimostrare che il test error rate definito sopra è minimo, in media, quando la procedura di classificazione è fatta usando una semplicissima regola che assegna l unità alla classe più probabile data l informazione dei predittori. Il classificatore di Bayes assegna l osservazione test, con predittore x 0, alla classe j, ( ), per la quale è massima. j = 1, 2, K P( = j X = ) Y 0 x 0 è una probabilità condizionata: la probabilità che Y = j data l informazione fornita da x 0. Il classificatore di Bayes produce il minor test error rate possibile, definito Bayes error rate. In pratica non riusciamo mai a calcolare il classificatore di Bayes poichè non c è informazione a sufficienza. Classificatore KNN Ave(I( )) y i y^i P(Y = j X = ) x 0 Dato un intero positivo K e un osservazione test x 0, il classificatore KNN ( K nearest neighbors) identifica i K punti più vicini a x 0, rappresentati da N 0. stima la probabilità condizionale per classe j come frazione di punti in N 0 la cui risposta è uguale a j: 1 P r(y = j X = ) = I( = j) file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 15/19 i 0
P r(y = j X = ) = I( = j) 1 x 0 K i N 0 y i Infine, KNN applica la regola di Bayes e classifica l osservazione test x 0 nella classe con il maggior probabilità. Esempio K=3 Esempio 1 file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 16/19
Esempio 1 file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 17/19
Error rates file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 18/19
Riferimenti bibliografici An Introduction to Statistical Learning, with applications in R" (Springer, 2013) Alcune delle figure in questa presentazione sono tratte dal testo con il permesso degli autori: G. James, D. Witten, T. Hastie e R. Tibshirani " file:///c:/users/emanuele.taufer/dropbox/3%20sqg/classes/2_statistical_learning.html 19/19