Updated thesis

This commit is contained in:
2024-05-13 11:33:00 +02:00
parent 56d56446fa
commit fecf1492fb
13 changed files with 104 additions and 102 deletions

View File

@@ -162,14 +162,14 @@
\setcounter{g@acro@MSE@int}{4}
\setcounter{g@acro@MAE@int}{4}
\setcounter{g@acro@CRPS@int}{2}
\setcounter{g@acro@NRV@int}{14}
\setcounter{g@acro@NRV@int}{12}
\setcounter{g@acro@PV@int}{0}
\setcounter{g@acro@NP@int}{0}
\setcounter{g@acro@TSO@int}{2}
\setcounter{g@acro@DSO@int}{0}
\setcounter{g@acro@BRP@int}{1}
\setcounter{g@acro@BSP@int}{1}
\setcounter{g@acro@SI@int}{1}
\setcounter{g@acro@SI@int}{0}
\setcounter{g@acro@FCR@int}{1}
\setcounter{g@acro@aFRR@int}{1}
\setcounter{g@acro@mFRR@int}{1}

View File

@@ -5,38 +5,35 @@
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{tab:parties}{{1}{3}{Overview of the most important parties in the electricity market\relax }{table.caption.1}{}}
\ACRO{recordpage}{BRP}{4}{1}{3}
\ACRO{recordpage}{NRV}{5}{1}{4}
\ACRO{recordpage}{SI}{5}{1}{4}
\ACRO{recordpage}{NRV}{5}{1}{4}
\ACRO{recordpage}{TSO}{5}{1}{4}
\ACRO{recordpage}{FCR}{5}{1}{4}
\ACRO{recordpage}{BSP}{5}{1}{4}
\ACRO{recordpage}{aFRR}{5}{1}{4}
\ACRO{recordpage}{mFRR}{5}{1}{4}
\ACRO{recordpage}{FCR}{6}{1}{5}
\ACRO{recordpage}{BSP}{6}{1}{5}
\ACRO{recordpage}{aFRR}{6}{1}{5}
\ACRO{recordpage}{mFRR}{6}{1}{5}
\ACRO{recordpage}{MW}{6}{1}{5}
\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Prices paid by the BRPs\relax }}{5}{table.caption.2}\protected@file@percent }
\newlabel{tab:imbalance_price}{{2}{5}{Prices paid by the BRPs\relax }{table.caption.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Generative modeling}{5}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Generative modeling}{6}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Quantile Regression}{6}{subsection.3.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Example of quantiles\relax }}{6}{figure.caption.3}\protected@file@percent }
\newlabel{fig:quantile_example}{{1}{6}{Example of quantiles\relax }{figure.caption.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Example of quantile regression output for one-quarter of the NRV, showing interpolated values for quantiles at 1\%, 5\%, 10\%, 15\%, 30\%, 40\%, 50\%, 60\%, 70\%, 85\%, 90\%, 95\%, and 99\%. These quantiles are used to reconstruct the cumulative distribution function.\relax }}{7}{figure.caption.4}\protected@file@percent }
\newlabel{fig:quantile_regression_example}{{2}{7}{Example of quantile regression output for one-quarter of the NRV, showing interpolated values for quantiles at 1\%, 5\%, 10\%, 15\%, 30\%, 40\%, 50\%, 60\%, 70\%, 85\%, 90\%, 95\%, and 99\%. These quantiles are used to reconstruct the cumulative distribution function.\relax }{figure.caption.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Autoregressive vs Non-Autoregressive models}{8}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Model Types}{9}{subsection.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Linear Model}{9}{subsubsection.3.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2}Non-Linear Model}{10}{subsubsection.3.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3}Recurrent Neural Network (RNN)}{10}{subsubsection.3.3.3}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces RNN model input and output visualization\relax }}{11}{figure.caption.5}\protected@file@percent }
\newlabel{fig:rnn_model_visualization}{{3}{11}{RNN model input and output visualization\relax }{figure.caption.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Diffusion models}{11}{subsection.3.4}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Example of quantiles\relax }}{7}{figure.caption.3}\protected@file@percent }
\newlabel{fig:quantile_example}{{1}{7}{Example of quantiles\relax }{figure.caption.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Example of quantile regression output for one-quarter of the NRV, showing interpolated values for quantiles at 1\%, 5\%, 10\%, 15\%, 30\%, 40\%, 50\%, 60\%, 70\%, 85\%, 90\%, 95\%, and 99\%. These quantiles are used to reconstruct the cumulative distribution function.\relax }}{8}{figure.caption.4}\protected@file@percent }
\newlabel{fig:quantile_regression_example}{{2}{8}{Example of quantile regression output for one-quarter of the NRV, showing interpolated values for quantiles at 1\%, 5\%, 10\%, 15\%, 30\%, 40\%, 50\%, 60\%, 70\%, 85\%, 90\%, 95\%, and 99\%. These quantiles are used to reconstruct the cumulative distribution function.\relax }{figure.caption.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Autoregressive vs Non-Autoregressive models}{9}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Model Types}{10}{subsection.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Linear Model}{10}{subsubsection.3.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2}Non-Linear Model}{11}{subsubsection.3.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3}Recurrent Neural Network (RNN)}{11}{subsubsection.3.3.3}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces RNN model input and output visualization\relax }}{12}{figure.caption.5}\protected@file@percent }
\newlabel{fig:rnn_model_visualization}{{3}{12}{RNN model input and output visualization\relax }{figure.caption.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Diffusion models}{12}{subsection.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}Overview}{12}{subsubsection.3.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}Applications}{12}{subsubsection.3.4.2}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Example of the diffusion process. The image of a cat is generated by starting from noise and iteratively denoising the image.\relax }}{12}{figure.caption.6}\protected@file@percent }
\newlabel{fig:diffusion_example}{{4}{12}{Example of the diffusion process. The image of a cat is generated by starting from noise and iteratively denoising the image.\relax }{figure.caption.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3}Generation process}{12}{subsubsection.3.4.3}\protected@file@percent }
\newlabel{fig:diffusion_process}{{\caption@xref {fig:diffusion_process}{ on input line 283}}{14}{Generation process}{figure.caption.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Evaluation}{14}{subsection.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}Applications}{13}{subsubsection.3.4.2}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Example of the diffusion process. The image of a cat is generated by starting from noise and iteratively denoising the image.\relax }}{13}{figure.caption.6}\protected@file@percent }
\newlabel{fig:diffusion_example}{{4}{13}{Example of the diffusion process. The image of a cat is generated by starting from noise and iteratively denoising the image.\relax }{figure.caption.6}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3}Generation process}{13}{subsubsection.3.4.3}\protected@file@percent }
\newlabel{fig:diffusion_process}{{\caption@xref {fig:diffusion_process}{ on input line 287}}{15}{Generation process}{figure.caption.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Evaluation}{15}{subsection.3.5}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Visualization of the CRPS metric\relax }}{16}{figure.caption.8}\protected@file@percent }
\newlabel{fig:crps_visualization}{{5}{16}{Visualization of the CRPS metric\relax }{figure.caption.8}{}}
\@setckpt{sections/background}{
@@ -196,14 +193,14 @@
\setcounter{g@acro@MSE@int}{0}
\setcounter{g@acro@MAE@int}{0}
\setcounter{g@acro@CRPS@int}{0}
\setcounter{g@acro@NRV@int}{5}
\setcounter{g@acro@NRV@int}{3}
\setcounter{g@acro@PV@int}{0}
\setcounter{g@acro@NP@int}{0}
\setcounter{g@acro@TSO@int}{2}
\setcounter{g@acro@DSO@int}{0}
\setcounter{g@acro@BRP@int}{1}
\setcounter{g@acro@BSP@int}{1}
\setcounter{g@acro@SI@int}{1}
\setcounter{g@acro@SI@int}{0}
\setcounter{g@acro@FCR@int}{1}
\setcounter{g@acro@aFRR@int}{1}
\setcounter{g@acro@mFRR@int}{1}

View File

@@ -33,13 +33,17 @@ The electricity market consists of many different parties who all work together
\label{tab:parties}
\end{table}
The most important aspect of the electricity market is that the grid needs to be balanced at all times. This means that the amount of electricity consumed and generated must be equal at all times. If this is not the case, the grid can become unstable which can lead to blackouts and disrupt equipment. One company is responsible for keeping the grid balanced. This company is called the Transmission System Operator (TSO). In Belgium, this party is Elia. The TSO keeps the grid balanced by activating reserves when needed. These reserves, however, are expensive and need to be paid by the market participants. The prices paid for the activations of these reserves are called the imbalance price.
The most important aspect of the electricity market is that the grid needs to be balanced at all times. This means that the amount of electricity consumed and generated must be equal at all times. If this is not the case, the grid can become unstable which can lead to blackouts and disrupt equipment. One company is responsible for keeping the grid balanced. This company is called the Transmission System Operator (TSO). In Belgium, this party is Elia. The TSO keeps the grid balanced by activating reserves when needed. These reserves, however, are expensive and need to be paid by the market participants. The prices paid for the activations of these reserves are called the imbalance price.
At every access point of the grid, there is a designated \acf{BRP}. This party may be a producer, major consumer, energy supplier or trader.
At every access point of the grid, there is a designated \acf{BRP}. This party may be a producer, major consumer, energy supplier or trader. The BRP must take all reasonable measures to maintain the balance between injections, offtakes and commercial power trades within its portfolio. Each day, the BRP submits a daily balance schedule for the next day to the TSO. This schedule contains the expected physical injections and offtakes from the grid as well as the commercial power trades with other BRPs or other countries. These schedules are forecasts and are not always 100\% accurate. A lot of factors can influence the production and consumption of electricity like the weather, the economy, the time of day etc. The BRP must take all reasonable measures to be balanced on a quarter-hourly basis. This can be done by day-ahead or intra-day trading with other BRPs. If the BRP is not balanced for a certain quarter, it will need to pay the imbalance price for the deviation. The imbalance of a BRP is the quarter-hourly difference between total injections and offtakes from the grid.
Balance Responsible Parties (BRPs) forecast the electricity consumption and generation of their portfolio to effectively manage the balance between supply and demand within the grid they operate in. They submit a daily balance schedule for their portfolio the day before to the transmission system operator. This consists of the expected physical injections and offtakes from the grid and the commercial power trades. The power trades can be purchases and sales between BRPs or they can even be traded with other countries. BRPs must provide and deploy all reasonable resources to be balanced on a quarter-hourly basis. They can exchange electricity with other BRPs for the following day or the same day. There is one exception where a BRP can deviate from the balance schedule. This is when the grid is not balanced and they can help Elia to stabilize the grid. In this case, they will receive compensation for their help. When a BRP deviates from the balance schedule in a way that destabilizes the grid, it will need to pay the imbalance price for the deviation.
The imbalance price, which is a crucial factor in the management of electricity grids, is set by the Transmission System Operator (TSO). This price is calculated based on the total imbalance within the grid. The net regulation volume (NRV) plays a key role in this process. The NRV represents the amount of energy that Elia, the TSO for Belgium, utilizes to ensure the stability and balance of the electricity grid within the Elia control area.
The imbalance price is determined based on which reserves Elia needs to activate to stabilize the grid. The imbalance of a BRP is the quarter-hourly difference between total injections and offtakes from the grid. The \ac{NRV} is the net control volume of energy that Elia applies to maintain balance in the Elia control area. The Area Control Error is the current difference between the scheduled values and the actual values of power exchanged in the Belgian control area. The \acf{SI} is the Area Control Error minus the \ac{NRV}. Using the System Imbalance, the imbalance price is calculated.
The Area Control Error (ACE) is another important concept in this context. It refers to the discrepancy between the planned (scheduled) and the actual power exchanges in the Belgian control area. Essentially, it measures how much the actual conditions deviate from what was anticipated.
The System Imbalance (SI) is derived by subtracting the NRV from the ACE. This value, the SI, directly influences the calculation of the imbalance price. The TSO uses the magnitude of the System Imbalance to determine the appropriate imbalance price, ensuring that costs are allocated to market participants based on their contribution to the overall grid imbalance. By calculating the imbalance price in this way, the TSO incentivizes market participants to adhere closely to their scheduled injections and offtakes, thereby promoting grid stability and reliability.
The Transmission System Operator (TSO) can activate reserves to maintain grid stability, and these reserves are supplied by entities known as Balancing Service Providers (BSPs). BSPs are crucial participants in the electricity market as they provide the necessary reserve capacity that the TSO can call upon in times of need. Each BSP submits bids to the TSO for the potential activation of these reserves. These bids are detailed and include several key components: the specific type of reserve being offered, the total volume of energy available for activation (measured in megawatt-hours, MWh), the price per MWh at which the BSP is willing to provide this reserve, and a start price which initiates the reserve's deployment. Through this bidding process, the TSO selects the most cost-effective and appropriate offers to ensure the grid's stability and balance.
Elia, the \acf{TSO} in Belgium, maintains grid stability by activating three types of reserves, each designed to address specific conditions of imbalance. These reserves are crucial for ensuring that the electricity supply continuously meets the demand, thereby maintaining the frequency within the required operational limits. The reserves include:

View File

@@ -160,14 +160,14 @@
\setcounter{g@acro@MSE@int}{0}
\setcounter{g@acro@MAE@int}{0}
\setcounter{g@acro@CRPS@int}{0}
\setcounter{g@acro@NRV@int}{5}
\setcounter{g@acro@NRV@int}{3}
\setcounter{g@acro@PV@int}{0}
\setcounter{g@acro@NP@int}{0}
\setcounter{g@acro@TSO@int}{2}
\setcounter{g@acro@DSO@int}{0}
\setcounter{g@acro@BRP@int}{1}
\setcounter{g@acro@BSP@int}{1}
\setcounter{g@acro@SI@int}{1}
\setcounter{g@acro@SI@int}{0}
\setcounter{g@acro@FCR@int}{1}
\setcounter{g@acro@aFRR@int}{1}
\setcounter{g@acro@mFRR@int}{1}

View File

@@ -161,14 +161,14 @@
\setcounter{g@acro@MSE@int}{0}
\setcounter{g@acro@MAE@int}{0}
\setcounter{g@acro@CRPS@int}{0}
\setcounter{g@acro@NRV@int}{5}
\setcounter{g@acro@NRV@int}{3}
\setcounter{g@acro@PV@int}{0}
\setcounter{g@acro@NP@int}{0}
\setcounter{g@acro@TSO@int}{2}
\setcounter{g@acro@DSO@int}{0}
\setcounter{g@acro@BRP@int}{1}
\setcounter{g@acro@BSP@int}{1}
\setcounter{g@acro@SI@int}{1}
\setcounter{g@acro@SI@int}{0}
\setcounter{g@acro@FCR@int}{1}
\setcounter{g@acro@aFRR@int}{1}
\setcounter{g@acro@mFRR@int}{1}

View File

@@ -135,31 +135,31 @@
\ACRO{usage}{MSE=={4}}
\ACRO{usage}{MAE=={4}}
\ACRO{usage}{CRPS=={2}}
\ACRO{usage}{NRV=={14}}
\ACRO{usage}{NRV=={12}}
\ACRO{usage}{PV=={0}}
\ACRO{usage}{NP=={0}}
\ACRO{usage}{TSO=={2}}
\ACRO{usage}{DSO=={0}}
\ACRO{usage}{BRP=={1}}
\ACRO{usage}{BSP=={1}}
\ACRO{usage}{SI=={1}}
\ACRO{usage}{SI=={0}}
\ACRO{usage}{FCR=={1}}
\ACRO{usage}{aFRR=={1}}
\ACRO{usage}{mFRR=={1}}
\ACRO{usage}{MW=={1}}
\ACRO{pages}{BRP=={}}
\ACRO{pages}{SI=={5@1@4}}
\ACRO{pages}{BRP=={4@1@3}}
\ACRO{pages}{TSO=={3@1@2|5@1@4}}
\ACRO{pages}{FCR=={5@1@4}}
\ACRO{pages}{BSP=={5@1@4}}
\ACRO{pages}{aFRR=={5@1@4}}
\ACRO{pages}{mFRR=={5@1@4}}
\ACRO{pages}{MW=={5@1@4}}
\ACRO{pages}{FCR=={6@1@5}}
\ACRO{pages}{BSP=={6@1@5}}
\ACRO{pages}{aFRR=={6@1@5}}
\ACRO{pages}{mFRR=={6@1@5}}
\ACRO{pages}{MW=={6@1@5}}
\ACRO{pages}{NAQR=={42@1@41}}
\ACRO{pages}{CRPS=={41@1@40|42@1@41}}
\ACRO{pages}{MSE=={41@1@40|42@1@41}}
\ACRO{pages}{MAE=={41@1@40|42@1@41}}
\ACRO{pages}{NRV=={3@1@2|5@1@4|44@1@43|45@1@44}}
\ACRO{pages}{NRV=={3@1@2|44@1@43|45@1@44}}
\abx@aux@read@bbl@mdfivesum{5DC935CC8C8FAB8A3CAF97A486ED2386}
\abx@aux@read@bblrerun
\abx@aux@defaultrefcontext{0}{dumas_deep_2022}{nyt/global//global/global}

View File

@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.9.17) 13 MAY 2024 10:03
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.9.17) 13 MAY 2024 11:22
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@@ -1396,79 +1396,80 @@ l.149 \newpage
] [4]
Underfull \hbox (badness 10000) in paragraph at lines 77--82
Underfull \hbox (badness 10000) in paragraph at lines 81--86
[]
Underfull \hbox (badness 10000) in paragraph at lines 77--82
Underfull \hbox (badness 10000) in paragraph at lines 81--86
[]
[5{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusMI.enc}]
Overfull \hbox (4.77582pt too wide) in paragraph at lines 94--96
Overfull \hbox (4.77582pt too wide) in paragraph at lines 98--100
[]\T1/LinuxLibertineT-TLF/m/n/12 There ex-ist many dif-fer-ent types of gen-er-a-tive mod-els. Some of the most pop-u-lar ones are:
[]
LaTeX Font Info: Trying to load font information for TS1+LinuxLibertineT-TLF on input line 96.
LaTeX Font Info: Trying to load font information for TS1+LinuxLibertineT-TLF on input line 100.
(/usr/local/texlive/2023/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd
File: TS1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for TS1/LinuxLibertineT-TLF.
)
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 12.0pt on input line 96.
(Font) scaled to size 12.0pt on input line 100.
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 14.4pt on input line 102.
(Font) scaled to size 14.4pt on input line 106.
<images/quantile_regression/cdf_quantiles_example.png, id=210, 722.7pt x 433.62pt>
File: images/quantile_regression/cdf_quantiles_example.png Graphic file (type png)
<use images/quantile_regression/cdf_quantiles_example.png>
Package pdftex.def Info: images/quantile_regression/cdf_quantiles_example.png used on input line 109.
Package pdftex.def Info: images/quantile_regression/cdf_quantiles_example.png used on input line 113.
(pdftex.def) Requested size: 364.19667pt x 218.51653pt.
[6{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc} <./images/quantile_regression/cdf_quantiles_example.png>]
<images/quantile_regression/reconstructed_cdf.png, id=221, 722.7pt x 433.62pt>
[6{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}]
<images/quantile_regression/reconstructed_cdf.png, id=220, 722.7pt x 433.62pt>
File: images/quantile_regression/reconstructed_cdf.png Graphic file (type png)
<use images/quantile_regression/reconstructed_cdf.png>
Package pdftex.def Info: images/quantile_regression/reconstructed_cdf.png used on input line 119.
Package pdftex.def Info: images/quantile_regression/reconstructed_cdf.png used on input line 123.
(pdftex.def) Requested size: 364.19667pt x 218.51653pt.
[7 <./images/quantile_regression/cdf_quantiles_example.png>]
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.0pt on input line 129.
(Font) scaled to size 8.0pt on input line 133.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.0pt on input line 129.
[7{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusMR.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusEX.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusSYM.enc} <./images/quantile_regression/reconstructed_cdf.png>] [8] [9] [10]
(Font) scaled to size 6.0pt on input line 133.
[8{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusMR.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusEX.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusSYM.enc} <./images/quantile_regression/reconstructed_cdf.png>] [9] [10]
<images/quantile_regression/rnn/RNN_diagram.png, id=247, 753.81625pt x 324.21124pt>
File: images/quantile_regression/rnn/RNN_diagram.png Graphic file (type png)
<use images/quantile_regression/rnn/RNN_diagram.png>
Package pdftex.def Info: images/quantile_regression/rnn/RNN_diagram.png used on input line 208.
Package pdftex.def Info: images/quantile_regression/rnn/RNN_diagram.png used on input line 212.
(pdftex.def) Requested size: 364.19667pt x 156.63872pt.
[11 <./images/quantile_regression/rnn/RNN_diagram.png>]
<images/diffusion/Generation-with-Diffusion-Models.png, id=255, 926.00159pt x 228.96758pt>
[11] [12 <./images/quantile_regression/rnn/RNN_diagram.png>]
<images/diffusion/Generation-with-Diffusion-Models.png, id=260, 926.00159pt x 228.96758pt>
File: images/diffusion/Generation-with-Diffusion-Models.png Graphic file (type png)
<use images/diffusion/Generation-with-Diffusion-Models.png>
Package pdftex.def Info: images/diffusion/Generation-with-Diffusion-Models.png used on input line 236.
Package pdftex.def Info: images/diffusion/Generation-with-Diffusion-Models.png used on input line 240.
(pdftex.def) Requested size: 364.19667pt x 90.05513pt.
[12 <./images/diffusion/Generation-with-Diffusion-Models.png>] [13{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusBMR.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusBB.enc}]
[13 <./images/diffusion/Generation-with-Diffusion-Models.png>] [14{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusBMR.enc}{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertinust1math/libusBB.enc}]
Package caption Warning: \label without proper reference on input line 281.
Package caption Warning: \label without proper reference on input line 287.
See the caption package documentation for explanation.
LaTeX Warning: Reference `fig:diffusion_process' on page 14 undefined on input line 276.
LaTeX Warning: Reference `fig:diffusion_process' on page 15 undefined on input line 280.
<images/diffusion/diffusion_graphical_model.png, id=270, 979.66pt x 185.69376pt>
<images/diffusion/diffusion_graphical_model.png, id=274, 979.66pt x 185.69376pt>
File: images/diffusion/diffusion_graphical_model.png Graphic file (type png)
<use images/diffusion/diffusion_graphical_model.png>
Package pdftex.def Info: images/diffusion/diffusion_graphical_model.png used on input line 280.
Package pdftex.def Info: images/diffusion/diffusion_graphical_model.png used on input line 284.
(pdftex.def) Requested size: 364.19667pt x 69.03145pt.
[14 <./images/diffusion/diffusion_graphical_model.png>]
LaTeX Font Info: Trying to load font information for U+bbm on input line 309.
[15 <./images/diffusion/diffusion_graphical_model.png>]
LaTeX Font Info: Trying to load font information for U+bbm on input line 313.
(/usr/local/texlive/2023/texmf-dist/tex/latex/bbm-macros/ubbm.fd
File: ubbm.fd 1999/03/15 V 1.2 Font definition for bbm font - TH
)
<images/quantile_regression/crps_visualization.png, id=279, 611.4042pt x 395.3169pt>
<images/quantile_regression/crps_visualization.png, id=284, 611.4042pt x 395.3169pt>
File: images/quantile_regression/crps_visualization.png Graphic file (type png)
<use images/quantile_regression/crps_visualization.png>
Package pdftex.def Info: images/quantile_regression/crps_visualization.png used on input line 327.
Package pdftex.def Info: images/quantile_regression/crps_visualization.png used on input line 331.
(pdftex.def) Requested size: 364.19667pt x 235.4849pt.
) [15] [16 <./images/quantile_regression/crps_visualization.png>]
) [16 <./images/quantile_regression/crps_visualization.png>]
\openout2 = `sections/policies.aux'.
(./sections/policies.tex) [17
@@ -1988,15 +1989,15 @@ Package logreq Info: Writing requests to 'verslag.run.xml'.
)
Here is how much of TeX's memory you used:
42826 strings out of 476025
909556 string characters out of 5790017
42819 strings out of 476025
909289 string characters out of 5790017
1884388 words of memory out of 5000000
62390 multiletter control sequences out of 15000+600000
62383 multiletter control sequences out of 15000+600000
609679 words of font info for 109 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
84i,16n,131p,2100b,5180s stack positions out of 10000i,1000n,20000p,200000b,200000s
</Users/victormylle/Library/texlive/2023/texmf-var/fonts/pk/ljfour/public/bbm/bbm12.600pk></usr/local/texlive/2023/texmf-dist/fonts/type1/public/libertinust1math/LibertinusT1Math.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/libertine/LinLibertineT.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/libertine/LinLibertineTB.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/libertine/LinLibertineTI.pfb></usr/local/texlive/2023/texmf-dist/fonts/type1/public/stix/stix-mathcal.pfb>
Output written on verslag.pdf (50 pages, 8679191 bytes).
Output written on verslag.pdf (50 pages, 8680362 bytes).
PDF statistics:
668 PDF objects out of 1000 (max. 8388607)
494 compressed objects within 5 object streams

Binary file not shown.

Binary file not shown.

View File

@@ -2,18 +2,18 @@
\babel@toc {english}{}\relax
\contentsline {section}{\numberline {1}Introduction}{2}{section.1}%
\contentsline {section}{\numberline {2}Electricity market}{3}{section.2}%
\contentsline {section}{\numberline {3}Generative modeling}{5}{section.3}%
\contentsline {section}{\numberline {3}Generative modeling}{6}{section.3}%
\contentsline {subsection}{\numberline {3.1}Quantile Regression}{6}{subsection.3.1}%
\contentsline {subsection}{\numberline {3.2}Autoregressive vs Non-Autoregressive models}{8}{subsection.3.2}%
\contentsline {subsection}{\numberline {3.3}Model Types}{9}{subsection.3.3}%
\contentsline {subsubsection}{\numberline {3.3.1}Linear Model}{9}{subsubsection.3.3.1}%
\contentsline {subsubsection}{\numberline {3.3.2}Non-Linear Model}{10}{subsubsection.3.3.2}%
\contentsline {subsubsection}{\numberline {3.3.3}Recurrent Neural Network (RNN)}{10}{subsubsection.3.3.3}%
\contentsline {subsection}{\numberline {3.4}Diffusion models}{11}{subsection.3.4}%
\contentsline {subsection}{\numberline {3.2}Autoregressive vs Non-Autoregressive models}{9}{subsection.3.2}%
\contentsline {subsection}{\numberline {3.3}Model Types}{10}{subsection.3.3}%
\contentsline {subsubsection}{\numberline {3.3.1}Linear Model}{10}{subsubsection.3.3.1}%
\contentsline {subsubsection}{\numberline {3.3.2}Non-Linear Model}{11}{subsubsection.3.3.2}%
\contentsline {subsubsection}{\numberline {3.3.3}Recurrent Neural Network (RNN)}{11}{subsubsection.3.3.3}%
\contentsline {subsection}{\numberline {3.4}Diffusion models}{12}{subsection.3.4}%
\contentsline {subsubsection}{\numberline {3.4.1}Overview}{12}{subsubsection.3.4.1}%
\contentsline {subsubsection}{\numberline {3.4.2}Applications}{12}{subsubsection.3.4.2}%
\contentsline {subsubsection}{\numberline {3.4.3}Generation process}{12}{subsubsection.3.4.3}%
\contentsline {subsection}{\numberline {3.5}Evaluation}{14}{subsection.3.5}%
\contentsline {subsubsection}{\numberline {3.4.2}Applications}{13}{subsubsection.3.4.2}%
\contentsline {subsubsection}{\numberline {3.4.3}Generation process}{13}{subsubsection.3.4.3}%
\contentsline {subsection}{\numberline {3.5}Evaluation}{15}{subsection.3.5}%
\contentsline {section}{\numberline {4}Policies}{17}{section.4}%
\contentsline {subsection}{\numberline {4.1}Baselines}{17}{subsection.4.1}%
\contentsline {subsection}{\numberline {4.2}Policies based on NRV generations}{18}{subsection.4.2}%

View File

@@ -169,8 +169,7 @@ class NrvDataset(Dataset):
all_features = torch.cat(all_features_list, dim=0)
else:
all_features_list = [nrv_features + self.]
all_features_list = [nrv_features.unsqueeze(1)]
if self.forecast_features.numel() > 0:
history_forecast_features = self.forecast_features[

View File

@@ -80,11 +80,12 @@ class DiffusionTrainer:
data_processor: DataProcessor,
device: torch.device,
policy_evaluator: PolicyEvaluator = None,
noise_steps: int = 300,
):
self.model = model
self.device = device
self.noise_steps = 300
self.noise_steps = noise_steps
self.beta_start = 0.0001
self.beta_end = 0.02
self.ts_length = 96

View File

@@ -2,7 +2,7 @@ from src.utils.clearml import ClearMLHelper
clearml_helper = ClearMLHelper(project_name="Thesis/NrvForecast")
task = clearml_helper.get_task(
task_name="Diffusion Training: hidden_sizes=[1024, 1024] (300 steps), lr=0.0001, time_dim=8 + NRV + L + W + PV + NP",
task_name="Diffusion Training: hidden_sizes=[256, 256] (30 steps), lr=0.0001, time_dim=8",
)
task.execute_remotely(queue_name="default", exit_process=True)
@@ -19,16 +19,16 @@ from src.policies.PolicyEvaluator import PolicyEvaluator
data_config = DataConfig()
data_config.NRV_HISTORY = True
data_config.LOAD_HISTORY = True
data_config.LOAD_FORECAST = True
data_config.LOAD_HISTORY = False
data_config.LOAD_FORECAST = False
data_config.PV_FORECAST = True
data_config.PV_HISTORY = True
data_config.PV_FORECAST = False
data_config.PV_HISTORY = False
data_config.WIND_FORECAST = True
data_config.WIND_HISTORY = True
data_config.WIND_FORECAST = False
data_config.WIND_HISTORY = False
data_config.NOMINAL_NET_POSITION = True
data_config.NOMINAL_NET_POSITION = False
data_config = task.connect(data_config, name="data_features")
@@ -42,7 +42,7 @@ print("Input dim: ", inputDim)
model_parameters = {
"epochs": 15000,
"learning_rate": 0.0001,
"hidden_sizes": [1024, 1024],
"hidden_sizes": [256, 256],
"time_dim": 8,
}
@@ -71,6 +71,6 @@ policy_evaluator = PolicyEvaluator(baseline_policy, task)
#### Trainer ####
trainer = DiffusionTrainer(
model, data_processor, "cuda", policy_evaluator=policy_evaluator
model, data_processor, "cuda", policy_evaluator=policy_evaluator, noise_steps=30
)
trainer.train(model_parameters["epochs"], model_parameters["learning_rate"], task)