WIP: Thesis update

This commit is contained in:
Radu C. Martin 2021-06-21 22:32:43 +02:00
parent 3b4e35900f
commit 4bdc12f802
5 changed files with 83 additions and 58 deletions

View file

@ -348,6 +348,8 @@ being cheaper from a computational perspective. In order to make a more informed
choice for the best hyperparamerers, the performance of all three combinations choice for the best hyperparamerers, the performance of all three combinations
has been analysed. has been analysed.
\clearpage
\begin{table}[ht] \begin{table}[ht]
%\vspace{-8pt} %\vspace{-8pt}
\centering \centering
@ -384,25 +386,22 @@ therefore been chosen as the model for the full year simulations.
% TODO: [Hyperparameters] Validation of hyperparameters % TODO: [Hyperparameters] Validation of hyperparameters
The validation of model parameters has the dual purpose of The validation step has the purpose of testing the fiability of the trained
models. If choosing a model according to loss function values on a new dataset
is a way of minimizing the possibility of overfitting the model to the training
data, validating the model by analyzing its multi-step prediction performance
ensures the model was able to learn the correct dynamics and is useful in
simulation scenarios.
The following subsections analyze the performance of the trained \arcshort{gp}
and \acrshort{svgp} models over 20-step ahead predictions. For the \acrshort{gp}
model the final choice of parameters is made according to the simulation
performance. The simulation performance of the \acrshort{svgp} model is compared
to that of the classical models while speculating on the possible reasons for
the discrepancies.
\subsubsection{Conventional Gaussian Process} \subsubsection{Conventional Gaussian Process}
\begin{figure}[ht]
\centering
\includegraphics[width = \textwidth]{Plots/GP_113_training_performance.pdf}
\caption{}
\label{fig:GP_train_validation}
\end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width = \textwidth]{Plots/GP_113_test_performance.pdf}
\caption{}
\label{fig:GP_test_validation}
\end{figure}
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
@ -412,23 +411,39 @@ The validation of model parameters has the dual purpose of
\label{fig:GP_multistep_validation} \label{fig:GP_multistep_validation}
\end{figure} \end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width =
\textwidth]{Plots/GP_213_-1pts_test_prediction_20_steps.pdf}
\caption{}
\label{fig:GP_213_multistep_validation}
\end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width =
\textwidth]{Plots/GP_313_-1pts_test_prediction_20_steps.pdf}
\caption{}
\label{fig:GP_313_multistep_validation}
\end{figure}
\clearpage \clearpage
\subsubsection{Sparse and Variational Gaussian Process} \subsubsection{Sparse and Variational Gaussian Process}
\begin{figure}[ht] %\begin{figure}[ht]
\centering % \centering
\includegraphics[width = \textwidth]{Plots/SVGP_123_training_performance.pdf} % \includegraphics[width = \textwidth]{Plots/SVGP_123_training_performance.pdf}
\caption{} % \caption{}
\label{fig:SVGP_train_validation} % \label{fig:SVGP_train_validation}
\end{figure} %\end{figure}
%
\begin{figure}[ht] %\begin{figure}[ht]
\centering % \centering
\includegraphics[width = \textwidth]{Plots/SVGP_123_test_performance.pdf} % \includegraphics[width = \textwidth]{Plots/SVGP_123_test_performance.pdf}
\caption{} % \caption{}
\label{fig:SVGP_test_validation} % \label{fig:SVGP_test_validation}
\end{figure} %\end{figure}
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering

View file

@ -30,7 +30,7 @@ the GP input vector at time t, composed of the exogenous autoregressive inputs
$\mathbf{w}_{t}$, the autoregressive controlled inputs $\mathbf{u}_{t}$ and the $\mathbf{w}_{t}$, the autoregressive controlled inputs $\mathbf{u}_{t}$ and the
autoregressive outputs $\mathbf{y}_{t}$. autoregressive outputs $\mathbf{y}_{t}$.
\subsection{Temperature reference} \subsection{Temperature reference}\label{sec:reference_temperature}
The temperature reference for the controller has been taken as the mean value of The temperature reference for the controller has been taken as the mean value of
the SIA~180:2014~\cite{sia180:2014ProtectionThermiqueProtection2014} temperature the SIA~180:2014~\cite{sia180:2014ProtectionThermiqueProtection2014} temperature

View file

@ -20,21 +20,17 @@ in the \acrshort{wdb} object is given in Section~\ref{sec:CARNOT_WDB}.
\subsection{Simulink Model} \subsection{Simulink Model}
The secondary functions of the Simulink model is the weather prediction, as well
% TODO: [Implementation] Move the simulink schema here, with explanations of tcp as communication with the Python controller. A complete schema of the Simulink
setup is presented in Figure~\ref{fig:Simulink_complete}.
The final Simulink schema is presented in Figure~\ref{fig:CARNOT_complete}:
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
\includegraphics[width = \textwidth]{Images/polydome_python.pdf} \includegraphics[width = 0.75\textwidth]{Images/polydome_python.pdf}
\caption{Simulink Schema of the Complete Simulation} \caption{Simulink Schema of the Complete Simulation}
\label{fig:Simulink_complete} \label{fig:Simulink_complete}
\end{figure} \end{figure}
The secondary functions of the Simulink model is the weather prediction, as well
as communication with the Python controller.
The communication between Simulink and the controller is done using three The communication between Simulink and the controller is done using three
separate TCP/IP sockets: one for sending the control signal, one for reading the separate TCP/IP sockets: one for sending the control signal, one for reading the
temperature measurement, and one for reading the weather forecast. This is temperature measurement, and one for reading the weather forecast. This is
@ -185,5 +181,20 @@ delegates which controller is active, is responsible for training and updating
the \acrshort{gp} and \acrshort{svgp} models, as well as keeping track of all the \acrshort{gp} and \acrshort{svgp} models, as well as keeping track of all
the intermediate results for analysis. the intermediate results for analysis.
In the beginning of the experiment there is no information available on the
building's thermal behaviour. For this part of the simulation, the controller
switches to a \acrshort{pi} controller until it gathers enough data to train a
\acrshort{gp} model. The signal is then disturbed by a random signal before
being applied to the CARNOT building. This ensured that the building is
sufficiently excited to capture its dynamics, while maintaining the
temperature within an acceptable range (~15 --- 25 $\degree$C).
Once enough data has been captured, the Python controller trains the
\acrshort{gp} model and switches to tracking the appropriate SIA 180:2014
reference temperature (cf. Section~\ref{sec:reference_temperature}).
For the case of the \acrshort{svgp}, a new model is trained once enough data is
gathered. The implementations tested were updated once a day, either on the
whole historical set of data, or on a window of the last five days of data.
\clearpage \clearpage

View file

@ -2,6 +2,24 @@
\section{Hyperparameters validation for classical GP} \section{Hyperparameters validation for classical GP}
\subsection{113}
\begin{figure}[ht]
\centering
\includegraphics[width = \textwidth]{Plots/GP_113_training_performance.pdf}
\caption{}
\label{fig:GP_train_validation}
\end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width = \textwidth]{Plots/GP_113_test_performance.pdf}
\caption{}
\label{fig:GP_test_validation}
\end{figure}
\clearpage
\subsection{213} \subsection{213}
\begin{figure}[ht] \begin{figure}[ht]
@ -18,21 +36,10 @@
\label{fig:GP_213_test_validation} \label{fig:GP_213_test_validation}
\end{figure} \end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width =
\textwidth]{Plots/GP_213_-1pts_test_prediction_20_steps.pdf}
\caption{}
\label{fig:GP_213_multistep_validation}
\end{figure}
\clearpage \clearpage
\subsection{313} \subsection{313}
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
\includegraphics[width = \textwidth]{Plots/GP_313_training_performance.pdf} \includegraphics[width = \textwidth]{Plots/GP_313_training_performance.pdf}
@ -47,14 +54,4 @@
\label{fig:GP_313_test_validation} \label{fig:GP_313_test_validation}
\end{figure} \end{figure}
\begin{figure}[ht]
\centering
\includegraphics[width =
\textwidth]{Plots/GP_313_-1pts_test_prediction_20_steps.pdf}
\caption{}
\label{fig:GP_313_multistep_validation}
\end{figure}
\clearpage \clearpage

View file

@ -4,6 +4,8 @@
% Acronyms % Acronyms
\newacronym{pi}{PI}{Proportional Integral}
\newacronym{ocp}{OCP}{Optimal Control Problem} \newacronym{ocp}{OCP}{Optimal Control Problem}
\newacronym{mpc}{MPC}{Model Predictive Control} \newacronym{mpc}{MPC}{Model Predictive Control}