Logistische Regression in R: Gleichungsableitung [mit Beispiel]

Veröffentlicht: 2020-07-28

In diesem Artikel besprechen wir eines der gängigsten, aber herausforderndsten Konzepte beim maschinellen Lernen, die logistische Regression. Was eine logistische Regression ist und wie die logistische Regressionsgleichung hergeleitet wird, erfahren Sie in diesem ausführlichen Artikel.

Wir haben auch ein Beispiel für die logistische Regression in R geteilt, um das Konzept sehr einfach zu verstehen. Stellen Sie jedoch sicher, dass Sie alle Ideen einigermaßen gut kennen, bevor Sie an dem Beispiel arbeiten. Es wäre hilfreich, wenn Sie mit der linearen Regression vertraut sind, da diese beiden Konzepte miteinander verknüpft sind.

Inhaltsverzeichnis

Was ist logistische Regression?

Die logistische Regression sagt ein binäres Ergebnis anhand einer Reihe unabhängiger Variablen voraus. Es ist ein Klassifizierungsalgorithmus, der die Wahrscheinlichkeit des Eintretens eines Ereignisses mithilfe einer Logit-Funktion vorhersagt und Daten daran anpasst. Die logistische Regression unterscheidet sich von der linearen Regression, da sie die Wahrscheinlichkeit eines Ergebnisses vorhersagen kann, das nur zwei Werte haben kann. Die Verwendung der linearen Regression ist nicht geeignet, wenn Sie eine binäre Variable haben, weil:

  • Die lineare Regression würde Werte außerhalb des erforderlichen Bereichs vorhersagen
  • Die Regression verteilt die beiden Vorteile möglicherweise nicht über eine vorhergesagte Linie

Die logistische Regression erzeugt keine Linie wie eine lineare Regression. Es liefert eine logistische Kurve, die zwischen 0 und einem Wert über 1 liegt.

Lernen Sie Data-Science-Online-Kurse von den besten Universitäten der Welt kennen. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Schauen Sie sich an: R-Projektideen

Logistische Regressionsgleichungsableitung

Wir können die logistische Regressionsgleichung aus der linearen Regressionsgleichung ableiten. Die logistische Regression fällt unter die Klasse der glm-Algorithmen (Generalized Linear Model). Nelder und Wedderburn führten dieses Modell 1972 als Methode zur Verwendung der linearen Regression ein, um Probleme zu lösen, die zuvor nicht gelöst werden konnten. Sie hatten eine Klasse separater Modelle vorgeschlagen und als besonderes Modell die logistische Regression hinzugefügt.

Wir wissen, dass die Gleichung eines verallgemeinerten linearen Modells die folgende ist:

g(e<y) = a + bx1

g() steht für die Verknüpfungsfunktion, E(y) steht für den Erwartungswert der Zielvariablen und die RHS (rechte Seite) ist der lineare Prädiktor. Die Verknüpfungsfunktion „verknüpft“ den Erwartungswert von y mit dem linearen Prädiktor.

Angenommen, wir haben Daten von 100 Kunden und wir müssen vorhersagen, ob ein Kunde ein bestimmtes Produkt kaufen wird oder nicht. Da wir eine kategoriale Ergebnisvariable haben, müssen wir die logistische Regression verwenden.

Wir beginnen mit einer linearen Regressionsgleichung:

g(y) = o+(Einkommen) — (1)

Hier haben wir die unabhängige Variable zum leichteren Verständnis als „Einkommen“ beibehalten.

Unser Fokus liegt auf der Wahrscheinlichkeit der resultierenden abhängigen Variablen (kauft der Kunde oder nicht?). Wie wir bereits besprochen haben, ist g() unsere Verknüpfungsfunktion und basiert auf der Erfolgswahrscheinlichkeit (p) und der Fehlerwahrscheinlichkeit (1-p). p sollte die folgenden Eigenschaften haben:

  • p sollte immer positiv sein
  • p sollte immer kleiner oder gleich 1 sein

Jetzt bezeichnen wir g() mit 'p' und leiten unsere logistische Regressionsgleichung ab.

Da die Wahrscheinlichkeit immer positiv ist, behandeln wir die lineare Gleichung in ihrer Exponentialform und erhalten das folgende Ergebnis:

p = exp(0+(Einkommen)) = e((0+(Einkommen)) — (2)

Wir müssen p durch eine Zahl größer als p dividieren, um die Wahrscheinlichkeit kleiner als 1 zu machen:

p = exp(0+(Einkommen)) / (0+(Einkommen)) + 1 = e(0+(Einkommen)) / (0+(Einkommen)) + 1 — (3)

Durch Verwendung von Gl. (1), (2) und (3) können wir p definieren als:

p = ey /1 + ey – (4)

Hier ist p die Erfolgswahrscheinlichkeit, also muss 1-p die Misserfolgswahrscheinlichkeit sein:

q = 1 – p = 1 -(ey /1 + ey) – (5)

Teilen wir nun (4) durch (5):

p / 1 – p = ey

Wenn wir auf beiden Seiten loggen, erhalten wir Folgendes:

log (p / 1 – p) = y

Das ist die Link-Funktion. Wenn wir den zuvor ermittelten Wert von y ersetzen, erhalten wir:

log(p / 1 – p) = o + (Einkommen)

Und da haben wir sie, die logistische Regressionsgleichung. Da es die Wahrscheinlichkeit eines Ergebnisses angibt, bleibt sein Wert immer zwischen 0 und über 1.

Lesen Sie mehr über: 9 interessante Ideen und Themen für lineare Regressionsprojekte für Anfänger

Beispiel für logistische Regression in R

In unserem Fall der logistischen Regression in R verwenden wir Daten der UCLA (University of California, Los Angeles). Hier müssen wir ein Modell erstellen, das die Zulassungschancen anhand der uns vorliegenden Daten vorhersagt. Wir haben vier Variablen, darunter GPA, GRE-Score, den Rang des Undergraduate College des Studenten und das Geständnis.

df <- read.csv(“https://stats.idre.ucla.edu/stat/data/binary.csv”)

str(df)

## 'data.frame': 400 obs. von 4 Variablen:

## $ zugeben: int 0 1 1 1 0 1 1 0 1 0 …

## $ gre : int 380 660 800 640 520 760 560 400 540 700 …

## $ gpa : num 3,61 3,67 4 3,19 2,93 3 2,98 3,08 3,39 3,92 …

## $ Rang : int 3 3 1 4 4 2 1 2 3 2 …

Variablen sind entweder Zahlen oder Integer:

summe(ist.na(df))

## [1] 0

Wir stellen auch fest, dass es keine Nullwerte gibt und dass es mehr Ablehnungs- als Akzeptanzereignisse gibt, da der Mittelwert der Variablengrenze kleiner als 0,5 ist.

Sie sollten darauf achten, dass das System die Zulassungen in jeder Rangkategorie angemessen verteilt. Angenommen, ein Rang hat nur 5 Ablehnungen (oder Informationen zugeben), dann müssen Sie diesen Rang nicht unbedingt in Ihrer Analyse verwenden.

xtabs(~ zugeben +rank ,data=df)

## Rang

## zugeben 1 2 3 4

## 0 28 97 93 55

## 1 33 54 28 12

Lassen Sie uns jetzt unsere Funktion ausführen:

df$rank <- as.factor(df$rang)

logit <- glm(zugeben ~ gre+gpa+rank,data=df,family=”binomial”)

zusammenfassung (logit)

##

## Anruf:

## glm(Formel = zugeben ~ gre + gpa + Rang, Familie = „binomial“,

## Daten = df)

##

## Abweichungsreste:

## Min. 1Q Median 3Q Max

## -1,6268 -0,8662 -0,6388 1,1490 2,0790

##

## Koeffizienten:

## Schätzung Std. Fehler z-Wert Pr(>|z|)

## (Abschnitt) -3,989979 1,139951 -3,500 0,000465 ***

## gr 0,002264 0,001094 2,070 0,038465 *

## gpa 0,804038 0,331819 2,423 0,015388 *

## Rang2 -0,675443 0,316490 -2,134 0,032829 *

## Rang3 -1,340204 0,345306 -3,881 0,000104 ***

## Rang4 -1,551464 0,417832 -3,713 0,000205 ***

## —

## Bedeutung Codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 ' ' 1

##

## (Streuungsparameter für Binomialfamilie mit 1 angenommen)

##

## Nullabweichung: 499,98 bei 399 Freiheitsgraden

## Restabweichung: 458,52 bei 394 Freiheitsgraden

##AIC: 470.52

##

## Anzahl der Fisher-Scoring-Iterationen: 4

Sie müssen bemerkt haben, dass wir die Rangvariable vor dem Ausführen der Funktion von einer Ganzzahl in einen Faktor konvertiert haben. Stellen Sie sicher, dass Sie dasselbe tun.

Endergebnis:

Angenommen, der GPA eines Studenten beträgt 3,8, ein GRE-Ergebnis von 790, und er hat an einem College mit Rang 1 studiert. Lassen Sie uns anhand unseres Modells seine Chancen ermitteln, in Zukunft zugelassen zu werden:

x <- data.frame(gre=790,gpa=3.8,rank=as.factor(1))

p<- Vorhersage(logit,x)

P

## 1

## 0,85426

Unser Modell sagt voraus, dass der Junge in Zukunft eine Chance von 85 % hat, die Zulassung zu bekommen.

Lesen Sie auch: Projektideen für maschinelles Lernen

Abschließende Gedanken

Das war es für diesen Artikel. Wir sind zuversichtlich, dass Sie es sehr hilfreich gefunden hätten. Wenn Sie Fragen oder Gedanken zur logistischen Regression und verwandten Themen haben, teilen Sie diese bitte im Kommentarbereich unten mit.

Wenn Sie neugierig sind, mehr über R und alles über Data Science zu erfahren, schauen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops und Mentoring bietet Branchenexperten, 1-on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.

Wie unterscheiden sich die logistische Regression und die lineare Regression?

Das Ziel der linearen Regression ist es, die am besten passende Linie zu identifizieren, aber die logistische Regression geht noch einen Schritt weiter und passt die Linienwerte an die Sigmoidkurve an. Der Hauptunterschied zwischen diesen beiden Methoden besteht darin, dass die logistische Regression angewendet wird, wenn die abhängige Variable binär ist. Wenn die abhängige Variable kontinuierlich und die Regressionslinie linear ist, wird die lineare Regression verwendet. Während die gewöhnliche Methode der kleinsten Quadrate verwendet wird, um die lineare Regression zu schätzen, wird die Maximum-Likelihood-Schätzmethode verwendet, um die logistische Regression zu schätzen. Die Ausgabe der linearen Regression ist kontinuierlich, die der logistischen Regression hat jedoch nur eine begrenzte Anzahl diskreter potenzieller Werte.

Wann ist die Verwendung der logistischen Regression hilfreich?

Die kategoriale abhängige Variable wird mithilfe der logistischen Regression vorhergesagt. Wenn die Daten, die wir haben, in unendlichem Maßstab gemessen werden können, können wir die logistische Regression anwenden. Um die Wahrscheinlichkeit eines Ereignisses abzuschätzen, ist die logistische Regressionsanalyse nützlich. Es hilft bei der Bestimmung der Wahrscheinlichkeit von zwei beliebigen Klassen. Nur Klassifizierungs- und Wahrscheinlichkeitsergebnisse können mithilfe der logistischen Regression vorhergesagt werden. Es kann verwendet werden, um eine Vielzahl von Klassifizierungsproblemen wie Spam-Erkennung, Diabetes-Vorhersage, Krebsdiagnose usw. zu lösen.

Welche Einschränkungen gibt es bei der Verwendung der logistischen Regression?

1. Da die logistische Regression eine lineare Entscheidungsoberfläche hat, kann sie nichtlineare Probleme nicht ansprechen.

2. Der logistische Regressionsalgorithmus ist empfindlich gegenüber Ausreißern.

3. Da sowohl Skalierung als auch Normalisierung Schlüsselkriterien der logistischen Regression sind, kann die Datenvorbereitung zeitaufwändig sein.

4. Wenn ein Merkmal existiert, das zwei Klassen vollständig trennt, kann das Modell nicht mehr trainiert werden. Dies wird als „vollständige Trennung“ bezeichnet.

5. Wenn die Anzahl der Beobachtungen geringer ist als die Anzahl der Merkmale, sollte keine logistische Regression angewendet werden, da dies zu einer Überanpassung führen kann.

6. Ein weiterer Nachteil besteht darin, dass jeder Datenpunkt in der logistischen Regression von allen anderen Datenpunkten unabhängig sein muss. Wenn Beobachtungen verbunden sind, neigt das Modell dazu, die Relevanz dieser Beobachtungen zu überschätzen.