Possiamo dire che la regressione logistica è una forma generalizzata di regressione lineare ma la differenza principale è nell'intervallo di valori previsto è (-∞, ∞) mentre l'intervallo di valore previsto nella regressione logistica è (0,1). In questo post, impareremo sulla regressione logistica e su come implementarla nel linguaggio di programmazione R.
Perché utilizzare la regressione logistica
Dopo aver compreso la relazione tra indipendente (variabili predittive) e dipendenti (variabile di risposta), la regressione lineare viene spesso utilizzata. Quando la variabile dipendente è categorica, è meglio scegliere la regressione logistica. È uno dei modelli più semplici ma molto utile in diverse applicazioni perché è facile da interpretare e veloce nell'implementazione.
Nella regressione logistica, cerchiamo di classificare i dati/l'osservazione in classi distinte che mostrano che la regressione logistica è un algoritmo di classificazione. La regressione logistica può essere utile in diverse applicazioni come:
Possiamo utilizzare il record di credito e il saldo bancario di un cliente per prevedere se il cliente è idoneo a prendere il prestito dalla banca o meno (la variabile di risposta sarà "ammissibile" o "non ammissibile. È possibile accedere dalla condizione sopra che la variabile di risposta può avere solo due valori. Mentre nella regressione lineare la variabile dipendente può richiedere valori multipli più continui.
Regressione logistica in R in Ubuntu 20.04
In R quando la variabile di risposta è binaria, il meglio per prevedere un valore di un evento è utilizzare il modello di regressione logistica. Questo modello utilizza un metodo per trovare la seguente equazione:
Log [p (x) / (1-p (x))] = β0 + β1x1 + β2x2 + ... + βpxpXJ è la variabile JTH predittore e βJ è la stima del coefficiente per XJ. Un'equazione viene utilizzata dal modello di regressione logistica per calcolare la probabilità e genera l'osservazione/output del valore 1. Ciò significa che l'output con una probabilità pari a 0.5 o più verranno considerati come valore 1. A parte questo, tutti i valori saranno considerati 0.
p (x) = eβ0 + β1x1 + β2x2 + βpxp / (1 + eβ0 + β1x1 + β2x2 +… + βpxp)Il seguente esempio passo-passo ti insegnerà come utilizzare la regressione logistica in R.
Passaggio 1: caricare i dati per il modello in R
Innanzitutto, dobbiamo caricare un set di dati predefinito per dimostrare l'uso del modello. Questo set di dati è costituito da 1000 osservazioni come visualizzato di seguito.
In questo set di dati colonne, il valore predefinito mostra se un individuo è un valore predefinito. Lo studente sta dimostrando se un individuo è uno studente. Il saldo mostra l'equilibrio medio di un individuo. E il reddito indica il reddito di un individuo. Per creare un modello di regressione, lo stato, il saldo bancario e il reddito verranno utilizzati per prevedere la probabilità che gli individui siano inadempienti.
Passaggio 2: creazione di campioni di allenamento e test
Divideremo il set di dati in un set di test e un set di addestramento per testare e addestrare il modello.
Il 70% dei dati viene utilizzato per il set di formazione e il 30% per il set di test.
Passaggio 3: regressione logistica adatta
In r, per adattarsi alla regressione logistica dobbiamo usare una funzione GLM e impostare la famiglia su binomiale.
Nelle probabilità di registro, la variazione media è indicata dai coefficienti. Il valore p dello status di studente è 0.0843 Il valore p dell'equilibrio è <0.0000, P-value of income is 0.4304. These values are showing how effectively each independent variable is at predicting the likelihood of default.
In r, per verificare quanto bene il nostro modello logistico si adatta ai dati di McFadden, viene utilizzata la metrica R2. Varia da 0 a 1. Se il valore è vicino a 0 indica che il modello non è adatto. Tuttavia, valori superiori a 0.40 sono considerati un modello di adattamento. La funzione PR2 può essere utilizzata per calcolare R2 di McFadden.
Poiché il valore sopra è superiore a 0.472, indica che il nostro modello ha un alto potere predittivo e il modello è adatto.
L'importanza di una funzione può anche essere calcolata mediante l'uso della funzione Varimp. Il valore più elevato indica che l'importanza di quella variabile sarà superiore agli altri.
Passaggio 4: utilizzare il modello di regressione logistica per fare previsioni
Dopo aver montato il modello di regressione, non possiamo fare previsioni sul fatto che un individuo sarà inadempiente o meno su valori diversi di saldo, reddito e stato dello studente:
Come possiamo vedere, se il saldo è 1400, il reddito è 2000 con lo stato dello studente "sì" con uno 0.02732106 Probabilità di inadempienza. D'altra parte, un individuo che ha gli stessi parametri ma lo stato dello studente "no" ha uno 0.0439 Probabilità di inadempienza.
Per calcolare ogni individuo nel nostro set di dati, viene utilizzato il seguente codice.
previsto <- predict(model, test, type="response")Passaggio 5: diagnosi del modello di regressione logistica:
In quest'ultimo passaggio, analizzeremo le prestazioni del nostro modello nel database di test. Per impostazione predefinita, gli individui hanno una probabilità maggiore di 0.5 sarà previsto "predefinito". Tuttavia, usando il OptimalCutoff () La funzione massimizzerà la precisione del nostro modello.
Come possiamo vedere sopra, 0.5451712 è il taglio ottimale di probabilità. Quindi, un individuo che ha una probabilità di 0.5451712 di essere "predefinito" o maggiore sarà considerato "predefinito". Tuttavia, un individuo ha una probabilità inferiore a 0.5451712 sarà considerato "non predefinito"
Conclusione
Dopo aver attraversato questo tutorial, dovresti avere familiarità con la regressione logistica nel linguaggio di programmazione R in Ubuntu 20.04. Sarai anche in grado di identificare quando dovresti usare questo modello e perché è importante con i valori binomiali. Con l'aiuto di codici ed equazioni, abbiamo implementato le cinque fasi dell'utilizzo della regressione logistica in R con esempi per spiegarla in dettaglio. Questi passaggi coprono tutto a partire dal caricamento di dati a R, allenamento e test del set di dati, adattamento del modello e previsione per la diagnostica del modello.