Compare commits

76 Commits

Author SHA1 Message Date
1d1436612c Updated thesis 2024-05-18 20:45:03 +02:00
5c365ebd88 Updated thesis 2024-05-18 11:58:45 +02:00
Victor Mylle
8a219d0d19 Added diffusion validation set 2024-05-17 16:11:17 +00:00
11ae0e1949 Using val set for diffusion trainer 2024-05-17 13:24:02 +02:00
615f9486bc Updated thesis 2024-05-13 13:47:59 +02:00
fecf1492fb Updated thesis 2024-05-13 11:33:00 +02:00
56d56446fa Updated thesis 2024-05-13 10:08:47 +02:00
bc33b0368d Updated thesis 2024-05-12 11:18:03 +02:00
465bcf7d8b Updated thesis 2024-05-11 21:49:12 +02:00
96e4ed042c Updated thesis 2024-05-11 19:50:50 +02:00
db8a527949 Updated thesis 2024-05-11 02:10:35 +02:00
70a57eacb6 Updated thesis 2024-05-11 02:09:17 +02:00
934d4951ff Updated thesis 2024-05-11 02:06:07 +02:00
1b2b3518e2 Updated thesis 2024-05-10 15:52:57 +02:00
0bcaa2f63f Updated thesis 2024-05-10 00:29:12 +02:00
Victor Mylle
2db604d2da Updated thesis 2024-05-09 20:46:54 +00:00
fa03debf86 Updated thesis 2024-05-09 13:59:18 +02:00
907f62d9cd Updated thesis 2024-05-09 13:25:22 +02:00
4c4914e227 Merge branch 'main' of https://git.victormylle.be/VictorMylle/Thesis 2024-05-08 17:56:59 +02:00
8a2e1ce7d5 Worked further on thesis 2024-05-08 17:53:19 +02:00
Victor Mylle
3fba166dc5 Wrote more about workings of diffusion models and fixed intermediate samples 2024-05-07 22:04:34 +00:00
Victor Mylle
d9b6f34e97 Added GRU results to thesis + intermediate samples of diffusion model 2024-05-06 23:28:42 +00:00
d7f4c1849b Non autregressive gru model load 2024-05-06 16:11:15 +02:00
19ab597ae6 Non linear results section done 2024-05-06 14:23:10 +02:00
177fa1ad86 Added non-autoregresive non-linear results to thesis 2024-05-05 02:17:04 +02:00
75b35bb2c9 Non-linear non autoregressive experiments 2024-05-04 16:51:26 +02:00
e0c42797e0 Updated thesis and added quantile performance plots to non autoregressive quantiles 2024-05-04 14:13:37 +02:00
074e654b8a Updated thesis 2024-05-03 18:13:01 +02:00
2597577d3d Other changes 2024-04-25 14:09:09 +02:00
361414cd41 Updated thesis 2024-04-25 14:08:43 +02:00
c7bcd5be55 Updated diffusion section of thesis + adding metrics to diffusion experiments 2024-04-24 22:06:30 +02:00
f691ab384b Increased patience for AQR 2024-04-23 21:02:40 +02:00
12bff03d69 Started writing about GRU model 2024-04-22 15:54:25 +02:00
ac08707369 Adding intermediate table with non linear model results 2024-04-20 18:49:26 +02:00
3a40959a32 Wrote more about non-autoregressive linear quantile regression 2024-04-19 23:28:08 +02:00
e0fbf54347 Updated non autoregressive images in thesis 2024-04-19 16:19:18 +02:00
afa70fc3b3 Trying to reduce white space for saved matplotlib images 2024-04-19 16:00:37 +02:00
2680973baf Added non autoregressive examples to thesis 2024-04-19 15:28:20 +02:00
0817f60e72 Fixed issue with clearml report image 2024-04-19 15:09:55 +02:00
2cdd2257a0 Fixed some accidental mistake xs 2024-04-19 14:09:23 +02:00
46c7c6f7e5 Saving samples plot as png at end of training 2024-04-19 14:05:20 +02:00
4e713ef564 Added non autoregressive quantile results + changing sample plots 2024-04-19 12:35:27 +02:00
Victor Mylle
98a7244995 Fixed the non autoregressive final metric calculations 2024-04-18 16:53:17 +00:00
dc102926fa Non-autoregressive Linear baseline update + wrote further at thesis 2024-04-18 00:30:25 +02:00
8fb2a7fc7b Quarter embedding using trigonometry + more thesis writing 2024-04-17 21:48:13 +02:00
6b02c9aab8 Trying out more linear baselines 2024-04-17 12:55:46 +02:00
0edcc91e65 Made more changes 2024-04-16 22:07:53 +02:00
937b6abc0b Updated Thesis and linear baseline 2024-04-16 21:19:19 +02:00
ef094c659c Added baseline with perfect predictions 2024-03-28 14:56:28 +01:00
65ec8fcd54 Not resetting state of charge 2024-03-23 19:18:55 +01:00
e780b46af7 Updated some stuff 2024-03-20 22:16:19 +01:00
dad64d00be Updated some stuff 2024-03-20 22:14:18 +01:00
acaa8ff054 Added non autoregressive quantiles training scripts 2024-03-20 16:59:22 +01:00
ba3b3cf882 Added background information about Electricty market in Belgium 2024-03-20 16:48:07 +01:00
1a8e735cbc Updated training scripts 2024-03-18 12:15:06 +01:00
34335cd9fe Fixed policy evaluation for autoregressive 2024-02-29 23:23:11 +01:00
fe1e388ffb Added crps + profit logging and updated plots for non autoregressive models 2024-02-28 17:12:51 +01:00
420c9dc6ac Added yesterday policy evaluator 2024-02-26 18:21:06 +01:00
ca120e5715 Finished baseline policy evaluator 2024-02-26 18:20:53 +01:00
be38536758 Adding baseline policy evaluator 2024-02-26 16:26:03 +01:00
f1b54df2c9 Policy evaluation during training 2024-02-25 22:13:00 +01:00
Victor Mylle
90751866a4 Fixed git lfs issue 2024-02-22 16:52:03 +01:00
Victor Mylle
4ad3336b98 Set training script to execute remotely 2024-02-21 18:13:51 +01:00
Victor Mylle
f8823f7efa Autoregressive Quantile Training with Policy evaluation 2024-02-21 18:11:38 +01:00
Victor Mylle
2b22b6935e Merge branch 'February-Report' into main 2024-02-19 15:49:15 +01:00
Victor Mylle
b3f05f386f Finished intermediate february report + next steps from meeting 2024-02-19 15:48:45 +01:00
Victor Mylle
174a82fab2 Plots to compare between quantile regression and diffusion 2024-02-18 19:21:59 +01:00
Victor Mylle
bd250a664b Fixed diffusion confidence interval plot 2024-02-18 16:01:18 +01:00
Victor Mylle
76a597af28 Started February Report 2024-02-17 17:53:07 +01:00
Victor Mylle
7bd0476085 Added plots thresholds densities 2024-02-14 18:12:11 +00:00
Victor Mylle
d10f8a5ff6 Clamping diffusion output 2024-02-12 09:54:56 +00:00
Victor Mylle
77be7371df Track large files with Git LFS 2024-02-05 16:22:22 +00:00
Victor Mylle
acaad2710a Changed steps in diffusion model 2024-01-20 09:44:14 +00:00
Victor Mylle
c6fa17fa40 Fixed sampling for GRU and reduced batch size 2024-01-19 00:10:12 +00:00
Victor Mylle
e8e53ab185 Updated training script for GRU model 2024-01-18 23:21:57 +00:00
Victor Mylle
32de50b87e Added GRU diffusion model 2024-01-18 23:21:01 +00:00
168 changed files with 14781 additions and 3817 deletions

View File

@@ -1,9 +1,8 @@
FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
FROM pytorch/pytorch:1.13.1-cuda11.6-cudnn8-devel
#FROM getkeops/keops-full:2.1-geomloss0.2.5-cuda11.8-pytorch2.0.0-python3.10
# FROM pytorch/pytorch:2.1.0-cuda11.8-cudnn8-devel
RUN apt-get update
RUN apt-get install -y git
# RUN apt-get install texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-bibtex-extra
COPY requirements.txt /tmp/requirements.txt

Binary file not shown.

BIN
Reports/February/ea-en.pdf Normal file

Binary file not shown.

BIN
Reports/February/ea-nl.pdf Normal file

Binary file not shown.

BIN
Reports/February/eb-en.pdf Normal file

Binary file not shown.

View File

@@ -0,0 +1,185 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Ghent University document class
% Created by DF Benoit, December 15, 2022
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ugent-doc}
% Required packages
\RequirePackage{kvoptions}
\RequirePackage{geometry}
\RequirePackage{calc}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
% ugent-doc specific options (kvoptions)
\SetupKeyvalOptions{family=ugd,prefix=ugd@} %UGentArticle
% Declare the class specific options
\DeclareStringOption[eb]{faculty}[eb]
\DeclareStringOption[en]{language}[en]
\DeclareStringOption[article]{doctype}[article]
\DeclareBoolOption[true]{sftitles} % Default: true
\ProcessKeyvalOptions*
% Pass options not specified above to the parent class
% \@unusedoptionlist is a macro in kvoptions
\LoadClass[\@unusedoptionlist]{\ugd@doctype}
% All sections, subsections and subsubsections in sans serif
\ifugd@sftitles
\RequirePackage[sf]{titlesec}
\fi
% Define UGent colors
%= = = = = = = = = = =
% Base colors
% UGent blue
\definecolor{ugentblue}{RGB}{30,100,200}
% UGent yellow
\definecolor{ugentyellow}{RGB}{255,210,0}
% UGent white
\definecolor{ugentwhite}{RGB}{255,255,255}
% UGent black
\definecolor{ugentblack}{RGB}{0,0,0}
% Faculty specific colors
% Faculty of Literature & Philosophy
\definecolor{ugent-lw}{RGB}{241,164,43}
% Faculty of Law
\definecolor{ugent-re}{RGB}{220,78,40}
% Faculty of Science
\definecolor{ugent-we}{RGB}{45,140,168}
% Faculty of Medicine and Health Sciences
\definecolor{ugent-ge}{RGB}{232,94,113}
% Faculty of Engineering and Architecture
\definecolor{ugent-ea}{RGB}{139,190,232}
% Faculty of Economics and Business Administration
\definecolor{ugent-eb}{RGB}{174,176,80}
% Faculty of Veterinary Medicine
\definecolor{ugent-di}{RGB}{130,84,145}
% Faculty of Psychology and Educational Sciences
\definecolor{ugent-pp}{RGB}{251,126,58}
% Faculty of Bioscience Engineering
\definecolor{ugent-bw}{RGB}{39,171,173}
% Faculty of Pharmaceutical Sciences
\definecolor{ugent-fw}{RGB}{190,81,144}
% Faculty of Political and Social Sciences
\definecolor{ugent-ps}{RGB}{113,168,96}
% Define new commands
\def\thetitle#1{\def\@thetitle{#1}}
\def\thesubtitle#1{\def\@thesubtitle{#1}}
\def\infoboxa#1{\def\@infoboxa{#1}}
\def\infoboxb#1{\def\@infoboxb{#1}}
\def\infoboxc#1{\def\@infoboxc{#1}}
\def\infoboxd#1{\def\@infoboxd{#1}}
% Initialize new commands as 'empty'
\def\@thetitle{}
\def\@thesubtitle{}
\def\@infoboxa{}
\def\@infoboxb{}
\def\@infoboxc{}
\def\@infoboxd{}
% Define lengths based on UGent document grid
% See: https://styleguide.ugent.be/basic-principles/grid-and-layout.html
\newlength{\longedge}
\setlength{\longedge}{\maxof{\paperheight}{\paperwidth}}
\newlength{\gridunit}
\setlength{\gridunit}{\longedge/28} %Divide long edge by 7 and next by 4
\newlength{\subpaperheight}
\setlength{\subpaperheight}{\paperheight-7\gridunit} %Type area: 3 units for faculty logo, 4 units for UGent logo
\newlength{\subpaperwidth}
\setlength{\subpaperwidth}{\paperwidth-\gridunit} %Left margin of 1 gridunit
% Define strut based on \gridunit
\newcommand{\mystrut}[1][-.5]{\rule[#1\gridunit]{0pt}{0pt}}
% Set default page layout
% Can be overwritten in preamble of document
\renewcommand{\baselinestretch}{1.15} % line spacing
\geometry{bottom=2.5cm,top=2.5cm,left=3cm,right=2cm} % margins
% Redefine the titlepage in accordance with UGent styleguide
\renewcommand\maketitle{\begin{titlepage}%
\thispagestyle{empty} % by default, the pagestyle of title page is plain
\newgeometry{top=0cm, bottom=0cm, left=0cm, right=0cm} % set special margins
\setlength{\parindent}{0cm} % necessary to put minipages/boxes at extreme left of page
\setlength{\parsep}{0cm} % necessary to stack minipages/boxes without space
\setlength{\fboxsep}{0cm} % no border around minipages/boxes
\setlength{\parskip}{0cm}
\setlength{\lineskip}{0cm}
\ifugd@sftitles
\sffamily % Titlepage in sans serif font
\fi
\includegraphics[height=3\gridunit]{\ugd@faculty-\ugd@language.pdf}%
\makebox[\gridunit]{}% Left margin of 1 gridunit
\colorbox{ugent-\ugd@faculty!30}{%
%\colorbox{ugentwhite}{%
\begin{minipage}[c][\subpaperheight][t]{\subpaperwidth}%
\vskip 5\gridunit % top margin within minipage
\hskip \gridunit % left margin of 1 within the colorbox
%\fbox{%
\begin{minipage}{\subpaperwidth-2\gridunit} % tile minipage, right margin of 1
\raggedright\bfseries\huge
\textcolor{ugentblue}{\mystrut\@thetitle}\newline
\Large\textcolor{ugentblue}{\@thesubtitle}
\mystrut[1]
\end{minipage}%}
\vskip\fill % Push down to bottom of minipage
\ifx\@infoboxa\empty\else % ony put box if not empty
\hskip\gridunit % left margin of infobox
%\fbox{%
\begin{minipage}[b]{\subpaperwidth-3\gridunit} % right margin of 1
\@infoboxa
\end{minipage}%}
\baselineskip0pt\mystrut
\fi
\ifx\@infoboxb\empty\else % ony put box if not empty
\hskip\gridunit % left margin of infobox
%\fbox{%
\begin{minipage}[b]{\subpaperwidth-3\gridunit} % right margin of 1
\@infoboxb
\end{minipage}%}
\baselineskip0pt\mystrut
\fi
\ifx\@infoboxc\empty\else % ony put box if not empty
\hskip\gridunit % left margin of infobox
%\fbox{%
\begin{minipage}[b]{\subpaperwidth-3\gridunit} % right margin of 1
\@infoboxc
\end{minipage}%}
\baselineskip0pt\mystrut
\fi
\ifx\@infoboxd\empty\else % ony put box if not empty
\hskip\gridunit % left margin of infobox
%\fbox{%
\begin{minipage}[b]{\subpaperwidth-3\gridunit} % right margin of 1
\@infoboxd
\end{minipage}%}
\fi
\baselineskip0pt\mystrut[-1]
\end{minipage}
}%
\includegraphics[height=4\gridunit]{ugent-\ugd@language.pdf}%
\end{titlepage}
\restoregeometry
}

Binary file not shown.

View File

@@ -0,0 +1,34 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@nameuse{bbl@beforestart}
\abx@aux@refcontext{nyt/global//global/global}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\babel@aux{english}{}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Intermediate Results}{1}{section.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Net Regulation Volume Modeling}{1}{subsection.1.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Input Features}{1}{subsubsection.1.1.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.2}Models}{1}{subsubsection.1.1.2}\protected@file@percent }
\@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Performance of Autoregressive Models}}{1}{table.1}\protected@file@percent }
\newlabel{tab:general_models}{{1}{1}{Performance of Autoregressive Models}{table.1}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.3}Charging Policy}{2}{subsubsection.1.1.3}\protected@file@percent }
\@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Comparison of Energy Storage Policies Using Predicted NRV. Battery of 2MWh with 1MW charge/discharge power. Evaluated on data from 01-01-2023 until 08-10-2023.}}{2}{table.2}\protected@file@percent }
\newlabel{table:energy_storage_policies}{{2}{2}{Comparison of Energy Storage Policies Using Predicted NRV. Battery of 2MWh with 1MW charge/discharge power. Evaluated on data from 01-01-2023 until 08-10-2023}{table.2}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Schedule next months}{3}{section.2}\protected@file@percent }

2592
Reports/February/verslag.bcf Normal file

File diff suppressed because it is too large Load Diff

1000
Reports/February/verslag.log Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
\BOOKMARK [1][-]{section.1}{Intermediate Results}{}% 1
\BOOKMARK [2][-]{subsection.1.1}{Net Regulation Volume Modeling}{section.1}% 2
\BOOKMARK [3][-]{subsubsection.1.1.1}{Input Features}{subsection.1.1}% 3
\BOOKMARK [3][-]{subsubsection.1.1.2}{Models}{subsection.1.1}% 4
\BOOKMARK [3][-]{subsubsection.1.1.3}{Charging Policy}{subsection.1.1}% 5
\BOOKMARK [1][-]{section.2}{Schedule next months}{}% 6

Binary file not shown.

View File

@@ -0,0 +1,89 @@
<?xml version="1.0" standalone="yes"?>
<!-- logreq request file -->
<!-- logreq version 1.0 / dtd version 1.0 -->
<!-- Do not edit this file! -->
<!DOCTYPE requests [
<!ELEMENT requests (internal | external)*>
<!ELEMENT internal (generic, (provides | requires)*)>
<!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)>
<!ELEMENT cmdline (binary, (option | infile | outfile)*)>
<!ELEMENT input (file)+>
<!ELEMENT output (file)+>
<!ELEMENT provides (file)+>
<!ELEMENT requires (file)+>
<!ELEMENT generic (#PCDATA)>
<!ELEMENT binary (#PCDATA)>
<!ELEMENT option (#PCDATA)>
<!ELEMENT infile (#PCDATA)>
<!ELEMENT outfile (#PCDATA)>
<!ELEMENT file (#PCDATA)>
<!ATTLIST requests
version CDATA #REQUIRED
>
<!ATTLIST internal
package CDATA #REQUIRED
priority (9) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST external
package CDATA #REQUIRED
priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST provides
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST requires
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST file
type CDATA #IMPLIED
>
]>
<requests version="1.0">
<internal package="biblatex" priority="9" active="0">
<generic>latex</generic>
<provides type="dynamic">
<file>verslag.bcf</file>
</provides>
<requires type="dynamic">
<file>verslag.bbl</file>
</requires>
<requires type="static">
<file>blx-dm.def</file>
<file>apa.dbx</file>
<file>blx-compat.def</file>
<file>biblatex.def</file>
<file>standard.bbx</file>
<file>apa.bbx</file>
<file>apa.cbx</file>
<file>biblatex.cfg</file>
<file>english.lbx</file>
<file>american.lbx</file>
<file>american-apa.lbx</file>
<file>english-apa.lbx</file>
</requires>
</internal>
<external package="biblatex" priority="5" active="0">
<generic>biber</generic>
<cmdline>
<binary>biber</binary>
<infile>verslag</infile>
</cmdline>
<input>
<file>verslag.bcf</file>
</input>
<output>
<file>verslag.bbl</file>
</output>
<provides type="dynamic">
<file>verslag.bbl</file>
</provides>
<requires type="dynamic">
<file>verslag.bcf</file>
</requires>
<requires type="editable">
<file>./references.bib</file>
</requires>
</external>
</requests>

Binary file not shown.

View File

@@ -0,0 +1,213 @@
\documentclass[12pt,a4paper,faculty=ea,language=en,doctype=article]{ugent-doc}
% Optional: margins and spacing
%-------------------------------
% Uncomment and adjust to change the default values set by the template
% Note: the defaults are suggested values by Ghent University
%\geometry{bottom=2.5cm,top=2.5cm,left=3cm,right=2cm}
%\renewcommand{\baselinestretch}{1.15} % line spacing
% Font
%------
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % allows non-ascii input characters
% Comment or remove the two lines below to use the default Computer Modern font
\usepackage{libertine}
\usepackage{libertinust1math}
\usepackage{enumitem}
% NOTE: because the UGent font Panno is proprietary, it is not possible to use it
% in Overleaf. But UGent does not suggest to use Panno for documents (or maybe only for
% the titlepage). For the body, the UGent suggestion is to use a good serif font (for
% LaTeX this could be libertine or Computer Modern).
% Proper word splitting
%-----------------------
\usepackage[english]{babel}
% Mathematics
%-------------
\usepackage{amsmath}
% Figures
%---------
\usepackage{graphicx} % optional: the package is already loaded by the template
\graphicspath{{./figures/}}
% Bibliography settings
%-----------------------
\usepackage[backend=biber, style=apa, sorting=nyt, hyperref=true]{biblatex}
\addbibresource{./references.bib}
\usepackage{csquotes} % Suggested when using babel+biblatex
% Hyperreferences
%-----------------
\usepackage[colorlinks=true, allcolors=ugentblue]{hyperref}
% Whitespace between paragraphs and no indentation
%--------------------------------------------------
\usepackage[parfill]{parskip}
% Input for title page
%----------------------
% The title
\thesubtitle{February Intermediate Report}
%% Note: a stricter UGent style could be achieved with, e.g.:
\usepackage{ulem} % for colored underline
\renewcommand{\ULthickness}{2pt} % adjust thickness of underline
\thetitle{Forecasting and generative modeling of the Belgian electricity market}
% Note: do not forget to reset the \ULthickness to 1pt after invoking \maketitle
% (otherwise all underlines in the rest of your document will be too thick):
%\renewcommand{\ULthickness}{1pt}
% The first (top) infobox at bottom of titlepage
\infoboxa{\bfseries\large Master Thesis}
% The second infobox at bottom of titlepage
\infoboxb{Name:
\begin{tabular}[t]{l}
Victor Mylle
\end{tabular}
}
% The third infobox at bottom of titlepage
\infoboxc{
Promotors:
\begin{tabular}[t]{l}
prof. dr. ir. Chris Develder \\
prof. Bert Claessens
\end{tabular}
\\\\
Supervisor:
\begin{tabular}[t]{l}
Jonas Van Gompel
\end{tabular}
}
% The last (bottom) infobox at bottom of titlepage
\infoboxd{Academic year: 2023--2024} % note dash, not hyphen
\begin{document}
% =====================================================================
% Cover
% =====================================================================
% ------------ TITLE PAGE ---------
\maketitle
\renewcommand{\ULthickness}{1pt}
% =====================================================================
% Front matter
% =====================================================================
% ------------ TABLE OF CONTENTS ---------
% {\hypersetup{hidelinks}\tableofcontents} % hide link color in toc
% \newpage
% \begin{titlepage}
% \centering % Centers everything on the page
% % Logo or Image (Optional)
% % \includegraphics[width=0.5\textwidth]{path_to_logo.jpg}
% \vspace*{2cm} % Add vertical space
% {\large Title: Forecasting and generative modeling of the Belgian electricity market\par}
% \vspace{2cm}
% {\Large Victor Mylle\par}
% \vspace{1cm}
% {\large Period of Internship: 3 July 2023 - 31 August 2023\par}
% \vspace{1cm}
% {\large Mentor: dr. ir. Femke De Backere\par}
% {\large TechWolf supervisor: ir. Jens-Joris Decorte}
% \end{titlepage}
\newpage
\section{Intermediate Results}
\subsection{Net Regulation Volume Modeling}
Using a generative model, we try to predict the NRV for the next day. The model is trained on historical data and uses multiple input features to model the NRV. The data for the input features can all be downloaded from \href{https://www.elia.be/en/grid-data/open-data}{Elia Open Data}.
\subsubsection{Input Features}
The generative model uses multiple input features to predict the NRV.
\begin{itemize}[noitemsep]
\item NRV History (NRV of yesterday)
\item Load Forecast (Forecasted load of tomorrow)
\item Load History (Load of yesterday)
\item Wind Forecast (Forecasted wind of tomorrow)
\item Wind History (Wind of yesterday)
\item Implicit net position (Nominal net position of tomorrow)
\item Time features (Day of the week + quarter of the day)
\item Photovoltaic Forecast\textsuperscript{*}
\item Photovoltaic History\textsuperscript{*}
\end{itemize}
\textsuperscript{*} These features are not used currently, the data was not available. These features can easily be added without changing any code.
\subsubsection{Models}
In the intermediate report of November, baselines were discussed. Now, other more advanced models are used. Samples must be generated using the model, this means the model can't just output one value but a distribution is needed. Quantile Regression can be used for this task. The model then outputs the values of multiple quantiles. For example, the model outputs the value for which 10\% of the data is lower, the value for which 50\% of the data is lower, etc. This way, the model outputs a distribution which can be used to sample from. The NRV predicitons are done in a quarter-hourly resolution. To predict the NRV for the next day, 96 values need to be sampled. This can be done in an autoregressive manner. The model outputs the quantiles for the first quarter-hour, a sample is drawn from this distribution and this sample is used as input for the next quarter-hour. This process is repeated 96 times.
\begin{table}[h]
\centering
\begin{tabular}{lcc}
\hline
\textbf{Model} & \textbf{test\_L1Loss} & \textbf{test\_CRPSLoss} \\
\hline
Linear Model & 101.639 & 68.485 \\
Non Linear Model & 102.031 & 68.968 \\
LSTM/GRU Model & 104.261 & 66.052 \\
\hline
\end{tabular}
\caption{Performance of Autoregressive Models}
\label{tab:general_models}
\end{table}
At the moment, I am experimenting with a diffusion model to generatively model the NRV but more research and expermimenting needs to be done.
\subsubsection{Charging Policy}
Using the predicted NRV, a policy can be implemented to charge and discharge a battery. The goal of the policy is to maximize the profit made by selling the stored electricity. A simple policy is implemented to charge and discharge the battery based on 2 thresholds determined by the predicted NRV. The policy is evaluated on historical data and the profit is calculated. To determine the charge and discharge threshold, 1000 full NRV predictions are done for the next day and for each of these predicitions, the thresholds are determined. Next, the mean of these thresholds is used as the final threshold.
\begin{table}[h]
\centering
\begin{tabular}{lccc}
\hline
\textbf{Policy} & \textbf{Total Profit (€)} & \textbf{Charge Cycles} \\
\hline
Baseline (charge: €150, discharge: €175) & 251,202.59 & 725 \\
Baseline (yesterday imbalance price) & 342,980.09 & 903 \\
GRU Predicted NRV (mean thresholds) & 339,846.91 & 842 \\
Diffusion Predicted NRV (mean thresholds) & 338,168.03 & 886 \\
\hline
\end{tabular}
\caption{Comparison of Energy Storage Policies Using Predicted NRV. Battery of 2MWh with 1MW charge/discharge power. Evaluated on data from 01-01-2023 until 08-10-2023.}
\label{table:energy_storage_policies}
\end{table}
The recommended charge cycles for a battery is <400 cycles per year. The policy also needs to take this into account. A penalty parameter can be introduced and determined so that the policy is penalized for every charge cycle above 400. The policy can then be optimized using this penalty parameter. I am currenlty experimenting with this.
\newpage
\section{Schedule next months}
\begin{itemize}
\item Baselines with penalties for charge cycles above 400
\item Better visualizations of the policy profit results.
\item Case studies of days with extreme thresholds
\item Finetuning of models and hyperparametres based on model errors and profits of the policy
\item Ablation study of input features
\item Experiment further with diffusion models
\item During the experimenting, I will write my thesis and update the results and conclusions chapters.
\end{itemize}
\end{document}

View File

@@ -1,31 +0,0 @@
\relax
\providecommand\babel@aux[2]{}
\@nameuse{bbl@beforestart}
\abx@aux@refcontext{nyt/global//global/global}
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\babel@aux{english}{}
\@writefile{toc}{\contentsline {section}{\numberline {1}Intermediate Results}{1}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Previous day as forecast}{1}{subsection.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}All Zeros}{1}{subsection.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Linear Model}{1}{subsection.1.3}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Results of the linear model with different ranges of training data}}{2}{table.1}\protected@file@percent }
\newlabel{tab:linear_model}{{1}{2}{Results of the linear model with different ranges of training data}{table.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Schedule next months}{3}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Other input features}{3}{subsection.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}More complex models}{3}{subsection.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Reinforcement learning}{3}{subsection.2.3}\protected@file@percent }
\abx@aux@read@bbl@mdfivesum{nobblfile}
\gdef \@abspage@last{4}

View File

@@ -0,0 +1,20 @@
% $ biblatex auxiliary file $
% $ biblatex bbl format version 3.2 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{ver@biblatex.sty}
{\@latex@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup
\endinput

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +0,0 @@
\BOOKMARK [1][-]{section.1}{\376\377\000I\000n\000t\000e\000r\000m\000e\000d\000i\000a\000t\000e\000\040\000R\000e\000s\000u\000l\000t\000s}{}% 1
\BOOKMARK [2][-]{subsection.1.1}{\376\377\000P\000r\000e\000v\000i\000o\000u\000s\000\040\000d\000a\000y\000\040\000a\000s\000\040\000f\000o\000r\000e\000c\000a\000s\000t}{section.1}% 2
\BOOKMARK [2][-]{subsection.1.2}{\376\377\000A\000l\000l\000\040\000Z\000e\000r\000o\000s}{section.1}% 3
\BOOKMARK [2][-]{subsection.1.3}{\376\377\000L\000i\000n\000e\000a\000r\000\040\000M\000o\000d\000e\000l}{section.1}% 4
\BOOKMARK [1][-]{section.2}{\376\377\000S\000c\000h\000e\000d\000u\000l\000e\000\040\000n\000e\000x\000t\000\040\000m\000o\000n\000t\000h\000s}{}% 5
\BOOKMARK [2][-]{subsection.2.1}{\376\377\000O\000t\000h\000e\000r\000\040\000i\000n\000p\000u\000t\000\040\000f\000e\000a\000t\000u\000r\000e\000s}{section.2}% 6
\BOOKMARK [2][-]{subsection.2.2}{\376\377\000M\000o\000r\000e\000\040\000c\000o\000m\000p\000l\000e\000x\000\040\000m\000o\000d\000e\000l\000s}{section.2}% 7
\BOOKMARK [2][-]{subsection.2.3}{\376\377\000R\000e\000i\000n\000f\000o\000r\000c\000e\000m\000e\000n\000t\000\040\000l\000e\000a\000r\000n\000i\000n\000g}{section.2}% 8

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,95 @@
% Training methods
\DeclareAcronym{QR}{
short = QR,
long = Quantile Regression
}
\DeclareAcronym{AQR}{
short = AQR,
long = Autoregressive Quantile Regression
}
\DeclareAcronym{NAQR}{
short = NAQR,
long = Non-Autoregressive Quantile Regression
}
% Metrics
\DeclareAcronym{MSE}{
short = MSE,
long = Mean Squared Error
}
\DeclareAcronym{MAE}{
short = MAE,
long = Mean Absolute Error
}
\DeclareAcronym{CRPS}{
short = CRPS,
long = Continuous Ranked Probability Score
}
% Electricity Market Terms
\DeclareAcronym{NRV}{
short = NRV,
long = Net Regulation Volume
}
\DeclareAcronym{PV}{
short = PV,
long = Photovoltaic
}
\DeclareAcronym{NP}{
short = NP,
long = Implicit Net Position
}
\DeclareAcronym{TSO}{
short = TSO,
long = Transmission System Operator
}
\DeclareAcronym{DSO}{
short = DSO,
long = Distribution System Operator
}
\DeclareAcronym{BRP}{
short = BRP,
long = Balance Responsible Party,
short-plural = s,
long-plural = ies
}
\DeclareAcronym{BSP}{
short = BSP,
long = Balancing Service Provider,
short-plural = s,
}
\DeclareAcronym{SI}{
short = SI,
long = System Imbalance
}
\DeclareAcronym{FCR}{
short = FCR,
long = Frequency Containment Reserve
}
\DeclareAcronym{aFRR}{
short = aFRR,
long = Automatic Frequency Restoration
}
\DeclareAcronym{mFRR}{
short = mFRR,
long = Manual Frequency Restoration
}
\DeclareAcronym{MW}{
short = MW,
long = Megawatt
}

View File

@@ -0,0 +1,67 @@
<mxfile host="Electron" modified="2024-04-21T19:27:00.133Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.8 Chrome/114.0.5735.289 Electron/25.5.0 Safari/537.36" etag="iP2ZMkiDESp7J3viivZF" version="21.6.8" type="device">
<diagram name="Page-1" id="FePbCUh0FgINugyzgCKY">
<mxGraphModel dx="1834" dy="806" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="XPfo9y-A51sPOulxTgxz-3" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="-40" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-1" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real NRV &lt;b&gt;(T-96)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Load &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real PV &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Wind &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Net Position &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- QE &lt;b&gt;(T-96)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;strokeWidth=2;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-3">
<mxGeometry y="30" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-2" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Quarter T-96&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-3">
<mxGeometry x="52.941764705882356" width="94.11764705882354" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-4" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="400" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-5" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;- Real NRV (T-1)&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast Load (T)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast&amp;nbsp;PV (T)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast&amp;nbsp;Wind (T)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;- Forecast&amp;nbsp;Net Position &lt;b&gt;(T)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- QE &lt;b&gt;(T-1)&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;strokeWidth=2;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-4">
<mxGeometry y="30" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-6" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Quarter T-1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-4">
<mxGeometry x="38.46153846153845" width="123.07692307692304" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-7" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=4;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-1" target="XPfo9y-A51sPOulxTgxz-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="110" y="410" as="sourcePoint" />
<mxPoint x="160" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-15" value="RNN" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="-40" y="190" width="640" height="40" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.156;entryY=1.075;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-2" target="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.844;entryY=1.05;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-6" target="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-18" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="61" y="190" as="sourcePoint" />
<mxPoint x="61" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-19" value="NRV Quantiles &lt;b&gt;(T-95)&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="10" y="100" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-20" value="Inputs" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="-150" y="350" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-21" value="Outputs" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="-150" y="100" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-22" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.844;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="180" as="sourcePoint" />
<mxPoint x="500" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-24" value="NRV Quantiles &lt;b&gt;(T)&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="450" y="100" width="100" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,67 @@
<mxfile host="Electron" modified="2024-04-21T19:39:13.066Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.8 Chrome/114.0.5735.289 Electron/25.5.0 Safari/537.36" etag="Yo_Te6-BRO91UZdKIgwU" version="21.6.8" type="device">
<diagram name="Page-1" id="FePbCUh0FgINugyzgCKY">
<mxGraphModel dx="1834" dy="806" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="XPfo9y-A51sPOulxTgxz-3" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="-40" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-1" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real NRV &lt;b&gt;(T-96)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Load &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real PV &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Wind &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Net Position &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- QE &lt;b&gt;(T-96)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;strokeWidth=2;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-3">
<mxGeometry y="30" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-2" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Quarter T-96&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-3">
<mxGeometry x="52.941764705882356" width="94.11764705882354" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-4" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="400" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-5" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;- Real NRV &lt;b&gt;(T-1)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast Load &lt;b&gt;(T)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast&amp;nbsp;PV &lt;b&gt;(T)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast&amp;nbsp;Wind &lt;b&gt;(T)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;- Forecast&amp;nbsp;Net Position &lt;b&gt;(T)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- QE &lt;b&gt;(T-1)&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;strokeWidth=2;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-4">
<mxGeometry y="30" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-6" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Quarter T-1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-4">
<mxGeometry x="38.46153846153845" width="123.07692307692304" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-7" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=4;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-1" target="XPfo9y-A51sPOulxTgxz-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="110" y="410" as="sourcePoint" />
<mxPoint x="160" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-15" value="RNN" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="-40" y="190" width="640" height="40" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.156;entryY=1.075;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-2" target="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.844;entryY=1.05;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-6" target="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-18" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="61" y="190" as="sourcePoint" />
<mxPoint x="61" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-19" value="NRV Quantiles &lt;b&gt;(T-95)&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="10" y="100" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-20" value="Inputs" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="-150" y="350" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-21" value="Outputs" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="-150" y="100" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-22" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.844;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="180" as="sourcePoint" />
<mxPoint x="500" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-24" value="NRV Quantiles &lt;b&gt;(T)&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="450" y="100" width="100" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,67 @@
<mxfile host="Electron" modified="2024-04-21T19:39:08.279Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.8 Chrome/114.0.5735.289 Electron/25.5.0 Safari/537.36" etag="UVK9ORhi1HUABHBPMAua" version="21.6.8" type="device">
<diagram name="Page-1" id="FePbCUh0FgINugyzgCKY">
<mxGraphModel dx="1834" dy="806" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="XPfo9y-A51sPOulxTgxz-3" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="-40" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-1" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real NRV &lt;b&gt;(T-96)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Load &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real PV &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Wind &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Real Net Position &lt;b&gt;(T-95)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- QE &lt;b&gt;(T-96)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;strokeWidth=2;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-3">
<mxGeometry y="30" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-2" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Quarter T-96&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-3">
<mxGeometry x="52.941764705882356" width="94.11764705882354" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-4" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="400" y="280" width="200" height="140" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-5" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;- Real NRV &lt;b&gt;(T-1)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast Load &lt;b&gt;(T)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast&amp;nbsp;PV &lt;b&gt;(T)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Forecast&amp;nbsp;Wind &lt;b&gt;(T)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;- Forecast&amp;nbsp;Net Position &lt;b&gt;(T)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color);&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- QE &lt;b&gt;(T-1)&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;strokeWidth=2;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-4">
<mxGeometry y="30" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-6" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Quarter T-1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="XPfo9y-A51sPOulxTgxz-4">
<mxGeometry x="38.46153846153845" width="123.07692307692304" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-7" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=4;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-1" target="XPfo9y-A51sPOulxTgxz-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="110" y="410" as="sourcePoint" />
<mxPoint x="160" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-15" value="RNN" style="rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="-40" y="190" width="640" height="40" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.156;entryY=1.075;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-2" target="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.844;entryY=1.05;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-6" target="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-18" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="61" y="190" as="sourcePoint" />
<mxPoint x="61" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-19" value="NRV Quantiles &lt;b&gt;(T-95)&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="10" y="100" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-20" value="Inputs" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="-150" y="350" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-21" value="Outputs" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="-150" y="100" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-22" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.844;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="XPfo9y-A51sPOulxTgxz-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="180" as="sourcePoint" />
<mxPoint x="500" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XPfo9y-A51sPOulxTgxz-24" value="NRV Quantiles &lt;b&gt;(T)&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="450" y="100" width="100" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

BIN
Reports/Thesis/ea-en.pdf Normal file

Binary file not shown.

BIN
Reports/Thesis/ea-nl.pdf Normal file

Binary file not shown.

BIN
Reports/Thesis/eb-en.pdf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Some files were not shown because too many files have changed in this diff Show More