
Edit v5.002 from 2002-05-21 to 2022-11-25 by AMu+HSc+SSc+JGr
Regression
Die Regressionsanalyse wird verwendet,
um einen nächsten Wert,
aus schon bereits vorhandenen Werten zu berechnen.
D.h. der Sinn liegt darin,
das man einen Wert schon für einen weitern Wertebereich voraussagen
kann.
Dabei muss der Wert nicht von der Zeit abhängen.
Dies ist zwar hauptsächlich das Einsatzgebiet,
deshalb spricht man auch im Allgemeinen i.d.R. von den Zukunftswerten.
In einigen Kalkulationsprogrammen, im Bereich Diagramm,
gibt es dafür den Begriff der Trendlinie,
die man dort optional einfügen und verwenden kann.
Wir wollen Sie hier aber einmal berechnen.
Die lineare Regression
(/1/
S. 651: Regression und Korrelation)
ist dann einsetzbar,
wenn der weitere Verlauf einigermaßen linear verläuft.
Den, je linearer der Verlauf ist, desto weiter gilt die Vorhersage.
In wie weit die Daten voneinander abhängen,
klärt die Korrelation.
Das ist hier aber nicht Ziel der Betrachtung.
Aufgabe
In den letzten 3 Jahren (2001 ... 2003) wurden jeweils 4.000; 3.000 und 5.000 Euro Umsatz erzielt. Der Auftraggeber nimmt an, das es einen linearen Zusammenhang gibt, zwischen Geschäftsjahr und Umsatz. Die Frage ist, wie wird der Umsatz sich in den nächsten 2 Jahren entwickeln, wenn es so weiter geht, wie in den bisherigen 3 Jahren.
- Umsatz 2004: ?€
- Umsatz 2005: ?€
Gegeben: In der Skizze grün unterstrichen.
- Umsatz 2001: 4.000€
- Umsatz 2002: 3.000€
- Umsatz 2003: 5.000€
Formel:
- prognostischer Wert Y
-
ax + (bx * x) (1)
mit - Mittelwert der Regression ax
-
y -
(bx * x)
(2)
- Wertfaktor der linearen Regression bx
- Summe der Produkte / Summe der Quadrate
-
∑i=1n
[(xi -
x) *
(yi -
y)]
/
∑i=1n
(xi -
x)2
(3)
-
Mittelwert von x
wobei
n: die Anzahl der Werte ist und
i: die Laufvariablen ist, welche nacheinander die Werte von 1 bis n annimmt. -
1/n * ∑i=1n(xi) (4)
- Mittelwert von y
-
1/n * ∑i=1n(yi) (5)
- Anzahl der Ist-Werte n
- (x1, y1), … (xn, yn) (6)
Konstanten:

- Lösung:
- Um die Umsatzprognose per linearer Regression zu berechnen, benötigen wir zur Berechnung folgende Zwischenwerte:
-
Ist-Werte nach Formel (6)
- n, d.h. Jahresangaben plus dazugehörigen Umsatz
- (2001, 4.000€), (2002, 3.000€), (2003, 5.000€)
- 3
-
Den Mittelwert des Umsatzes nach Formel (5)
- y
- (4.000+3.000+5.000)/3 = 4.000
-
Den Mittelwert der Jahre nach Formel (4)
- x
- (2001+2002+2003/)3= 2002
-
Zähler des Wertfaktors
der linearen Regression bx nach Formel (3)
- ∑i=1n [(xi - x) * (yi - y)]
- (2001-2002)*(4.000-4.000) + (2002-2002)*(3.000-4.000) + (2003-2002)*(5.000-4.000)
- 0 + 0 + 1.000 = 1.000
-
Nenner des Wertfaktors
der linearen Regression bx nach Formel (3)
- ∑i=1n (xi - x)2
- (2001-2002)2 + (2002-2002)2 + (2003-2002)2
- (-1)2 + (0)2 + (+1)2
- 2
-
Wertefaktor
der linearen Regression bx nach Formel (3)
- Zähler / Nenner
- 1.000 / 2
- 500
-
Mittelwert der linearen Regression nach Formel (2)
- ax
- 4.000 - (500 * 2002)
- -997.000
- Lineare Regression
-
Prognostischer Zukunftswert Y nach Formel (1)
- Y2004
- -997.000 + (500 * 2004) = 5.000
- Y2005
- -997.000 + (500 * 2005) = 5.500

Programmbeispiel
Die lineare Regression wurde in einem Visual Basic-Programm für eine Kalkulation in Excel eingesetzt. Die Realisierung ist auf der folgenden Seite zu sehen. Zu beachten ist, das das Ende auf den 12 Monate gesetzt worden ist.
'*************************************************************** '* Lineare Regressionsanalyse v1.23 * '* ----------------------------------------------------------- * '* Formel Y(i) = rWertA+rWertB*rT * '* rWertA = 1 / n * ( Y1 + Y2 + Yn ) * '* rWertB = 12 / n * ( n - 1 ) * Summe mit j=1 bis n[ Yj * '* **************** (j - ( ( n + 1 ) / 2) ) ] * '* rT = i - ( n + 1 ) / 2 * '* Input * '* - arWerte: Feld mit bzw. fuer die Gleitkomma-Werten. Zur * '* Vorsicht bzgl. der Dimensionierung sollte diese in dem * '* Element mit dem Index NULL stehen. * '* iIst = Anzahl der vorhandenen Werte * '* iSoll = Anzahl der zu errechnenden Werte * '* Process * '* + Constant * '* + Variable * '* - rSumme ; rWertA, rWertB für die Berechnung der A " B Werte* '* - rT Für die Periode zuständig (nur für die Berechnung * '* - iI Hilszähler * '* Output * '* - arwerte ( rest für die regkursion * '* - rWertA Wert A für die Berechnung * '* - rWertB Wert b für die Berechnung * '* - rT Für die Berechnung * '*************************************************************** Public Function reg_lin(arWerte, iIst, iSoll) As Boolean '******* Variablen deklarieren ********************************* Dim rSumme As Single Dim rWertA, rWertB, rWertbZ, rT As Single Dim iI As Integer '******* FOR schleife zum Berechnen der "A" und "B" Werte.****** '******* für die funktion Y = A+B+T **************************** rSumme = 0! rWertA = 0! iI = 0 rWertB = 0 rWertbZ = 0 For iI = 1 To iIst Step 1 rWertA = rWertA + arWerte(iI) '*************************************************************** '***** b =Summe von j=1 bis n[ Yj * (j - ( ( n + 1 ) / 2) ) ] '*************************************************************** rWertB = rWertB + (arWerte(iI) * (iI - iIst + 1) / 2) Next iI '******* Berechnung des Wertes "a" für die spätere Berechnung*** '******* 'b = 12 / n * ( n - 1 ) * Summe *********************** rWertA = rWertA / (iIst) '****** Berechnung des b Wertes für die spätere Berechnung ***** '******* 'b = 12 / n * ( n² - 1 ) * Summe ********************** rWertB = 12 / (iIst * (iIst * iIst - 1)) * rWertB '******* Berechnung der neue Periode nur für Berechnung nötig*** '******* rT = i - ( n + 1 ) / 2 ******************************** '******* Y = A + B * T ***************************************** rT = 0 For iI = iIst + 1 To iSoll Step 1 rT = iI - (iIst + 1) / 2 arWerte(iI) = rWertA + rWertB * rT Next iI '****** Ausgabe des Wertes der für die Verknüpfung ************* reg_lin = True End Function