Hoe een logistische regressiecurve in r uit te zetten


Vaak wilt u misschien de curve van een aangepast logistisch regressiemodel in R uitzetten.

Gelukkig is het vrij eenvoudig om te doen en in deze tutorial wordt uitgelegd hoe je dit moet doen in zowel base R als ggplot2.

Voorbeeld: tekenen van een logistische regressiecurve in basis R

De volgende code laat zien hoe u een logistisch regressiemodel kunt aanpassen met behulp van variabelen uit de ingebouwde mtcars-gegevensset in R, en vervolgens hoe u de logistische regressiecurve kunt plotten:

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

Logistische regressiecurve in basis R

Op de x-as worden de waarden van de voorspellende variabele hp weergegeven en op de y-as de voorspelde waarschijnlijkheid van de responsvariabele am .

We kunnen duidelijk zien dat hogere waarden van de voorspellende variabele hp verband houden met lagere kansen dat de responsvariabele versus gelijk is aan 1.

Voorbeeld: een logistische regressiecurve uitzetten in ggplot2

De volgende code laat zien hoe u hetzelfde logistische regressiemodel kunt passen en hoe u de logistische regressiecurve kunt plotten met behulp van de ggplot2- gegevensvisualisatiebibliotheek:

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

Logistieke regressiecurve in ggplot2

Merk op dat dit precies dezelfde curve is die in het vorige voorbeeld is geproduceerd met behulp van de R-basis.

Voel je vrij om ook de stijl van de curve te veranderen. We kunnen de curve bijvoorbeeld in een rode stippellijn veranderen:

 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 ) 

Aanvullende bronnen

Inleiding tot logistieke regressie
Logistieke regressie uitvoeren in R (stap voor stap)
Logistieke regressie uitvoeren in Python (stap voor stap)
Hoe de seq-functie in R te gebruiken

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert