Verkehrsvorhersage mit maschinellem Lernen – Random Forest

In diesem Projekt haben wir versucht, den Traffic (insbesondere Klicks) anhand historischer Suchdaten aus der Google Search Console vorherzusagen. Wir haben zwei Ansätze getestet: einen mit einem Random Forest Regressor und einen weiteren, bei dem nach der Analyse der Ergebnisse Verbesserungen integriert wurden.

Erster Versuch:

Die erste Version des Modells folgte diesen Schritten:

Datenvorverarbeitung:

Die Datendatei traffic.csv wurde geladen und die Spalte „Date“ wurde in ein numerisches Format umgewandelt, das die Anzahl der Tage seit dem ersten Datum im Datensatz darstellt. Diese Umwandlung machte die zeitbasierten Daten für maschinelle Lernmodelle geeignet.

Fehlende Werte im Datensatz, insbesondere in den Spalten CTR, Position, Impressions und Klicks, wurden durch Ersetzen der NaN-Werte mit dem Mittelwert der jeweiligen Spalte behandelt.

Die Merkmalsgenerierung fügte neue Spalten für „day_of_week“, „month“ und „week_of_year“ hinzu, um zyklische Muster im Traffic zu erfassen.

Merkmalsauswahl:

Die Merkmale für das Modell beinhalteten Impressions, day_of_week, month und week_of_year. Spalten wie CTR und Position wurden entfernt, da sie für das Modell nicht erforderlich waren.

Modellierung: Ein Random Forest Regressor wurde verwendet, um Klicks vorherzusagen, nachdem die Merkmale mit StandardScaler skaliert wurden. Das Modell wurde mit zwei wichtigen Metriken bewertet: Mean Absolute Error (MAE) und Root Mean Squared Error (RMSE). Die Ergebnisse waren wie folgt:

  • MAE: 105,38
  • RMSE: 149,04

Trotz dieser hohen Fehlerwerte lieferte das Modell eine Ausgangsbasis für weitere Verbesserungen.

Visualisierung:

Es wurde ein Diagramm erstellt, das die tatsächlichen gegen die vorhergesagten Klicks vergleicht, was die Diskrepanz zwischen den vorhergesagten und den tatsächlichen Werten visuell darstellte.

Verbessertes Modell:

Nach den ersten Ergebnissen haben wir beschlossen, das Modell zu verfeinern. Hier sind die vorgenommenen Anpassungen:

Datenanpassungen:

Nach der Überprüfung der ersten Ergebnisse haben wir beschlossen, die Spalten CTR und Position ganz aus den Merkmalen zu entfernen, da sie wenig Einfluss hatten oder mit anderen Merkmalen redundant waren.

Feature Engineering:

Wir haben weiterhin die Merkmale Impressions, day_of_week, month und week_of_year verwendet und besonders auf die Sicherstellung der Datenqualität geachtet. Fehlende Werte in allen relevanten Spalten wurden durch den Mittelwert der Spalte ersetzt.

Modellanpassungen:

Der Random Forest Regressor wurde beibehalten, aber das Modell wurde nun mit saubereren Daten trainiert, die sich ausschließlich auf die relevantesten Merkmale konzentrierten. Diese Anpassung verbesserte die Genauigkeit des Modells und reduzierte Overfitting.

Evaluierung:

Nach der Verfeinerung des Modells erzielten wir viel bessere Ergebnisse:

  • Mean Absolute Error (MAE): 53,97
  • Root Mean Squared Error (RMSE): 74,02

Diese verbesserten Ergebnisse zeigen, dass das Modell nun genauer ist und besser in der Lage ist, die Klicks vorherzusagen.

Nächste Schritte:

Um das Modell weiter zu verbessern, werden wir Ausreißer mit Z-Scores oder dem Interquartilsabstand (IQR) behandeln, saisonale Merkmale wie Feiertage hinzufügen und Verzögerungsmerkmale einführen, um zeitliche Abhängigkeiten zu erfassen.

Zusätzlich werden wir Hyperparameter durch Grid Search oder Random Search optimieren und alternative Modelle wie Gradient Boosting oder XGBoost untersuchen, die möglicherweise bessere Ergebnisse liefern. Die Behandlung des Problems als eine Zeitreihen-Prognoseaufgabe, unter Einbeziehung zusätzlicher historischer Verkehrsdaten, könnte ebenfalls die Vorhersagen verbessern. Diese Schritte sollten dazu beitragen, die Genauigkeit des Modells weiter zu steigern.