Verkaufsdaten Gelato Paradiso:
Jahr QuartalStr Verkauf Periode Saisonindex
0 1 Q1 8 1 0.6
1 1 Q2 20 2 1.4
2 1 Q3 25 3 1.7
3 1 Q4 10 4 0.8
4 2 Q1 10 5 0.6
5 2 Q2 24 6 1.4
6 2 Q3 30 7 1.7
7 2 Q4 12 8 0.8
Désaisonierte Verkaufsdaten (Y_d):
Jahr QuartalStr Verkauf Saisonindex Verkauf_desaisoniert
0 1 Q1 8 0.6 13.33
1 1 Q2 20 1.4 14.29
2 1 Q3 25 1.7 14.71
3 1 Q4 10 0.8 12.50
4 2 Q1 10 0.6 16.67
5 2 Q2 24 1.4 17.14
6 2 Q3 30 1.7 17.65
7 2 Q4 12 0.8 15.00
Initialisierung für désaisonierte Daten Y_d:
y_d,0^(1) = 11.00
y_d,0^(2) = 9.00
Holt's Methode auf désaisonierten Daten Y_d (t=1 bis 8):
Periode y_d_t y1_d_t y2_d_t a_d_hat_t b_d_hat_t
0 1 13.33 11.47 9.49 13.44 0.49
1 2 14.29 12.03 10.00 14.06 0.51
2 3 14.71 12.57 10.51 14.62 0.51
3 4 12.50 12.55 10.92 14.18 0.41
4 5 16.67 13.38 11.41 15.34 0.49
5 6 17.14 14.13 11.96 16.30 0.54
6 7 17.65 14.83 12.53 17.13 0.58
7 8 15.00 14.87 13.00 16.73 0.47
Letzte Parameter für Y_d (t=8):
a_d_hat_8 = 16.73
b_d_hat_8 = 0.47
Prognostizierte désaisonierte Werte Y_d für Jahr 3:
Jahr 3, Q1 (Periode 9): 17.20
Jahr 3, Q2 (Periode 10): 17.67
Jahr 3, Q3 (Periode 11): 18.14
Jahr 3, Q4 (Periode 12): 18.60
Finale Verkaufsprognosen für Jahr 3 (resaisoniert):
Periode QuartalStr Prognose_Desaisoniert Saisonindex Prognose_Final
0 9 Q1 17.20 0.6 10.32
1 10 Q2 17.67 1.4 24.74
2 11 Q3 18.14 1.7 30.83
3 12 Q4 18.60 0.8 14.88
Übung 02
Prognosen und Exponentielles Glätten
Aufgabe 1: Prognose mit Trend und Saison
Luigi’s Eisdiele in Duisburg hat saisonal stark schwankende Verkaufszahlen (in hundert Litern Eis). Es gibt vier Quartale pro Jahr. Luigi hat die Verkaufszahlen der letzten zwei Jahre gesammelt:
Jahr | Quartal | Verkauf (100L) \(y_t\) |
---|---|---|
1 | Q1 | 8 |
1 | Q2 | 20 |
1 | Q3 | 25 |
1 | Q4 | 10 |
2 | Q1 | 10 |
2 | Q2 | 24 |
2 | Q3 | 30 |
2 | Q4 | 12 |
Luigi hat bereits (vereinfachte) Saisonindizes für die vier Quartale bestimmt:
- Q1: 0.6
- Q2: 1.4
- Q3: 1.7
- Q4: 0.8
Er geht von einem multiplikativen Saisonmodell aus (\(Y = T \cdot S \cdot I\)).
Ihre Aufgaben:
- Bereinigen Sie die Verkaufszahlen, indem Sie jeden Wert durch den entsprechenden Saisonindex teilen. Diese Werte \(Y_d\) repräsentieren die Trend-Komponente (plus Rest).
- Auf die bereinigten Daten \(Y_d\) wenden Sie nun eine Prognosemethode für Trenddaten an. Verwenden Sie hierfür die exponentielle Glättung mit Trendkorrektur.
- Nutzen Sie einen Glättungsfaktor \(\alpha = 0.2\).
- Initialisierungswerte für die bereinigten Daten (\(Y_d\)) zum Zeitpunkt \(t=0\):
- Geschätztes Niveau \(\widehat{a}_{d,0} = 13\)
- Geschätzter Trend \(\widehat{b}_{d,0} = 0.5\)
- Berechnen Sie zuerst \(y_{d,0}^{(1)}\) und \(y_{d,0}^{(2)}\) basierend auf \(\widehat{a}_{d,0}\), \(\widehat{b}_{d,0}\) und \(\alpha\).
- Prognostizieren Sie die bereinigten Werte für die vier Quartale des nächsten Jahres (Jahr 3, Q1 bis Q4). Hier ist \(t\) der Index des letzten Beobachtungspunktes der bereinigten Reihe.
- Saisonalisieren Sie diese Prognosen, indem Sie sie mit den entsprechenden Saisonindizes multiplizieren, um die finalen Verkaufsprognosen zu erhalten.
Lösung (Python-Code):
Aufgabe 2: Saisonindizes selbst berechnen
Das Unternehmen Frosty, das auch die Eisdiele von Luigi beliefert, hat sich auf die Herstellung und den Verkauf von handgemachtem Eis spezialisiert. Die Geschäftsführerin hat festgestellt, dass die Verkaufszahlen (in tausend Euro) stark von der Jahreszeit abhängen. Um die Produktionsmengen besser planen und Marketingkampagnen gezielter ausrichten zu können, möchte sie die saisonalen Schwankungen genauer verstehen. Sie hat die Verkaufsdaten der letzten drei Jahre gesammelt:
Jahr | Quartal | Verkauf (Tsd. €) \(y_t\) |
---|---|---|
1 | Q1 | 150 |
1 | Q2 | 250 |
1 | Q3 | 350 |
1 | Q4 | 180 |
2 | Q1 | 170 |
2 | Q2 | 280 |
2 | Q3 | 390 |
2 | Q4 | 210 |
3 | Q1 | 190 |
3 | Q2 | 310 |
3 | Q3 | 430 |
3 | Q4 | 240 |
Die Geschäftsführerin geht von einem multiplikativen Saisonmodell aus (\(Y = T \cdot C \cdot S \cdot I\)) und möchte die Saisonindizes mit der “Ratio to Moving Average”-Methode bestimmen. Da es vier Quartale pro Jahr gibt, wird ein gleitender Durchschnitt der Ordnung 4 verwendet.
Ihre Aufgaben:
- Berechnen Sie den zentrierten gleitenden Durchschnitt (ZGD) der Ordnung 4 für die Verkaufsdaten.
- Bestimmen Sie die Roh-Saisonfaktoren (\(si_{tm}\)), indem Sie die tatsächlichen Verkaufszahlen \(y_{tm}\) durch die entsprechenden ZGD-Werte teilen.
- Berechnen Sie die durchschnittlichen Saisonfaktoren (\(s_m\)) für jedes Quartal, indem Sie die Roh-Saisonfaktoren für das jeweilige Quartal über die Jahre mitteln.
- Normieren Sie die durchschnittlichen Saisonfaktoren, sodass ihre Summe der Anzahl der Saisons (hier 4) entspricht. Diese normierten Werte sind die finalen Saisonindizes (\(\widehat{s}_m\)).
Lösung (Python-Code):
Verkaufsdaten FrostyFun Eiscreme:
Jahr QuartalStr Verkauf Periode
0 1 Q1 150 1
1 1 Q2 250 2
2 1 Q3 350 3
3 1 Q4 180 4
4 2 Q1 170 5
5 2 Q2 280 6
6 2 Q3 390 7
7 2 Q4 210 8
8 3 Q1 190 9
9 3 Q2 310 10
10 3 Q3 430 11
11 3 Q4 240 12
Verkaufsdaten mit GD4 und ZGD4:
Periode Verkauf GD4 ZGD4
0 1 150 NaN NaN
1 2 250 NaN NaN
2 3 350 NaN 235.00
3 4 180 232.5 241.25
4 5 170 237.5 250.00
5 6 280 245.0 258.75
6 7 390 255.0 265.00
7 8 210 262.5 271.25
8 9 190 267.5 280.00
9 10 310 275.0 288.75
10 11 430 285.0 NaN
11 12 240 292.5 NaN
Verkaufsdaten mit Roh-Saisonfaktoren:
Periode QuartalStr Verkauf ZGD4 Roh_SF
2 3 Q3 350 235.00 1.489
3 4 Q4 180 241.25 0.746
4 5 Q1 170 250.00 0.680
5 6 Q2 280 258.75 1.082
6 7 Q3 390 265.00 1.472
7 8 Q4 210 271.25 0.774
8 9 Q1 190 280.00 0.679
9 10 Q2 310 288.75 1.074
Durchschnittliche Saisonfaktoren (s_m):
QuartalNum s_m_durchschnitt
0 1 0.679
1 2 1.078
2 3 1.481
3 4 0.760
Summe der durchschnittlichen SF: 3.998
Normierungsfaktor: 1.001
Finale normierte Saisonindizes:
QuartalNum s_m_durchschnitt Saisonindex_Normiert
0 1 0.679 0.680
1 2 1.078 1.078
2 3 1.481 1.481
3 4 0.760 0.761
Summe der normierten Saisonindizes: 4.00
Übersicht der finalen Saisonindizes:
Q1 0.680
Q2 1.078
Q3 1.481
Q4 0.761
dtype: float64
Aufgabe 3: Holt’s Methode für Trenddaten
Das kleine Startup “Deep Learning” im Herzen von Duisburg hat kürzlich ein neues KI-Tool für die Analyse von Textdaten auf den Markt gebracht. Die Kunden sind begeistert, und die Verkaufszahlen steigen stetig. Die Firma möchte nun die zukünftige Nachfrage besser planen können, um genügend Mitarbeiter zur Betreuung der Kunden zu haben und gleichzeitig Überstunden zu vermeiden. Die Firma hat die Verkaufszahlen der letzten 8 Monate sorgfältig dokumentiert:
Monat (t) | Verkäufe (\(y_t\)) |
---|---|
1 | 50 |
2 | 52 |
3 | 58 |
4 | 69 |
5 | 70 |
6 | 72 |
7 | 77 |
8 | 83 |
Deep Learning hat sich entschieden, das Verfahren von Holt zu verwenden, um eine Prognose zu erstellen. Dieses Verfahren berücksichtigt sowohl das aktuelle Niveau der Nachfrage als auch den Trend.
Ihre Aufgaben:
- Verwenden Sie das Verfahren von Holt, um die geglätteten Werte für das Niveau (\(\widehat{a}_t\)) und den Trend (\(\widehat{b}_t\)) für die Monate \(t=1\) bis \(t=8\) zu berechnen.
- Nutzen Sie die folgenden Glättungsfaktoren:
- \(\alpha = 0.3\) (für das Niveau)
- \(\beta = 0.2\) (für den Trend)
- Die Initialisierungswerte zum Zeitpunkt \(t=0\) sind:
- Geschätztes Niveau \(\widehat{a}_{0} = 48\) Verkäufe
- Geschätzter Trend \(\widehat{b}_{0} = 4\) Verkäufe pro Monat
- Nutzen Sie die folgenden Glättungsfaktoren:
- Erstellen Sie eine Prognose für die Verkaufszahlen der nächsten zwei Monate (Monat 9 und Monat 10).
- Was ist der Unterschied zwischen der Prognose aus der letzten Übung und dem Verfahren von Holt?
- Würden Sie denken, dass das Verfahren von Holt und Winters besser geeignet wäre, um die Verkaufszahlen zu prognostizieren?
Lösung (Python-Code):
Verkaufsdaten Deep Learning:
Monat Verkauf
0 1 50
1 2 52
2 3 58
3 4 69
4 5 70
5 6 72
6 7 77
7 8 83
Berechnung mit Holt's Methode (t=1 bis 8):
t y_t p_t a_hat_t b_hat_t
0 1 50 52.00 51.40 3.88
1 2 52 55.28 54.30 3.68
2 3 58 57.98 57.99 3.68
3 4 69 61.67 63.87 4.12
4 5 70 67.99 68.60 4.24
5 6 72 72.84 72.59 4.19
6 7 77 76.78 76.85 4.21
7 8 83 81.05 81.64 4.32
Letzte Parameter (t=8):
a_hat_8 = 81.64
b_hat_8 = 4.32
Prognosen für die nächsten 2 Monate:
Monat 9: 85.96 Verkäufe
Monat 10: 90.29 Verkäufe
Der Hauptunterschied liegt in der Art und Weise, wie das Niveau und der Trend der Zeitreihe geschätzt und geglättet werden. Das Verfahren aus Übung 1 (Exponentielle Glättung mit Trendkorrektur)verwendet einen einzigen Glättungsfaktor. Das Niveau und der Trend werden durch eine doppelte exponentielle Glättung derselben Zeitreihe abgeleitet. Aus diesen beiden Reihen werden dann die Schätzungen für Niveau und Trend berechnet. Die Reaktion auf Änderungen im Niveau und im Trend ist somit durch denselben Parameter alpha gekoppelt. Das Verfahren von Holt verwendet zwei separate Glättungsfaktoren: alpha für das Niveau und beta für den Trend. Das Niveau wird direkt aus dem aktuellen Beobachtungswert y_t und der vorherigen Schätzung für Niveau und Trend (a_t-1 + b_t-1) berechnet. Der Trend (b_t) wird direkt aus der Veränderung des Niveaus (a_t - a_t-1) und der vorherigen Trendschätzung (b_t-1) berechnet. Dies ermöglicht eine flexiblere Anpassung, da man unabhängig voneinander festlegen kann, wie stark die Glättung auf Veränderungen im Niveau bzw. im Trend reagieren soll. Wenn sich beispielsweise das Grundniveau schnell ändert, der Trend aber relativ stabil ist, kann man unterschiedliche Werte für alpha und beta wählen. Zusammenfassend lässt sich sagen, dass das Verfahren von Holt durch die Verwendung von zwei getrennten Glättungsfaktoren eine differenziertere Anpassung an Niveau und Trend einer Zeitreihe erlaubt als die exponentielle Glättung mit Trendkorrektur, die nur einen Glättungsfaktor nutzt.
Das Verfahren von Holt-Winters erweitert das Holt-Verfahren um eine saisonale Komponente. Es ist also besonders dann geeignet, wenn die Zeitreihe nicht nur einen Trend, sondern auch wiederkehrende saisonale Muster aufweist (z.B. quartalsweise oder monatliche Schwankungen, die sich jedes Jahr ähnlich wiederholen). Diese Daten zeigen einen deutlichen Trend (steigende Verkaufszahlen). Ob auch eine signifikante Saisonalität vorliegt, lässt sich anhand von nur 8 Monaten Daten schwer beurteilen. Für die Identifizierung von saisonalen Mustern benötigt man in der Regel Daten über mehrere Saisons hinweg (z.B. mindestens 2-3 Jahre bei monatlichen Daten, um zu sehen, ob sich bestimmte Monate systematisch von anderen unterscheiden). Mit den aktuell vorliegenden 8 Datenpunkten ist das Verfahren von Holt eine gute Wahl, da es den sichtbaren Trend adressiert. Um zu entscheiden, ob Holt-Winters besser wäre, müssten mehr Daten gesammelt werden. Wenn sich dann klare saisonale Muster zeigen, wäre Holt-Winters eine sinnvolle Erweiterung. Andernfalls ist Holt ausreichend.