Vi kan si at logistisk regresjon er en generalisert form for lineær regresjon, men hovedforskjellen er i det forutsagte verdiområdet er (-∞, ∞) mens området for forutsagt verdi i logistisk regresjon er (0,1). I dette innlegget vil vi lære om logistisk regresjon og hvordan vi kan implementere det på R -programmeringsspråket.
Hvorfor bruke logistisk regresjon
Etter å ha forstått forholdet mellom uavhengige (prediktorvariabler) og avhengig (responsvariabel), brukes lineær regresjon ofte. Når den avhengige variabelen er kategorisk, er det bedre å velge logistisk regresjon. Det er en av de enkleste modellene, men veldig nyttige i forskjellige applikasjoner fordi det er enkelt å tolke og raskt i implementeringen.
I logistisk regresjon prøver vi å kategorisere data/observasjon i forskjellige klasser som viser at logistisk regresjon er en klassifiseringsalgoritme. Logistisk regresjon kan være nyttig i forskjellige applikasjoner som:
Vi kan bruke kredittrekord og banksaldo til en kunde for å forutsi om kunden er kvalifisert til å ta lånet fra banken eller ikke (svarvariabelen vil være "kvalifisert" eller "ikke-kvalifisert. Du kan få tilgang til fra tilstanden ovenfor at responsvariabelen bare kan ha to verdier. Mens i lineær regresjon kan den avhengige variabelen ta mer kontinuerlige flere verdier.
Logistisk regresjon i R i Ubuntu 20.04
I R Når responsvariabelen er binær, er det beste å forutsi en verdi av en hendelse å bruke den logistiske regresjonsmodellen. Denne modellen bruker en metode for å finne følgende ligning:
Log [P (x) / (1-p (x))] = β0 + β1x1 + β2x2 +… + βpxpXJ er jth prediktorvariabel og βj er koeffisientestimatet for XJ. En ligning brukes av den logistiske regresjonsmodellen for å beregne sannsynligheten og genererer observasjon/utgang av verdi 1. Det betyr utgangen med en sannsynlighet lik 0.5 eller høyere vil bli betraktet som verdi 1. Annet enn at alle verdier vil bli betraktet som 0.
P (x) = Eβ0 + β1x1 + β2x2 +… + βpxp / (1 + eβ0 + β1x1 + β2x2 +… + βpxp)Følgende trinn-for-trinn-eksempel vil lære deg hvordan du bruker logistisk regresjon i r.
Trinn 1: Last inn dataene for modellen i r
Først må vi laste inn et standarddatasett for å demonstrere bruken av modellen. Dette datasettet består av 1000 observasjoner som vist nedenfor.
I dette datasettkolonnene viser standard om en person er en standard. Studenten viser om en person er student. Balanse viser den gjennomsnittlige balansen til et individ. Og inntekten indikerer inntekten til en person. For å bygge en regresjonsmodell vil status, bankbalanse og inntekt bli brukt til å forutsi sannsynligheten for at individene er standard.
Trinn 2: Oppretting av trening og test prøver
Vi vil dele datasettet i et testsett og et treningssett for å teste og trene modellen.
70% av dataene brukes til treningssettet og 30% for testsettet.
Trinn 3: Montering av logistisk regresjon
I R, for å passe til logistisk regresjon, må vi bruke en GLM -funksjon og sette familien til binomial.
I logg odds indikeres den gjennomsnittlige endringen av koeffisientene. P-verdien av studentstatus er 0.0843 P-verdi av balanse er <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.
For å sjekke hvor godt vår logistiske modell passer i data McFaddens, brukes R2 -metrikk. Det varierer fra 0 til 1. Hvis verdien er nær 0, indikerer det at modellen ikke er i form. Imidlertid verdier over 0.40 regnes som en passformmodell. PR2 -funksjonen kan brukes til å beregne McFaddens R2.
Ettersom verdien over er over 0.472, indikerer det at modellen vår har høy prediktiv kraft så vel som modellen passer.
Betydningen av en funksjon kan også beregnes ved bruk av varimpfunksjonen. Den høyere verdien indikerer at viktigheten av den variabelen vil være høyere enn andre.
Trinn 4: Bruk den logistiske regresjonsmodellen til å komme med spådommer
Etter å ha montert regresjonsmodellen, kan vi ikke komme med spådommer om hvorvidt en person vil misligholde eller ikke på forskjellige verdier av balanse, inntekt og studentens status:
Som vi kan se, hvis saldoen er 1400, er inntekten 2000 med status som studenten "ja" som har en 0.02732106 Sannsynlighet for mislighold. På den annen side har en person som har de samme parametrene, men studentstatus “nei” har en 0.0439 Sannsynlighet for mislighold.
For å beregne hver enkelt person i datasettet vårt, brukes følgende kode.
spådd <- predict(model, test, type="response")Trinn 5: Diagnostisering av den logistiske regresjonsmodellen:
I dette siste trinnet vil vi analysere ytelsen til modellen vår i testdatabasen. Som standard har individene en sannsynlighet større enn 0.5 vil bli spådd “standard”. Imidlertid ved å bruke OptimalCutoff () Funksjonen vil maksimere presisjonen til modellen vår.
Som vi kan se ovenfor, 0.5451712 er Optimal sannsynlighetsavskjæring. Så en person som har en sannsynlighet på 0.5451712 av å være "standard" eller større vil bli betraktet som "standard". Imidlertid har en person en sannsynlighet mindre enn 0.5451712 vil bli betraktet som "ikke standard"
Konklusjon
Etter å ha gått gjennom denne opplæringen, bør du være kjent med logistisk regresjon i R -programmeringsspråk i Ubuntu 20.04. Du vil også kunne identifisere når du skal bruke denne modellen og hvorfor det er viktig med binomiale verdier. Ved hjelp av koder og ligninger har vi implementert de fem trinnene for å bruke den logistiske regresjonen i R med eksempler for å forklare den i detalj. Disse trinnene dekker alt som starter fra å laste inn data til R, trene og teste datasettet, montere modellen og prediksjon for å modellere diagnostikk.