La regressione logistica è un algoritmo di machine learning supervisionato nella data science. È un tipo di algoritmo di classificazione che prevede un risultato discreto o categorico. Ad esempio, possiamo utilizzare un modello di classificazione per determinare se un prestito è approvato o meno in base a predittori come l'importo del risparmio, il reddito e il punteggio di credito.
In questo articolo, approfondiamo la matematica alla base della regressione logistica, uno degli algoritmi di classificazione più utilizzati nel machine learning e nell'intelligenza artificiale (AI). Approfondiremo anche i dettagli dell'analisi della regressione, dei casi d'uso e dei diversi tipi di regressioni logistiche. Nell'era dell'AI generativa, i fondamenti della regressione logistica svolgono ancora un ruolo critico nell'orchestrazione di modelli complessi di reti neurali. La regressione è ancora molto rilevante anche nell'esecuzione di test statistici nel contesto della ricerca comportamentale e nelle scienze sociali, così come nel campo della data science in generale. Possiamo implementare facilmente la regressione logistica usando il modulo scikit-learn in Python.
In questo articolo introduciamo la differenza tra regressione lineare e regressione logistica, le basi matematiche, i diversi tipi di regressioni logistiche e i casi d'uso associati.
La regressione logistica, come la regressione lineare, è un tipo di modello lineare che esamina la relazione tra variabili predittive (variabili indipendenti) e una variabile di output (la risposta, l'obiettivo o la variabile dipendente). La differenza fondamentale è che la regressione lineare viene utilizzata quando l'output è un valore continuo, ad esempio, la previsione del punteggio di credito di qualcuno. La regressione logistica viene utilizzata quando il risultato è categorico, ad esempio se un prestito è approvato o meno.
Nella regressione logistica, il modello prevede la probabilità che si verifichi un risultato specifico. Ad esempio, dato il profilo finanziario di una persona, potremmo prevedere la probabilità che il suo prestito venga approvato. L'output del modello è un valore compreso tra 0 e 1. Sulla base di una soglia (spesso 0,5), classifichiamo il risultato come "approvato" o "non approvato". Invece di tracciare una linea retta tra i dati come faremmo nella regressione lineare, la regressione logistica si adatta a una curva a forma di S per mappare i valori di input in base a una probabilità.
Sia la regressione lineare che quella logistica utilizzano test statistici per valutare quali variabili predittive influiscono in modo significativo sull'output. Tecniche come il t-test e l'analisi della varianza (ANOVA) (o test del rapporto di verosimiglianza per la regressione logistica) generano valori p per ciascun coefficiente, aiutandoci a valutare se la relazione è statisticamente significativa. Un valore p basso (in genere inferiore a 0,05) suggerisce che la variabile contribuisce in modo significativo al modello. Valutiamo anche la bontà dell'adattamento, ovvero quanto bene il modello spiega i risultati osservati, utilizzando metriche diverse a seconda del tipo di regressione.
Via via che costruiamo modelli, è importante evitare l'overfitting, in cui il modello cattura il rumore nei dati di addestramento e offre prestazioni scadenti sui nuovi dati. Questo rischio aumenta quando abbiamo molte variabili predittive ma un campione di piccole dimensioni. Per risolvere questo problema, possiamo applicare la regolarizzazione, una tecnica che diminuisce l'influenza di variabili meno importanti riducendone i coefficienti. È necessario prestare particolare attenzione anche agli outlier, in quanto possono distorcere il modello e portare a valori p oppure a coefficienti fuorvianti. In pratica, miglioriamo i modelli attraverso più iterazioni di selezione, test e perfezionamento delle caratteristiche.
Per confrontare i due modelli in modo più concreto, consideriamo uno scenario di regressione lineare in cui vogliamo prevedere il punteggio di credito di una persona, in base a caratteristiche come i suoi risparmi attuali. Possiamo modellarlo come:
Come la regressione lineare, la regressione logistica è un tipo di modello lineare che rientra nella famiglia dei modelli lineari generalizzati (GLM). Come nell'esempio precedente, se vogliamo rappresentare la probabilità di approvare o non approvare, applichiamo la funzione lineare.
Poiché la funzione lineare assume una relazione lineare, al variare dei valori di X, Y può assumere un valore da (-inf, inf). Le probabilità, come sappiamo, sono confinate a [0,1]. Utilizzando questo principio del modello lineare, non possiamo modellare direttamente le probabilità per un risultato binario. Necessitiamo invece di un modello logistico per dare un senso alle probabilità. Pertanto, vogliamo applicare una trasformazione all'input in modo che il risultato possa essere limitato. Questa trasformazione è nota come equazione di regressione logistica. Questa equazione può sembrare complessa, ma nella seguente sezione spiegheremo passo per passo come è stata ricavata.
La trasformazione sigmoidea ci consente di fare una previsione binaria per il caso d'uso precedente. Dopo avere applicato la trasformazione, il valore di X può assumere (-inf, inf) e y sarà confinato a [0,1]
Per comprendere la funzione di regressione logistica (o funzione sigmoide), necessitiamo di solide fondamenta basate sui seguenti concetti:
Il log del rapporto delle probabilità è noto come funzione logit e costituisce la base della regressione logistica.
Poiché non possiamo modellare le probabilità direttamente utilizzando una funzione lineare (perché le probabilità sono vincolate tra 0 e 1), lavoriamo invece con gli odds. Sebbene sia la probabilità che gli odds rappresentino la probabilità di un risultato, differiscono nella definizione:
La probabilità misura la possibilità che un evento si verifichi tra tutti i possibili risultati.
Gli odds confrontano la possibilità che un evento si verifichi con la possibilità che non si verifichi.
Lasciamo che p(x) rappresenti la probabilità di un risultato. Quindi, gli odds di x sono definiti come:
Facciamo un esempio concreto:
Supponiamo che un cesto contenga 3 mele e 5 arance.
- La probabilità di scegliere un'arancia è 5/(3+5) = 0,625
- Gli odds di scegliere un'arancia sono 5/3 ≈ 1.667
Questo significa che raccogliere un'arancia è ≈ 1,667 volte più probabile che raccogliere una mela. Al contrario, gli odds di scegliere una mela sono 3/5 = 0,6, che è inferiore a 1, il che indica che il risultato (raccogliere una mela) è meno probabile che non raccoglierla. Seguendo l'equazione degli odds, possiamo anche pensare alle quote come alla probabilità che un risultato si verifichi rispetto a 1 - probabilità che si verifichi. Pertanto, gli odds di scegliere un'arancia sono = P (arance)/(1-P (arance)) =0,625/ (1-0,625) ≈ 1,667
Gli odds possono variare da 0 a infinito. Un valore di odds maggiore di 1 indica un risultato favorevole, inferiore a 1 indica un risultato sfavorevole e pari a 1 significa che l'evento è tanto probabile che si verifichi quanto no.
Tuttavia, gli odds non sono simmetrici attorno a 1. Ad esempio, gli odds di 2 e 0,5 rappresentano "il doppio della probabilità" e "la metà della probabilità", ma si trovano su scale numeriche molto diverse. Per risolvere questo squilibrio, prendiamo il logaritmo degli odds, che trasforma la scala illimitata [0, ∞) degli odds nella retta dei numeri reali (−∞, ∞). Questo è noto come log-odds, o logit, ed è il fondamento del modello di regressione logistica.
Definiamo il log-odds come:
Questa trasformazione ci permette di esprimere il log-odds come funzione lineare dell'input:
Possiamo quindi elevare a potenza entrambi i lati per tornare agli odds:
Risolvere per otteniamo la funzione sigmoide, che aiuta a garantire che il valore previsto rimanga tra 0 e 1:
Questa trasformazione consente alla regressione di produrre probabilità valide, anche se le stiamo modellando utilizzando una funzione lineare sottostante.
Infine, introduciamo l'odds ratio, un concetto che aiuta a interpretare l'effetto dei coefficienti del modello. L'odds ratio ci dice come cambiano gli odds quando la variabile di input x1 aumenta di un'unità.
Diciamo che gli odds dell'evento sono:
Se aumentiamo x1 di un'unità, i nuovi odds diventano:
Ciò significa che per ogni aumento unitario di x1, gli odds vengono moltiplicati per eb1. Questo moltiplicatore è l'odds ratio.
- Se b1>1, gli odds aumentano (l'evento diventa più probabile)
- Se b1<1, gli odds diminuiscono (gli eventi diventano probabili)
- Se b1=1, l'odds ratio è 0, il che significa che l'input non ha alcun effetto sugli odds
L'odds ratio conferisce alla regressione logistica la sua interpretabilità: le dice come cambiano gli odds di un evento in base agli input, il che è utile in molti contesti applicati come l'assistenza sanitaria, il marketing e la finanza. Tuttavia, non possiamo interpretare i coefficienti nello stesso modo in cui interpretiamo quelli della regressione lineare. Nella prossima sezione, daremo un'occhiata da vicino a come vengono determinati e interpretati i coefficienti.
Come abbiamo detto in precedenza, nella regressione lineare i coefficienti sono semplici da interpretare. Prendiamo un esempio di regressione lineare con variabili continue: per un aumento di un'unità dell'input x si ottiene un aumento di b1 unità del risultato previsto y. Questa relazione diretta funziona perché la regressione lineare presuppone un tasso di variazione costante tra le caratteristiche di input e il target. Il suo output è illimitato e cresce linearmente.
Tuttavia, la regressione logistica non modella direttamente y, bensì modella la probabilità di y attraverso il log-odds (il log degli odds). Per questo motivo, non possiamo dire che un aumento di un'unità in x risulti in una variazione unitaria costante in y. Invece, interpretiamo il coefficiente in termini del suo effetto sul log-odds e, per estensione, sugli odds e sulla probabilità del risultato.
Più specificamente, nella regressione logistica:
È importante sottolineare che l'entità del coefficiente riflette quanto sia forte questa influenza, mentre l'odds ratio (che è l'esponenziale del coefficiente) ci dice quanto cambiano gli odds per un aumento di un'unità della variabile.
Proprio come altri algoritmi di machine learning, possiamo incorporare variabili categoriche per fare previsioni sulla regressione. Quando lavoriamo con variabili categoriche o discrete, utilizziamo spesso tecniche di feature engineering, come la codifica one-hot o le variabili fittizie, per convertirle in un formato binario utilizzabile dal modello.
Ad esempio, utilizzando lo stesso concetto di prima, supponiamo di voler prevedere se a qualcuno verrà approvato un prestito ( per approvato, per non approvato) in base al fatto che abbiano ancora un debito esistente:
- Sia significa che non hanno debiti esistenti
- Sia significa che hanno debiti esistenti
Il nostro log-odds di sarebbe
Il coefficiente , rappresenta quindi la variazione del log-odds di essere approvato quando la persona ha un debito esistente, rispetto a qualcuno che non lo ha.
Per renderlo più interpretabile, possiamo esponenziare b1 per ottenere l'odds ratio:
Quindi, anche se perdiamo la semplice interpretazione dei coefficienti dalla regressione lineare, la regressione logistica offre comunque insight utili e interpretabili, specialmente quando li vediamo in termini di odds e variazioni di probabilità. L'entità dell'aumento o della diminuzione della probabilità come funzione di non corrisponde a una unità di incremento in , ma dipende da dove è a un certo punto.
I coefficienti nella regressione logistica, e , sono stimati utilizzando la stima della massima verosimiglianza (MLE). L'idea alla base della MLE è trovare i parametri che rendono i dati osservati più "probabili" secondo il modello di regressione logistica.
Nella regressione logistica, modelliamo la probabilità che la variabile target è 1 (ad esempio, "approvato") dato un input utilizzando la funzione logistica (sigmoide):
MLE prova diverse combinazioni di e e per ogni combinazione chiede: "quanto è probabile che vedremo i risultati effettivi nei nostri dati, in presenza di questi parametri?"
Questo viene acquisito utilizzando la funzione di verosimiglianza, che moltiplica le probabilità previste per ogni punto dati:
- Se =1 ("approvato"), vogliamo che la probabilità prevista del modello sia il più vicino possibile a 1. Il termine affronta questo problema. Se i dati effettivamente osservati di y1 sono davvero “approvati” o 1, il termine sarà 1.
- Se =0, vogliamo che la probabilità prevista sia vicina a 0. Il termine si occupa di questo caso. Se i dati effettivamente osservati di è "non approvato", o 0, il valore sarà sarà vicino a 0, quindi sarà vicino a 1.
Quindi, per ogni punto dati, moltiplichiamo Oppure , a seconda che l'etichetta effettiva sia 1 o 0. Il prodotto tra tutti gli esempi ci fornisce un unico numero: la probabilità di vedere l'intero set di dati secondo il modello attuale. Come possiamo vedere, se i risultati previsti (utilizzando i parametri e ) sono conformi ai dati osservati, il valore di verosimiglianza sarà massimizzato. La ragione dietro la moltiplicazione di tutte le probabilità è che supponiamo che i risultati siano indipendenti l'uno dall'altro. In altre parole, la possibilità di approvazione di una persona non dovrebbe influenzare la possibilità di approvazione di un'altra persona.
Poiché questo prodotto può diventare estremamente piccolo, di solito lavoriamo con la verosimiglianza logaritmica, che trasforma il prodotto in una somma ed è più facile da calcolare e ottimizzare.
Per trovare i valori di e che massimizzano il log-likelihood, utilizziamo la discesa del gradiente, un algoritmo di ottimizzazione iterativa. In ogni fase, calcoliamo come cambia la verosimiglianza logaritmica rispetto a ciascun parametro (ad esempio, il suo gradiente), quindi aggiorniamo leggermente i parametri nella direzione che aumenta la probabilità. Nel tempo, questo processo converge verso i valori di e che si adattano meglio ai dati.
Esistono tre tipi di modelli di regressione logistica, definiti in base alla risposta categorica.
La regressione logistica viene comunemente utilizzata per problemi di previsione e classificazione. Alcuni di questi casi d'uso includono:
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.