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 )
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))
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