diff --git a/Reports/Thesis/sections/nrv_prediction.tex b/Reports/Thesis/sections/nrv_prediction.tex index 093666f..b0a18f4 100644 --- a/Reports/Thesis/sections/nrv_prediction.tex +++ b/Reports/Thesis/sections/nrv_prediction.tex @@ -384,7 +384,39 @@ Linear (Linear) & [B, Number of quantiles] \\ \label{tab:non_linear_model_architecture} \end{table} -This is still a quite simple model with not too many hyperparameters to experiment with. The hidden size of the linear layers and the number of layers can be experimented with. The same quantiles will be that were used for the linear quantile regression model. +This is still a quite simple model with not too many hyperparameters to experiment with. The hidden size of the linear layers and the number of layers can be experimented with. The same quantiles will be that were used for the linear quantile regression model. The model is trained using the Adam optimizer with a learning rate of 1e-4. Early stopping is used with a patience of 5 epochs. The results of the non-linear model are shown in Table \ref{tab:autoregressive_non_linear_model_results}. + +\begin{table}[ht] +\centering +\caption{Comparison of autoregressive models with various configurations} +\label{tab:model_comparison} +\begin{adjustbox}{width=\textwidth,center} +\begin{tabular}{@{}cccccccccc@{}} +\toprule +Features & Layers & Hidden Size & \multicolumn{2}{c}{MSE} & \multicolumn{2}{c}{MAE} & \multicolumn{2}{c}{CRPS} \\ +\cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(lr){8-9} +& & & Train & Test & Train & Test & Train & Test \\ +\midrule +NRV & & & & & & & & \\ +& 2 & 256 & 32982.64 & 38117.43 & 138.92 & 147.55 & 82.10 & 86.42 \\ +& 4 & 256 & 33317.10 & 37817.78 & 139.42 & 146.90 & 82.17 & 85.63 \\ +& 8 & 256 & 32727.90 & 36346.57 & 139.21 & 144.80 & 81.86 & 84.51 \\ +\midrule +NRV + Load + PV\\ + Wind & & & & & & & & \\ +& 2 & 256 & 28860.10 & 42983.21 & 130.46 & 156.65 & 75.47 & 92.15 \\ +\midrule +NRV + Load + PV\\ + Wind + Net Position\\ + QE (dim 5) & & & & & & & & \\ +& 2 & 256 & 25064.82 & 37785.49 & 121.45 & 146.99 & 70.47 & 85.22 \\ +& 4 & 256 & 24333.62 & 34232.57 & 119.16 & 139.78 & 68.60 & 80.14 \\ +& 8 & 256 & 26399.20 & \textbf{32447.41} & 124.75 & \textbf{137.24} & 72.07 & \textbf{79.22} \\ +& 2 & 512 & 28608.20 & 44281.20 & 12x9.41 & 158.63 & 75.54 & 91.82 \\ +& 4 & 512 & 24564.89 & 34839.79 & 119.74 & 140.67 & 69.02 & 80.21 \\ +& 8 & 512 & 24523.61 & 34925.46 & 119.90 & 141.11 & 69.26 & 81.11 \\ + +\bottomrule +\end{tabular} +\end{adjustbox} +\end{table} \subsubsection{GRU Model} diff --git a/Reports/Thesis/verslag 21.synctex.gz b/Reports/Thesis/verslag 21.synctex.gz new file mode 100644 index 0000000..09a292d Binary files /dev/null and b/Reports/Thesis/verslag 21.synctex.gz differ diff --git a/Reports/Thesis/verslag 22.synctex.gz b/Reports/Thesis/verslag 22.synctex.gz new file mode 100644 index 0000000..5bd1edf Binary files /dev/null and b/Reports/Thesis/verslag 22.synctex.gz differ diff --git a/Reports/Thesis/verslag.aux b/Reports/Thesis/verslag.aux index 0696285..5789027 100644 --- a/Reports/Thesis/verslag.aux +++ b/Reports/Thesis/verslag.aux @@ -73,6 +73,8 @@ \newlabel{tab:non_linear_model_architecture}{{6}{22}{Non-linear Quantile Regression Model Architecture Details\relax }{table.caption.13}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.5}GRU Model}{22}{subsubsection.5.2.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.6}Comparison}{22}{subsubsection.5.2.6}\protected@file@percent } +\@writefile{lot}{\contentsline {table}{\numberline {7}{\ignorespaces Comparison of autoregressive models with various configurations\relax }}{23}{table.caption.14}\protected@file@percent } +\newlabel{tab:model_comparison}{{7}{23}{Comparison of autoregressive models with various configurations\relax }{table.caption.14}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Diffusion}{23}{subsection.5.3}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6}Policies for battery optimization}{23}{section.6}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Baselines}{23}{subsection.6.1}\protected@file@percent } diff --git a/Reports/Thesis/verslag.log b/Reports/Thesis/verslag.log index 6e8a6f0..c9bb7f0 100644 --- a/Reports/Thesis/verslag.log +++ b/Reports/Thesis/verslag.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.9.17) 19 APR 2024 23:24 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex 2023.9.17) 20 APR 2024 18:24 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -1448,7 +1448,11 @@ Underfull \hbox (badness 10000) in paragraph at lines 364--386 [] -[21 <./images/quantile_regression/aqr_linear_model_samples/AQR_NRV_Load_Wind_PV_NP-QE-Example_864_samples.png> <./images/quantile_regression/naqr_linear_model_samples/NAQR_NRV_Load_Wind_PV_NP-Example_864_samples.png> <./images/quantile_regression/aqr_linear_model_samples/AQR_NRV_Load_Wind_PV_NP-QE-Example_4320_samples.png> <./images/quantile_regression/naqr_linear_model_samples/NAQR_NRV_Load_Wind_PV_NP-Example_4320_samples.png> <./images/quantile_regression/aqr_linear_model_samples/AQR_NRV_Load_Wind_PV_NP-QE-Example_6336_samples.png> <./images/quantile_regression/naqr_linear_model_samples/NAQR_NRV_Load_Wind_PV_NP-Example_6336_samples.png>] [22{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}]) [23] (./verslag.aux (./sections/introduction.aux) (./sections/background.aux) (./sections/literature_study.aux)) +[21 <./images/quantile_regression/aqr_linear_model_samples/AQR_NRV_Load_Wind_PV_NP-QE-Example_864_samples.png> <./images/quantile_regression/naqr_linear_model_samples/NAQR_NRV_Load_Wind_PV_NP-Example_864_samples.png> <./images/quantile_regression/aqr_linear_model_samples/AQR_NRV_Load_Wind_PV_NP-QE-Example_4320_samples.png> <./images/quantile_regression/naqr_linear_model_samples/NAQR_NRV_Load_Wind_PV_NP-Example_4320_samples.png> <./images/quantile_regression/aqr_linear_model_samples/AQR_NRV_Load_Wind_PV_NP-QE-Example_6336_samples.png> <./images/quantile_regression/naqr_linear_model_samples/NAQR_NRV_Load_Wind_PV_NP-Example_6336_samples.png>] + +LaTeX Warning: Reference `tab:autoregressive_non_linear_model_results' on page 22 undefined on input line 387. + +[22{/usr/local/texlive/2023/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}]) [23] (./verslag.aux (./sections/introduction.aux) (./sections/background.aux) (./sections/literature_study.aux)) LaTeX Warning: There were undefined references. @@ -1464,18 +1468,18 @@ Package logreq Info: Writing requests to 'verslag.run.xml'. ) Here is how much of TeX's memory you used: - 26704 strings out of 476025 - 484186 string characters out of 5790017 - 1867388 words of memory out of 5000000 - 46653 multiletter control sequences out of 15000+600000 + 26708 strings out of 476025 + 484281 string characters out of 5790017 + 1873388 words of memory out of 5000000 + 46656 multiletter control sequences out of 15000+600000 603223 words of font info for 88 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 83i,16n,131p,1492b,5180s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on verslag.pdf (24 pages, 3637078 bytes). +Output written on verslag.pdf (24 pages, 3638189 bytes). PDF statistics: - 387 PDF objects out of 1000 (max. 8388607) - 298 compressed objects within 3 object streams - 67 named destinations out of 1000 (max. 500000) + 388 PDF objects out of 1000 (max. 8388607) + 299 compressed objects within 3 object streams + 68 named destinations out of 1000 (max. 500000) 285 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/Reports/Thesis/verslag.pdf b/Reports/Thesis/verslag.pdf index c06d87e..c507766 100644 Binary files a/Reports/Thesis/verslag.pdf and b/Reports/Thesis/verslag.pdf differ diff --git a/Reports/Thesis/verslag.synctex.gz b/Reports/Thesis/verslag.synctex.gz new file mode 100644 index 0000000..83e76d3 Binary files /dev/null and b/Reports/Thesis/verslag.synctex.gz differ diff --git a/src/training_scripts/autoregressive_quantiles.py b/src/training_scripts/autoregressive_quantiles.py index 3dfbdef..c70ef1c 100644 --- a/src/training_scripts/autoregressive_quantiles.py +++ b/src/training_scripts/autoregressive_quantiles.py @@ -2,7 +2,9 @@ from src.utils.clearml import ClearMLHelper #### ClearML #### clearml_helper = ClearMLHelper(project_name="Thesis/NrvForecast") -task = clearml_helper.get_task(task_name="AQR: Non-Linear (2 - 256 - 0.2)") +task = clearml_helper.get_task( + task_name="AQR: Non-Linear (8 - 512 - 0.2) + Load + PV + Wind + Net Position + QE (dim 5)" +) task.execute_remotely(queue_name="default", exit_process=True) from src.policies.PolicyEvaluator import PolicyEvaluator @@ -28,19 +30,19 @@ data_config = DataConfig() data_config.NRV_HISTORY = True -data_config.LOAD_HISTORY = False -data_config.LOAD_FORECAST = False +data_config.LOAD_HISTORY = True +data_config.LOAD_FORECAST = True -data_config.WIND_FORECAST = False -data_config.WIND_HISTORY = False +data_config.WIND_FORECAST = True +data_config.WIND_HISTORY = True -data_config.PV_FORECAST = False -data_config.PV_HISTORY = False +data_config.PV_FORECAST = True +data_config.PV_HISTORY = True -data_config.QUARTER = False +data_config.QUARTER = True data_config.DAY_OF_WEEK = False -data_config.NOMINAL_NET_POSITION = False +data_config.NOMINAL_NET_POSITION = True data_config = task.connect(data_config, name="data_features") @@ -68,8 +70,8 @@ else: model_parameters = { "learning_rate": 0.0001, - "hidden_size": 256, - "num_layers": 2, + "hidden_size": 512, + "num_layers": 8, "dropout": 0.2, "time_feature_embedding": 5, } @@ -125,7 +127,7 @@ trainer = AutoRegressiveQuantileTrainer( trainer.add_metrics_to_track( [PinballLoss(quantiles), MSELoss(), L1Loss(), CRPSLoss(quantiles)] ) -trainer.early_stopping(patience=5) +trainer.early_stopping(patience=10) trainer.plot_every(15) trainer.train(task=task, epochs=epochs, remotely=True)