data > opinion

Tom Alby

5 Forecasting

2020-10-31


Lineare Regression

Einführung in den Algorithmus

Die Lineare Regression ist eine der ältesten Methoden des maschinellen Lernens, die ihren Ursprung in den Überlegungen von Legendre und Gauss Anfang des 19. Jahrhunderts fand. Tatsächlich preisen manche Unternehmen Machine Learning und Künstliche Intelligenz an, bieten aber tatsächlich nicht sehr viel mehr als lineare Regression. Mit KI hat das aber nichts zu tun.

Mit der linearen Regression wird versucht, eine abhängige Variable durch eine oder auch mehrere unabhängige Variablen zu erklären. Im Gegensatz zur Korrelation, wo es darum geht zu untersuchen, wie stark ein Zusammenhang ist (ohne dabei eine Kausalität herstellen zu können), geht es bei der Regression um die bestmögliche Vorhersage der abhängigen Variable. Beispiel: Je mehr Marketing-Budget ausgegeben wird, desto mehr Interessenten können für ein Produkt gewonnen werden.

Eine solche Beziehung wird in einem Scatterplot schnell ersichtlich:

Wenn man die Augen zukneift und sich die Punkte ansieht, so wird schon fast die gerade Linie ersichtlich.

Ist dies aber die Linie, die bestmöglich durch diese Punkte führt? Um das herauszufinden, wird ein kleiner Trick angewendet. Es wird nicht nur eine Linie in den Plot gemalt, sondern ganz viele, und für jede Konstellation wird berechnet, wie weit die Punkte, die nicht genau auf der Linie sind, entfernt sind. Manchmal werden diese Abstände als “Fehler” bezeichnet, aber natürlich sind es keine Fehler, sondern einfach nur die Abstände, die die jeweilige Linie von den gegebenen Punkten erzeugt. Ein anderer Begriff dafür sind die Residuen. Offensichtlich sind die Abstände je nach Kurve unterschiedlich groß. Die nachfolgende Grafik illustriert den Ansatz mit der zuvor eingezeichneten Linie.

Nun wird die Linie gewählt, die den minimalen Abstand von der Linie zu den Punkten erzeugt. Dazu werden die Abstände quadriert und dann summiert. Für jede Linie durch diese Punkte wird dies wiederholt, bis die Summe der quadrierten Abweichungen am niedrigsten ist.

Dieses Prinzip, dass Entfernungen gemessen oder Fehler minimiert werden, ist grundlegend für viele Machine Learning-Algorithmen.

Wie wird die lineare Regression in R durchgeführt?

Zunächst erstellen wir uns einen Datensatz:

leads <- c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
budget <- c(2,1,2,4,4,5,5,8,8,9,10,11,11,13,15,15)
work_hard <- data.frame(budget,leads)

Nun erstellen wir das Modell und plotten es:

fit <- lm(work_hard$leads ~ work_hard$budget)
plot(work_hard)
abline(fit)

Für das Beispiel oben wurde ein anderes Plotting-Paket verwendet, so dass der Output etwas anders aussieht.

Mitunter ist man auch an den Daten des Modells interessiert. Diese kann man einfach ausgeben:

fit
## 
## Call:
## lm(formula = work_hard$leads ~ work_hard$budget)
## 
## Coefficients:
##      (Intercept)  work_hard$budget  
##           -0.384             1.026

Oder, ausführlicher:

summary(fit)
## 
## Call:
## lm(formula = work_hard$leads ~ work_hard$budget)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.6671 -0.1791  0.1412  0.2945  1.2562 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -0.38399    0.38328  -1.002    0.333    
## work_hard$budget  1.02556    0.04317  23.754 1.03e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7668 on 14 degrees of freedom
## Multiple R-squared:  0.9758, Adjusted R-squared:  0.9741 
## F-statistic: 564.3 on 1 and 14 DF,  p-value: 1.032e-12

Daraus ergibt sich die Formel:

\[1.02556x + -0.38399\]

wobei x das Marketing-Budget ist. Der Output beinhaltet weitere wichtige Punkte:

  • Bei den Residuen (Residuals) wäre eine einigermaßen gleichmäßige Verteilung wünschenswert. In dem Beispiel ist der Median etwas näher am 3. Quartil, der Minimalwert ist weiter vom Median entfernt als der Maximalwert. Die Residuen sind also nicht gleichmäßig um die Gerade verteilt.
  • R-Squared ist ein Maß, das darstellen soll, wie gut ein Model zu den Daten passt. Es liegt zwischen 0 und 1, je näher der Wert bei 0 liegt, desto weniger kann die Regression die Varianz in den abhängigen Variable erklären. In dem Beispiel oben kann die Varianz zu über 95% durch die unabhängigen Variable erklärt werden. Je mehr Variablen vorhanden sind, desto mehr wird R-Squared steigen, so dass für Datensätze mit vielen Variablen Adjusted R bevorzugt wird. In unserem Fall haben wir keine Multi-Regression.

Eine lineare Regression kann ganz praktische Anwendungen finden, zum Beispiel wenn es um die Frage geht, was eine gebrauchte Spiegelreflexkamera kosten darf.