Zum Inhalt springen

Woche 7 | Session 5: Modellevaluierung, Overfitting, Random Forest & Fehlermetriken

Kurs: Supply Chain Digitalisierung — Modul 3: Analytics im SCM



Testdaten: 300 zurückgehaltene Beobachtungen aus dem Datensatz mit 1000 Einzelhändlern. Wurden NIEMALS beim Training verwendet. Für jeden der 300 Einzelhändler: yᵢ = tatsächliche Bestellmenge | ŷᵢ = vom Regressionsbaum prognostiziert

  • MSE-Formel (Testdaten): MSE = (1/n) × Σᵢ₌₁ⁿ (yᵢ − ŷᵢ)²
  • Ergebnis bei Tiefe = 2: MSE (Test) = 5.662.511
  • Ergebnis bei Tiefe = 2 (Training): MSE (Training) = 5.996.464
from sklearn.metrics import mean_squared_error
# Auf Testdaten vorhersagen
y_pred_test = reg_tree.predict(X_test)
# MSE auf Testdaten berechnen
mse_test = mean_squared_error(Y_test, y_pred_test)
print("Test MSE:", mse_test)
# Ausgabe: Test MSE: 5662511.xx

Overfitting — Simulation von Trainings- vs. Test-MSE

Abschnitt betitelt „Overfitting — Simulation von Trainings- vs. Test-MSE“

Hypothese: Wenn wir Knoten öfter aufteilen (tieferer Baum) → verfeinerte Segmente → niedrigerer MSE.

  • Bei TRAININGSDATEN: Ja — der MSE sinkt immer mit zunehmender Tiefe.
  • Bei TESTDATEN: Sinkt zunächst → steigt dann wieder. Das Modell beginnt, die Trainingsdaten auswendig zu lernen, anstatt allgemeine Muster zu erkennen → scheitert bei neuen Einzelhändlern. Das nennt man Overfitting (Überanpassung).
BaumtiefeTrainings-MSETest-MSEInterpretation
2 (Basis)5.996.4645.662.511Startpunkt. Test-MSE etwas niedriger als Training.
3, 4↓ Reduziert↓ ReduziertBeide verbessern sich — mehr Splits helfen.
5 ← Optimal↓ ReduziertMinimum ★Beste Testleistung. Optimale Baumtiefe = 5.
6↓ Sinkt weiter↑ Beginnt zu steigenOVERFITTING BEGINNT. Testleistung verschlechtert sich.
7–12↓ → 0 (auswendig lernen)↑ Steigt weiterSchweres Overfitting. Test-Vorhersage unbrauchbar.

Random Forest Algorithmus — Die Lösung für Overfitting

Abschnitt betitelt „Random Forest Algorithmus — Die Lösung für Overfitting“

Overfitting und Random Forest Konzept

Random Forest = viele Entscheidungsbäume, die auf randomisierten Teilmengen von Daten und Merkmalen basieren. Ensemble-Modellierung: Statt 1 Modell → baue k Modelle → kombiniere Vorhersagen. Die Durchschnittsbildung über viele Bäume gleicht Einzelfehler aus → genauer und stabiler.

  1. Bootstrap-Sampling: Ziehen von k zufälligen Stichproben MIT ZURÜCKLEGEN. Jeder Baum trainiert mit einer anderen Stichprobe.
  2. Merkmalsrandomisierung: Jeder Baum nutzt eine zufällige Teilmenge der Merkmale (z.B. 3 von 10). Verschiedene Bäume fokussieren sich auf unterschiedliche Aspekte.
  1. Bootstrap-Sampling: Erstelle k verschiedene Trainingsstichproben.
  2. Merkmale randomisieren: Jeder Baum nutzt eine zufällige Teilmenge der Merkmale.
  3. k Bäume aufbauen: Baue k Regressionsbäume → jeder liefert eine prognostizierte Nachfrage (ŷ).
  4. Vorhersagen kombinieren: Durchschnitt der k prognostizierten Nachfragen: Ŷ_final = (ŷ₁ + ŷ₂ + … + ŷₖ) / k

Ergebnisse — Random Forest vs. einzelner Regressionsbaum

Abschnitt betitelt „Ergebnisse — Random Forest vs. einzelner Regressionsbaum“
ModellMax. TiefeTest-MSEBesser?
Einzelner Regressionsbaum (Tiefe 2)25.662.511Referenz
Einzelner Regressionsbaum (Tiefe 5)5~44,xx,xxxBesser als Tiefe 2
Random Forest (20 Bäume, Tiefe 5)5 (pro Baum)3.721.603Am besten ✓ (~34% niedriger als Tiefe 2)

Fehlermetriken für Nachfrageprognosen — Alle 5 Maße

Abschnitt betitelt „Fehlermetriken für Nachfrageprognosen — Alle 5 Maße“

Fehlerterm: eₜ = Fₜ − Dₜ (wobei Fₜ = Prognose, Dₜ = Tatsächlich)

MetrikVollständiger NameFormelWann verwenden / Interpretation
MSEMean Squared Error(1/n) × Σ(Fₜ − Dₜ)²Bestraft große Fehler. Gut für Modellvergleiche. Nicht in Originaleinheiten.
MADMean Absolute Deviation(1/n) × Σ|Fₜ − Dₜ|Leichter zu interpretieren (gleiche Einheit wie Nachfrage). Robuster gegen Ausreißer.
MAPEMean Absolute % Error(100/n) × Σ|Fₜ − Dₜ| / DₜAm verständlichsten fürs Management (“im Schnitt X% daneben”). Skalenunabhängig.
BiasForecast Bias (Prognose-Verzerrung)(1/n) × Σ(Fₜ − Dₜ)Misst systematische Über-/Unterschätzung. Sollte nahe 0 liegen.
Tracking SignalTracking SignalBias / MADSignalisiert, ob das Modell abdriftet. Löst Überprüfung aus, wenn außerhalb von ±4 bis ±6.

Rahmenwerk zur Modellauswahl — 7-Schritte-Prozess

Abschnitt betitelt „Rahmenwerk zur Modellauswahl — 7-Schritte-Prozess“
#SchrittBeispiel aus diesem Kurs
1Daten verstehen7 Einzelhändler-Merkmale: kategoriale Variablen codiert. Auf Ausreißer geprüft.
2Evaluierungsmetrik wählenMSE gewählt. MAPE besser fürs Management-Reporting.
3Daten aufteilen70% Training | 30% Test. Testdaten NUR für finale Evaluierung nutzen.
4Mit mehreren Algorithmen experimentierenRegressionsbaum vs. Random Forest getestet. RF gewinnt.
5Hyperparameter-TuningTiefen 2–12 getestet, um optimale Tiefe=5 zu finden.
6Interpretierbarkeit berücksichtigenEinzelner Baum: sehr interpretierbar. Random Forest: schwerer zu erklären, aber genauer.
7Ressourcenbeschränkungen prüfen20-Baum Random Forest ist machbar. 1000+ Baum XGBoost braucht evtl. Cloud.

  • Analytics + Big Data: Daten → Modell → Entscheidung → Wert. Big Data 6 Vs.
  • Arten von Analytics: Deskriptiv → Diagnostisch → Prädiktiv → Präskriptiv.
  • Predictive Maintenance: Klassifikationsbaum (Gini). Output: 4 Blattknoten-Regeln. Python-Implementierung.
  • Nachfrageprognose: Regressionsbaum (MSE). Output: kontinuierliche Bestellmengen. Python: Dummy-Variablen.
  • Random Forest & Evaluierung: Overfitting, Bootstrap, Fehlermetriken (MSE, MAD, MAPE).