













































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica su come valutare e ridurre l'overfitting nei modelli statistici, con un focus sui metodi di cross-validation e sulla regressione ridge e lasso. Il testo include una spiegazione dettagliata delle metriche utilizzate per valutare l'overfitting, come l'ase (average squared error), e delle tecniche di cross-validation come la hold-out method e la repeated cross-validation. Inoltre, vengono presentate le idee dietro la regressione ridge e lasso, due approcci per ridurre la dimensionalità dei parametri e migliorare la stabilità dei modelli.
Tipologia: Dispense
1 / 53
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!














































Problema : EPE dipende dalla varianza dell’errore 𝜀, che non possiamo stimare
→ decidiamo quindi di utilizzare l’ ASE (Average Squared Error) come stima di EPE
ASE è come EPE, ma viene stimato solo sulle osservazioni del dataset in uso (è semplicemente
la media dei residui al quadrato, come MSE) invece che su tutti i dataset possibili.
Strategie per gestire la complessità
Conosciamo già metodi per fare model selection, tramite subset e/o significatività con p-value.
In machine learning si utilizzano anche algoritmi che fanno naturalmente model selection (es.
tree, Random Forest, Boruta)
Regolarizzare significa ridurre le stime dei coefficienti, con una conseguente riduzione della
varianza e miglioramento della stabilità del modello. Alcuni coefficienti potrebbero ridursi
esattamente a zero, facendo naturalmente model selection (es. Lasso)
I metodi più utilizzati sono PCR (Principal Component Regression) e PLS (Partial Least
Squares). Possono essere usati per
Valutare la generalizzazione dei risultati
L’overfitting si ha quando l’errore di un modello o di un algoritmo continua a diminuire
drasticamente al crescere della complessità → il modello si adatta troppo ai dati disponibili,
che potrebbero avere anomalie dovute ad outliers/errori.
La procedura di previsione non è attendibile!!!
Condizioni necessarie per un modello adatto per classificazione/previsione:
a) Modello robusto su nuovi dati → no overfitting su dataset diverso da training
b) Modello che fitta/classifica bene
Se i dati utilizzati per stimare il modello vengono utilizzati anche per stimare le previsioni,
queste ultime saranno distorte (e di conseguenza le metriche associate), in quanto troppo
ottimistiche perché già utilizzate per la stima dei parametri/training del modello
È il processo di scelta della complessità appropriata del modello per generare previsioni
accurate, separando i dati usati per stimare il modello e quelli usati per effettuare previsioni
→ fasi di stima e di valutazione del modello
Un metodo tipicamente utilizzato è quello di dividere il dataset in training (fase di stima del
modello) e validation (fase di valutazione del modello).
In pratica, si valuta per ogni modello tunato l’ASE sul dataset di training e validation in modo
da valutare l’overfitting.
→se ASE aumenta nel dataset di validation quando la complessità aumenta, allora oltre quel
grado di complessità si ha overfitting
Può essere usato sia per target quantitativo che qualitativo
→misura performance predittiva
→è da minimizzare
𝑖
𝑖
2
𝑖
Abbiamo overfitting se
𝐴𝑆𝐸
𝑡𝑟𝑎𝑖𝑛
−𝐴𝑆𝐸
𝑣𝑎𝑙𝑖𝑑
𝐴𝑆𝐸
𝑡𝑟𝑎𝑖𝑛
10%, ovvero se l’ error rate è >10%
Si utilizza la matrice di confusione
Target previsto
Target osservato
Class=Yes Class=No
Class=Yes a c
Class=No b d
→possiamo calcolare, ad esempio, l’ accuracy , che misura la performance classificativa
(true positive+ true negative sul totale, ciò che è stato classificato correttamente)
Tecniche di model validation (valutazione overfitting)
È detto anche Holdout method
<1000/2000/3000) con:
o Cross-validation k fold
o Cross-validation Jackknife
Consiste nell’utilizzare un insieme di dati indipendenti dal training set come validation set per
stimare la performance del modello (quanto esso lavora bene su dati nuovi/overfitting).
Confronto ASE (target quantitativo) o errore di classificazione (target qualitativo) su dataset di
training e su dataset di validation.
𝑖
𝑖
( −𝑖
)
2
𝐶𝑉 1
𝑛
𝑖= 1
→ anche in questo caso 𝑦̂ 𝑒 𝑝̂ previsti sono indipendenti dai dati usati per stimare il modello
𝐶𝑉 1
è una misura robusta per valutare il modello one-shot. Faccio 𝐴𝑆𝐸
𝑇𝑅𝐴𝐼𝑁
𝐶𝑉 1
Cross validation risulta molto utile per tunare i modelli (scegliere i parametri che regolano la
complessità di un modello), in quanto uso le diverse partizioni come “validation” per il tuning
del modello, evitando di usare un validation set.
Potrei scegliere la complessità che, ad esempio, minimizza ASE crossvalidato o ASE Jackknife
senza avere a disposizione un dataset di validation
→ si confronta l’errore nel training e l’errore crossvalidato (es. ASE)
overfitting su dataset validation)
dati (fold) fornendo una visione più completa delle sue prestazioni rispetto ad un
singolo split dei dati → utile per training
Consiste nell’effettuare cross validation N volte, per poi calcolare la media degli errori
crossvalidati, così da ottenere una valutazione globale della performance del modello
Come data mining.
Si stima lo stesso modello R volte e si valutano le sue performance come media delle
performance degli R modelli. I validation sets sono ottenuti come complementare dei training
sets estratti casualmente
È il metodo più utilizzato per ottenere una performance robusta del modello in analisi.
Abbiamo tunato il modello mediante Bootstrap sul 63.2% dei dati, mentre il restante 36.8%
dei dati viene usato come dataset di validation → qui calcoliamo solo accuracy per modelli
Boot, il modello l’abbiamo già stimato!!!
L’accuracy di un modello M all’r-esima iterazione è pari a
𝑟
𝑣𝑎𝑙𝑖𝑑
Dove
𝑟
𝑣𝑎𝑙𝑖𝑑
è l’accuracy ottenuta applicando il modello M all’r-esimo training set e
trovando la relativa accuracy sul validation set (sotto ottimistica)
Terminate le R iterazioni, calcoliamo l’accuracy .632 Bootstrap nel seguente modo
𝑏𝑜𝑜𝑡
𝑟
𝑣𝑎𝑙𝑖𝑑
𝑅
𝑟= 1
→è un’accuracy media pesata in cui diamo più peso all’accuracy sul validation (pessimistica)
rispetto a quella sul campione Bootstrap (ottimistica) in modo da trovare un compromesso.
Modelli classificativi con target qualitativo
I modelli classificativi hanno due principali caratteristiche:
modello, a cui sono associati dei limiti decisionali ( decision boundaries )
metodologia utilizzata
Obiettivo : avere un classificatore che è in grado di separare le classi nel modo più preciso
possibile e che sia in grado di generalizzare il risultato su dataset diversi dal training
Tipi di pre-processing richiesti dai vari modelli:
H=alta resistenza HM=resistenza medio/alta ML=resistenza medio/bassa
M=resistenza media L=bassa resistenza
Decision boundary : lineare con covariate lineari, quadratica con covariate al quadrato/cubo
Parametri di tuning : coefficienti associati alle covariate
Decision theory: assunto 2
La logica principale della classificazione è basata sull’ approccio della funzione discriminante.
Ciò significa che per ogni osservazione x i
, scegliamo una classe 𝜔
𝑗
che massimizza (o
minimizza, in base alla funzione che scegliamo) una funzione 𝑔
𝑗
→ assegniamo x ad una classe 𝝎 𝒋
se 𝒈
𝒋
𝒕
Questa funzione discriminante non è solamente la funzione di probabilità, ma può essere
anche, ad esempio, la funzione di costo , soprattutto in ambito economico.
Essa restituisce un punteggio, non un valore di probabilità. Tale valore dovrà essere quindi
interpretato e contestualizzato.
→ fornisce una regola di discriminazione
Esempio:
abbiamo una regressione logistica con y=(0,1).
La regola basata sulla funzione discriminante (vista in data mining) è la seguente
𝑖
𝑻
𝒊
𝟎
→ chiamiamo la funzione 𝑔
𝑗
𝑖
𝑻
𝒊
𝟎
funzione discriminante, in quanto ci fornisce
una regola di classificazione
spazio di dimensione inferiore e che massimizzi la varianza
massimizza la discriminazione tra le classi in uno spazio di dimensione inferiore
→entrambe i metodi hanno delle funzioni discriminanti associate da massimizzare (in quanto
si tratta di distanze dal centroide)
Osservazione : diversi modelli di classificazione restituiscono un punteggio per ogni classe 𝜔 𝑗
che non è necessariamente una probabilità → sarà necessaria un’interpretazione
È una funzione utilizzata per trasformare un punteggio discriminatorio in valori simili a
probabilità ( quasi-probability ), in modo che possano essere interpretati come classi di
probabilità.
𝑖𝑗
𝑔
𝑖𝑗
𝑔
𝑖𝑗
𝐽
𝑗= 1
Dove g ij
è lo score dell’i-esima osservazione per il target di classe j e J è il numero totale delle
classi del target. Viene utilizzata nel modello logistico per calcolare le posteriors.
Decision theory assunto 3: Rappresentatività del dataset di lavoro
Le priors 𝝅 𝒋
definiscono la prevalenza del livello j del target nella popolazione, non nel
campione che si sta analizzando!!!
→se il dataset non è rappresentativo della popolazione, la stima dell’error rate è distorta.
→quindi le priors vanno stimate opportunamente da tutti i dati storici
Nel caso di eventi molto rari (tipicamente classe target con < 5 %), cioè la norma nei dataset di
machine learning, i modelli classificherebbero tutti le osservazioni come non rare , ottenendo
un’accuracy molto elevata, ma misclassificano gli eventi rari, che sono quelli che ci interessano
(es. cattivi creditori).
→con classi sbilanciate, nella cross-validation potrebbero esserci fold che non contengono
osservazioni per tutte le classi, generando separation/quasiseparation e creando problemi.
Si modifica il dataset di lavoro, bilanciando maggiormente i casi rari con i non rari. Come?
quota molto inferiore di casi non rari per bilanciare il campione tra le due modalità del
target
di eventi rari per bilanciare il campione con eventi non rari
Importante : dopo aver bilanciato il campione e aver stimato il modello è importante
correggere le priors , in modo che riflettano la reale composizione delle modalità del target
nella popolazione
→le proporzioni del campione e le proporzioni all’interno della popolazione possono essere
diverse
Passaggi da fare una volta bilanciato il dataset e aver stimato il modello :
a) Correggere la confusion matrix del modello stimato con le prior bilanciate, tornando
al vero valore delle prior. Anche le misure di classificazione (escluse sensitivity e
specificity, in quanto dipendono entrambe dalla stessa prior) e di costo cambiano
b) Devo correggere le posterior , utilizzando le prior corrette
c) Devo correggere gli Expected Profit (EPi) che si calcolano con le nuove posterior
adjusted
Per correggere la matrice di confusione correggo le prior associate ad ogni cella. Ottengo le
unadjusted priors p 0
*** e p 1**
→ ricordarsi di correggere anche accuracy ed error rate (usando sempre priors corrette)
Ora ricaviamo le adjusted posteriors come
1
𝑛𝑒𝑤
1
∗
1
1
0
∗
0
0
1
∗
1
1
0
𝑛𝑒𝑤
1
∗
0
0
0
∗
0
0
1
∗
1
1
Dove 𝜌
𝑡
=sample prior e 𝜋
𝑡
=true prior
𝐴
𝑎
∗
+𝑑
∗
𝑁
→Accuracy teorica
𝐴
𝐴
3) Misclassification Error/Error rate
𝑦𝑒𝑠
𝑛𝑜
4) Sensitivity (True Positive Rate TPR o Recall)
È una metrica che minimizza i falsi negativi (FN) e massimizza i true positive (TP)
5) Specificity (True Negative Rate TNR)
È una metrica che minimizza i falsi positivi (FP) e massimizza i true negative (TN)
→Sensitivity e Specificity non cambiano dopo il bilanciamento delle classi
→valgono solo per target binario
6) Precision
7) F1 statistic
È una metrica che misura l’accuratezza tenendo conto di Sensitivity e Precision
1
Tutte le misure classificative dipendono da:
𝑗
(tranne sensitivity e specificity)
Nella pratica : scelgo una metrica da massimizzare in base al contesto di lavoro, per ottenere
il miglior risultato possibile rispetto agli obiettivi del progetto.
Costi per misclassification
Non sempre è sufficiente valutare solo la performance classificativa, in quanto ad ogni
misclassification possono essere associati dei costi di cui bisogna tenere conto, soprattutto in
ambito economico → utile per capire quanto pesa la misclassification di un’osservazione
Possono esserci due tipi di costi per misclassification:
1
per classe reale 𝜔
2
(False Negative)
2
per classe reale 𝜔
1
(False Positive)
Possiamo calcolare l’ Expected Cost of Misclassification (ECM) , ovvero il costo atteso totale
1
2
Partiamo da un esempio per capire
Classe prevista
Credit risk monetary cost
Classe osservata
C(i|j) Good Bad
Good 1 1$ C(1/1) 0 C(2/1)
Bad 2 - 5$ C(1/2) 0 C(2/2)
→una banca ogni 5$ prestati ne guadagna 1 (non molto conveniente)
Non abbiamo profitti/costi se la banca prevede un cliente come Bad (se non da soldi non può
guadagnare, ma nemmeno perdere).
Se invece prevede un cliente in modo corretto ha profitto pari a 1$, ma se sbaglia a prevedere
(classifica un cliente Bad come Good) allora perde 5$ → voglio minimizzare questo caso e
massimizzare la previsione di buoni creditori
Come cambia la regola classificativa con costi e profitti?
x i
viene classificata come classe 1 se
𝑃(𝑦= 1 |𝑥)
𝑃(𝑦= 2 |𝑥)
[𝐶( 1 | 2 )−𝐶( 2 | 2 )]
[𝐶( 2 | 1 )−𝐶( 1 | 1 )]
→anche questa nuova regola minimizza il Bayes rate mediante criterio MAP
→restituisce quante volte la posterior relativa alla classe 1 dev’essere superiore alla posterior
relativa alla classe 2 per essere classificata come classe 1 (contorto ma si capisce, rileggi bene)
Esempio:
x i
viene classificata come “good” (y=1) se
𝑃(𝑦= 1 |𝑥)
𝑃(𝑦= 2 |𝑥)
[𝐶( 1 | 2 )−𝐶( 2 | 2 )]
[𝐶( 2 | 1 )−𝐶( 1 | 1 )]
cioè la posterior(good) dev’essere almeno 5 volte più grande della posterior(bad) (esempio)
Quando sono presenti eventi rari (es. >2 incidenti all’anno per compagnia assicurativa), è
necessario assegnare un costo alto alla loro misclassification , in quanto l’effetto che potrebbe
avere in termini di costi/profitti è elevato.
→in presenza di costi, i modelli dovrebbero avere la possibilità di essere tunati considerando
metriche che dipendono da costi di misclassificazione o profitti
Con profitti
Profit Target previsto
Target osservato
Class=Yes Class=No
Class=Yes 𝛿
𝑇𝑃
𝐹𝑁
Class=No 𝛿
𝐹𝑃
𝑇𝑁
Possiamo calcolare:
𝑇𝑃
𝐹𝑃
𝐹𝑁
𝑇𝑁
𝑝𝑟𝑜𝑓𝑖𝑡
La minimizzazione del costo totale o la massimizzazione del profitto totale diventano criteri di
model selection di un modello M.
Come cambia la decision boundary con la matrice di costi?
B1 regola classificativa con costi 𝛿
𝐹𝑁
𝐹𝑃
B2 regola classificativa con costi 𝛿 𝐹𝑁
𝐹𝑃
(se classifico un’osservazione come falsa negativa
il costo aumenta molto di più rispetto a classificare un’osservazione come falsa positiva)
B1: dentro cerchio blu classifico tutti come + fuori tutti come
→ci sono quattro + classificati come – che porterebbero ad un
alto costo totale atteso , in quanto FN ha un costo elevato
B2: dentro cerchio rosso classifico tutti come + fuori tutti come
→è la regola classificativa migliore, in quanto non
misclassifica mai + come – (FN, costo elevato), ma il contrario
(- come +, FP), che porterà ad avere un costo totale atteso
minore
La model selection si può vedere come individuazione del best subset che minimizza il costo
totale → dipenderà dalle covariate scelte per il modello (model selection)
EPi è una nuova metrica cambia la regola che ci permette di stabilire il valore del target
previsto
Essa indica i profitti attesi per ogni decisione/classificazione.
Esempio:
𝑖
1 𝑖
∗
𝑇𝑃
0 𝑖
∗
𝐹𝑃
𝑖
1 𝑖
∗
𝐹𝑁
0 𝑖
∗
𝑇𝑁
Un soggetto è classificato come “yes” se 𝐸𝑃 𝑖
𝑖
, ovvero per la classe con il
profitto atteso massimo.
La decisione di classificare un soggetto in base al profitto atteso massimo corrisponde ad una
precisa soglia per le posterior:
Bayesian optimal decision threshold (soglia da scegliere allo step 3)
→consiste nel trovare 𝑝 1 𝑖
∗
(posterior) che assicura di avere 𝐸𝑃
𝑖
𝑖
Se risolviamo la disequazione per 𝑝
1 𝑖
∗
otteniamo
1 𝑖
∗
𝑇𝑃
𝐹𝑁
𝑇𝑁
𝐹𝑃
→in questo modo tutti coloro che hanno una probabilità superiore a tale soglia hanno anche
𝑖
𝑖
( 0 ), pertanto verranno classificati come “1”.
Esempi su slides
Abbiamo visto che il criterio con cui si decide come classificare il target previsto si basa su
costi/profitti, in particolare sull’Expected Profit (EPi). Non si usano le posterior da sole.
Per valutare i modelli e confrontarli si usa l’ Average Computed Profit visto in precedenza
𝑝𝑟𝑜𝑓𝑖𝑡
𝑇𝑃
𝐹𝑃
𝐹𝑁
𝑇𝑁
→è il migliore strumento di confronto di modelli in presenza della matrice di costi/profitti
È un indicatore di bontà classificativa che può portare a conclusioni diverse da quelle fornite
delle misure di classificazione legate alle sole unità statistiche (accuracy, sensitivity, ecc.)
Le misure di classificazione con unità e costi/profitti sono applicabili anche a target categoriali
(non binari)
Avere costi/profitti o priors modifica la gran parte degli elementi di un processo di
classificazione.
In quali step il ruolo di costi/profitti è fondamentale?
In quali step il ruolo delle priors è fondamentale?
Step 2: assessment tra modelli
In questa fase vediamo come confrontare le performance classificative dei modelli.
Ricordiamo che l’ accuracy NON è una metrica di confronto modelli , in quanto dipende
fortemente della soglia stabilita per tunare il modello → se cambio soglia cambia anche
l’accuracy
Ci sono diversi metodi per il confronto di modelli, nessuno di essi dipende dalla soglia.
Vanno tutti applicati sul dataset di validation
Si calcola l’ Average Square Error sul dataset di validation (o crossvalidato per dataset piccoli)
e si vede quale modello lo rende minimo
𝑖
𝑖
2
𝑛
𝑖= 1
→misura la distanza media tra target previsto e target osservato, non dipende dalla soglia
È più un criterio di bontà di adattamento, non classificativo
→ se la ROC è la bisettrice il modello non discrimina
→ se la curva ROC coincide con l’asse y (sale subito), ho miglior classificazione
Per poter costruire la curva ROC è sufficiente avere il target osservato e le posterior, in modo
da riuscire a costruire la matrice di confusione → guardo per capire metriche complementari
La rapidità della crescita della curva ROC che misura la bontà classificativa si può
approssimare con l’area sottostante alla curva ROC (AUC). È una variabile compresa tra 0.
(modello non discriminante) e 1 (modello classifica perfettamente).
Interpretazione: indica la probabilità di un soggetto preso a caso dal dataset di essere
classificato correttamente.
Se effettuo il confronto tra modelli in questo modo non ho bisogno di correggere le posterior,
in quanto sensitivity e specificity non dipendono dalle priors (i coefficienti di correzione
applicati si semplificherebbero in ogni caso).
Ora che conosciamo questo metodo, dobbiamo fare assessment con AUC , non più con le
misure di bontà che si basano su soglie.
Nota bene : se troviamo modelli perfetti (AUC circa 1), spesso abbiamo incluso covariate che
in realtà sono variabili target. Vanno rimosse!!!
→ dobbiamo capire se ha senso mantenere in analisi la covariata più importante (in un albero,
ad esempio, crea nodi puri, è facile da individuare)
Fare attenzione anche a separation tra le classi delle covariate → se c’è, la variabile
discriminerà perfettamente i soggetti, ottenendo una curva ROC perfetta.
Talvolta possono esserci alcuni casi non chiari, in cui non capiamo quale modello performa
meglio degli altri
→in questo caso usiamo le curve lift
Questo metodo si basa sulle posterior e sulla soglia → vanno corrette se necessario
ogni i (quanti eventi sono stati catturati sul totale) p i
→ uso le prior per calcolare queste
probabilità. Viene ottenuta con un rapporto, senza alcun modello
decrescente e
dividiamoli in decili (es. 1° decile=maggiore propensione ad acquistare)
primi 2 o 3 decili abbiamo un buon modello.
Se il target è equidistribuito nei decili significa che il modello ha una pessima capacità
discriminatoria
Il valore di Lift indica la probabilità di evento in più rispetto alla probabilità totale senza
modello. Es. 2° decile Lift=1.3 significa che nel primo 20% dei soggetti la probabilità di evento
con il modello è del 30% più elevata rispetto alla probabilità senza il modello.
→le curve lift sono molto utilizzate in ambito marketing, in quanto le risposte sono delle
Sensitivity e se c'è, ad esempio, un vincolo di budget, possiamo scegliere di mandare la
pubblicità al primo 30% di soggetti con probabilità prevista di evento più alta e aspettarmi di
osservare una parte elevata di successi sul totale
Possiamo inoltre creare degli scenari sulle soglie (un sottoinsieme) per lo step 3, in modo da
capire come si evolve il modello in base alla soglia scelta e a diversi vincoli (es. budget)
È una misura di assessment calcolata usando il criterio degli Expected Profit (EPi) → già visto
in precedenza
Per ogni decile j si ricava la confusion matrix e i relativi Total/Average Expected Profit (non
cumulativo)
→utile e semplice da costruire per scenari di marketing