Skip to content

Commit

Permalink
Added more text and images
Browse files Browse the repository at this point in the history
  • Loading branch information
V3lop5 committed Aug 16, 2021
1 parent 2bae577 commit bb53d12
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 5 deletions.
10 changes: 8 additions & 2 deletions 02_Untersuchungsobjekte.tex
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,14 @@ \subsection{Datenauswahl}

Unter Berücksichtigung der Verfügbarkeit (vgl. Abschnitt Beschaffung der Rohdaten) werden die Daten jeweils dem zu prognostizierenden Großhandelspreis gegenübergestellt.

Die nachfolgende Analysen werden losgelöst von Datum und Uhrzeit erfolgen, da diese für das zu erstellende Modell unerheblich sind. Die Daten werden nachfolgend als Daten für Handelszeitschritt t betrachtet.
Bei einer nachfolgenden Analyse ist aufgefallen, dass Liefertag und Lieferzeit einen starken Einfluss auf den Großhandelspreis haben. Um dies korrekt abzubilden, müssten für die verschiedenen Kluster eigene Regressionsmodelle erstellt und hinterher zusammengefügt werden. Dies übersteigt jedoch den Arbeitsaufwand für eine Zweiergruppe. Als Kompromiss wurden Informationen über das gehandelte Produkt verwendet und fließen bei den Deep Learning Modellen mit ein.
Die nachfolgende Analysen werden losgelöst vom Liefertermin (im Bezug auf das Datum) erfolgen, da das Modell die Zusammenhänge und Trends auf Basis der Features und nicht anhand des Liefertags erlernen soll. Ist dies nicht möglich, ist das ein Anzeichen dafür, dass die gewählten Features den Trend im Großhandelspreis nicht vollständig beschreiben können. Aus energiewirtschaftlicher Sicht gibt es keine Begründung, wieso der Strom am 2. Februar teurer als am 2. August sein sollte. Aus energiewirtschaftlicher Sicht sollte dies durch weitere Features wie beispielsweise Außentemperatur, Sonnenauf-/-untergang, Sonnenstunden und Einstrahlungswinkel beschrieben werden. Die Daten werden deshalb nachfolgend losgelöst der Liefertermins als Daten für Handelszeitschritt t betrachtet. (Uns ist bewusst, dass deutlich bessere Ergebnisse unter hinzunahme des Liefermonats, Liefertags und Lieferstunde erzielt werden könnten.)

\image{Einfluss_Zeit.PNG}{Einfluss des Handelszeitpunkts auf den Großhandelspreis}

Der Liefertermin hat natürlich einen großen Einfluss auf den Großhandelspreis. So werden am Großhandelsmarkt die Produkte Peak (8-20 Uhr) und Offpeak (sonst) gehandelt. Die Preise dieser beiden Produkte weisen eine unterschiedliche Verteilung auf.
Genauso lassen sich auch unterschiedliche Verteilungen der Preise an Werktagen und Wochenenden feststellen.

Um dies korrekt in den Modellen abzubilden, müssten separate Modelle erstellt und hinterher zusammengefügt werden. Dies übersteigt meiner Meinung nach aber den Aufwand einer Zweiergruppe, weshalb dies nicht umgesetzt wurde. Jedoch werden diese vier gefundenen Gruppen als Features für die Deep Learning Modelle verwendet. Ob und was die Modelle damit anstellen ist deren Sache.

\todo{Daten in Objekt Basis beschreiben}

Expand Down
23 changes: 20 additions & 3 deletions 04_Datenauswahl.tex
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,27 @@ \subsection{Unterteilung der Datensätze}

In unserem Anwendungsfall ist es wichtig, dass der Datensatz \textbf{nicht} sequentiell in Trainings-, Validierungs- und Testdaten unterteilt wird. Da die für den Datensatz verwendeten Daten einen Trend und/oder Saisonalität aufweisen, würde der Datensatz durch eine sequentielle Aufteilung in drei nicht zwangsläufig repräsentative Bereiche aufgeteilt werden. Beispielsweise könnte die Aufteilung eines zweijährigen Zeitraums bedeuten, dass als Trainingsdaten das erste Jahr verwendet wird und Validierungsdaten die erste Hälfte des zweiten Jahres. Die Validierungsdaten hätten deshalb keine Aussagekraft über die zweite Jahreshälfte. Wären beispielsweise in diesem Bereich weitere Erkenntnisse enthalten, so würden diese bei einer sequentiellen Aufteilung nicht in Bestimmung des Modells einfließen.

Durch eine zufällige Aufteilung des Datensatzes wird diesem Problem entgegen gewirkt. Die Aussagekraft der Validierungsdaten und Testdaten ist höher und die Gefahr von Overfitting wird minimiert. Zudem wird durch die größere Vielfalt der Trainingsdaten ein allgemeingültigeres Modell erstellt, welches bessere Ergebnise in der Praxis liefern wird.
Durch eine zufällige Aufteilung des Datensatzes wird diesem Problem entgegen gewirkt. Die Aussagekraft der Validierungsdaten und Testdaten ist höher und die Gefahr von Overfitting wird minimiert. Zudem wird durch die größere Vielfalt der Trainingsdaten ein allgemeingültigeres Modell erstellt, welches bessere Ergebnisse in der Praxis liefern wird.

Durch die zufällige Aufteilung in Trainings-, Validierungs- und Testdaten könnte im konkreten Anwendungsfall, der Vorhersage des Großhandelspreis in einem zukünftigen Zeitschritt, der erwartete Fehler, welcher durch die Testdaten bestimmt wird, leicht positiv verzerrt werden, falls nicht alle Trends durch die Features abgebildet werden können.

\todo{Vergleich von KNN Preditions bei Shuffle und Nicht Shuffle Datensätzen}
\image{Shuffle_Unshuffled.PNG}{Geringfügiger Unterschied des RMSE zwischen sequentiellem und zufälligem Datensatz}

Eine weitere Möglichkeit zur Aufteilung des Datensatzes wäre die K-Fache Kreuzvalidierung. Dabei wird das Modell mehrfach trainiert, während jeweils ein anderer Teil der Trainingsdaten als Validierungsdaten vorgehalten werden. Diese Methode eignet sich besonders bei kleinen Datensätzen. In unserem Fall ist der Datensatz vergleichsweise groß, weshalb diese Methode nicht notwendig ist. Hierbei wäre nur eine geringfügige Verbesserung des Outsample Fehlers zu erwarten.
Eine weitere Möglichkeit zur Aufteilung des Datensatzes wäre die K-Fache Kreuzvalidierung. Dabei wird das Modell mehrfach trainiert, während jeweils ein anderer Teil der Trainingsdaten als Validierungsdaten vorgehalten werden. Diese Methode eignet sich besonders bei kleinen Datensätzen. In unserem Fall ist der Datensatz vergleichsweise groß, weshalb diese Methode nicht notwendig ist. Hierbei wäre nur eine geringfügige Verbesserung des Outsample Fehlers zu erwarten.

\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|}
\hline

\textbf{Training} & \textbf{Validierung} & \textbf{Test} & \textbf{RMSE auf Test} \\ \hline

60 \% & 20 \% & 20 \% & 4.0932 \\ \hline
70 \% & 15 \% & 15 \% & 3.1259 \\ \hline
80 \% & 10 \% & 10 \% & 3.1066 \\ \hline

\end{tabular}
\caption{Einfluss der Aufteilung des Datensatzes am Beispiel eines LSTM}
\end{table}

Eine spätere Analyse der Trainingsergebnisse des gleichen Datensatzes mit verschiedenen Anteilen bei zufälliger Aufteilung hat gezeigt, dass ein Anteil von 70 \% Trainingsdaten ein sehr gutes Ergebnis liefert. Dementsprechend wurde diese Aufteilung für alle Datensätze gewählt.
Binary file added images/Einfluss_Zeit.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Shuffle_Unshuffled.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit bb53d12

Please sign in to comment.