Come tracciare una curva di regressione logistica in r


Spesso potresti voler tracciare la curva di un modello di regressione logistica adattato in R.

Fortunatamente, è abbastanza facile da fare e questo tutorial spiega come farlo sia in Base R che in ggplot2.

Esempio: disegnare una curva di regressione logistica in base R

Il codice seguente mostra come adattare un modello di regressione logistica utilizzando le variabili del set di dati mtcars integrato in R e quindi come tracciare la curva di regressione logistica:

 #fit logistic regression model
model <- glm(vs ~ hp, data=mtcars, family=binomial)

#define new data frame that contains predictor variable
newdata <- data. frame (hp=seq(min(mtcars$hp), max(mtcars$hp),len= 500 ))

#use fitted model to predict values of vs
newdata$vs = predict(model, newdata, type=" response ")

#plot logistic regression curve
plot(vs ~hp, data=mtcars, col=" steelblue ")
lines(vs ~ hp, newdata, lwd= 2 )

Curva di regressione logistica in base R

L’asse x mostra i valori della variabile predittrice hp e l’asse y mostra la probabilità prevista della variabile di risposta am .

Possiamo vedere chiaramente che valori più alti della variabile predittrice hp sono associati a probabilità inferiori della variabile di risposta rispetto ad essere pari a 1.

Esempio: tracciare una curva di regressione logistica in ggplot2

Il codice seguente mostra come adattare lo stesso modello di regressione logistica e come tracciare la curva di regressione logistica utilizzando la libreria di visualizzazione dei dati ggplot2 :

 library (ggplot2)

#plot logistic regression curve
ggplot(mtcars, aes (x=hp, y=vs)) + 
  geom_point(alpha=.5) +
  stat_smooth(method=" glm ", se=FALSE, method. args = list(family=binomial)) 

Curva di regressione logistica in ggplot2

Nota che questa è esattamente la stessa curva prodotta nell’esempio precedente utilizzando la base R.

Sentiti libero di cambiare anche lo stile della curva. Ad esempio, potremmo trasformare la curva in una linea tratteggiata rossa:

 library (ggplot2)

#plot logistic regression curve
ggplot(mtcars, aes (x=hp, y=vs)) + 
  geom_point(alpha=.5) +
  stat_smooth(method=" glm ", se=FALSE, method. args = list(family=binomial),
              col=" red ", lty= 2 ) 

Risorse addizionali

Introduzione alla regressione logistica
Come eseguire la regressione logistica in R (passo dopo passo)
Come eseguire la regressione logistica in Python (passo dopo passo)
Come utilizzare la funzione seq in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *