Lineare Regression

Ausgleichs-Gerade in Kalkulations-Programmen

Die Lineare Regression ist ein Verfahren zur Berechnung der 'Ausgleichsgeraden'. Das ist eine Gerade, die so angelegt wird, dass sie möglichst nahe an allen gegebenen (mehr oder weniger verstreuten) Daten-Punkten liegt. Man nutzt das Verfahren u.a., um Lineare Funktionen anschaulich darzustellen (Y abhängig von X), sowie um Prognose-Werte zu berechnen.
Algorithmen Ausgewählte IT-Rezepte - Lineare Regression
Live Demo Ausgleichs-Gerade durch Datenpunkte
Abstands-Quadrate Methode von C.F. Gauss
Algorithmus Berechnung einer Ausgleichs-Geraden (Lineare Regression)
Sonderfälle Horizontale oder vertikale Ausgleichs-Gerade
Interpolieren
Extrapolieren
Berechnung neuer (unbekannter) Datenpunkte
Anwendung in Programmen & Programmiersprachen
OpenOffice-Calc, MS-Excel, ...
Anwendung in Webseiten (z.B. dieser)
Anwendung in Webserver-Programmen
Anwendung für Kalkulations-Programme

Kalkulations-Programme

STEIGUNG, ACHSENABSCHNITT

Alle gängigen Kalkulations-Programme (OpenOffice-Calc, MS-Excel, ...) bieten die Funktionen STEIGUNG und ACHSENABSCHNITT zur Berechnung einer Ausgleichsgeraden.

(1) Dazu werden die XY-Werte der bekannten Daten in Spalten angeordnet, hier z.B. die X-Werte im Bereich A2:A4, die Y-Werte in B2:B4
Der unbekannte Y-Wert für X=A4 soll durch Intrapolation oder Extrapolation berechnet werden.
 ABC
1xyy*
2x1y1y1*
3x2y2y2*
4x3y3y3*
5x4 y4*
6   
7k =k 
8d =d 
(2) Die Daten der Ausgleichsgeraden werden berechnet:
B7 = STEIGUNG($B$2:$B$4;$A$2:$A$4)
B8 = ACHSENABSCHNITT($B$2:$B$4;$A$2:$A$4)
Beide Funktionen erhalten als Argumente die Bereiche der bekannten Y-Werte bzw. X-Werte. Beide Bereiche müssen gleich lang sein !
Nun kann man die Ausgleichsgerade für beliebige Punkte P(x,y*) berechnen, z.B. für die bekannten Daten A2:A4 ebenso wie für den unbekannten Wert A5
(3) Die Berechnung beliebiger Punkte der Ausgleichsgeraden erfolgt in Spalte C, z.B. in Zelle
C2 = $B$7*A2+$B$8
Diese Formel kann in die weiteren Zellen C3:C5 kopiert oder nach unten ausgefüllt werden.

TREND

Die Funktion TREND bietet ähnliche Möglichkeiten, muss jedoch je nach Programm-Version manchmal ausdrücklich (aus einem Modul bzw. PlugIn) geladen werden.

Anwendung zur Berechnung beliebiger Punkte:
C11 = TREND($B$2:$B$4;$A$2:$A$4;A11)
Die Funktion erhält ebenso wie die oben vorgestellten Funktionen die Bereiche der bekannten Y-Werte und X-Werte, danach den X-Wert des zu berechnenden Punkts (hier A11).

Diese Funktion bietet eine elegante Möglichkeit zur Berechnung eines 'gleitenden Trends': In diesem Fall werden die bekannten Daten nicht absolut sondern relativ adressiert. Man stützt die Rechnung z.B. auf die jeweils 3..5 letzten bekannten Datenpaare und erhält ein Ergebnis ähnlich einer Glättung gestreuter Datenpunkte, jedoch mit der Möglichkeit zur Extrapolation. Diese Variante erfordert fortgeschrittene Kenntnisse.
 ABC
10x y*
11x11 y11*
12x12 y12*

Diagramm-Optionen

Fast alle Kalkulations-Programme bieten die Möglichkeit, in XY-Diagrammen eine Ausgleichsgerade automatisch einzuzeichnen. Je nach Version ist die Anweisung dazu allerdings unterschiedlich benannt.
Tipp: Erstellen sie zuerst ein XY Diagramm der bekannten Daten. Danach Diagramm rechtsklicken und 'Ausgleichsgerade' suchen. Alternativ: Diagramm markieren, im Diagramm-Menü suchen, oder in der Hilfe suchen.

Vorteil: Man braucht die Ausgleichsgerade nicht auszurechnen. Daher für AnfängerInnen empfehlenswert.
Nachteil: Man kann mit der Ausgleichsgeraden nicht rechnen. Immerhin kann man unbekannte Daten aus dem Diagramm abschätzen.

Lineare Regression mit VBA

Da alle Kalkulations-Programme die Funktionen STEIGUNG, ACHSENABSCHNITT, TREND anbieten, besteht normalerweise kein Bedarf nach Visual Basic (VBA)-Funktionen zum gleichen Zweck. Unabhängig davon wird die Programmierung der Linearen Regression Algorithmus mit VBA auf einer eigenen Webseite gezeigt.