WIP: Thesis update
This commit is contained in:
parent
3b4e35900f
commit
4bdc12f802
5 changed files with 83 additions and 58 deletions
|
@ -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
|
||||
has been analysed.
|
||||
|
||||
\clearpage
|
||||
|
||||
\begin{table}[ht]
|
||||
%\vspace{-8pt}
|
||||
\centering
|
||||
|
@ -384,25 +386,22 @@ therefore been chosen as the model for the full year simulations.
|
|||
|
||||
% 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}
|
||||
|
||||
\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]
|
||||
\centering
|
||||
|
@ -412,23 +411,39 @@ The validation of model parameters has the dual purpose of
|
|||
\label{fig:GP_multistep_validation}
|
||||
\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
|
||||
|
||||
\subsubsection{Sparse and Variational Gaussian Process}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width = \textwidth]{Plots/SVGP_123_training_performance.pdf}
|
||||
\caption{}
|
||||
\label{fig:SVGP_train_validation}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width = \textwidth]{Plots/SVGP_123_test_performance.pdf}
|
||||
\caption{}
|
||||
\label{fig:SVGP_test_validation}
|
||||
\end{figure}
|
||||
%\begin{figure}[ht]
|
||||
% \centering
|
||||
% \includegraphics[width = \textwidth]{Plots/SVGP_123_training_performance.pdf}
|
||||
% \caption{}
|
||||
% \label{fig:SVGP_train_validation}
|
||||
%\end{figure}
|
||||
%
|
||||
%\begin{figure}[ht]
|
||||
% \centering
|
||||
% \includegraphics[width = \textwidth]{Plots/SVGP_123_test_performance.pdf}
|
||||
% \caption{}
|
||||
% \label{fig:SVGP_test_validation}
|
||||
%\end{figure}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
|
|
|
@ -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
|
||||
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 SIA~180:2014~\cite{sia180:2014ProtectionThermiqueProtection2014} temperature
|
||||
|
|
|
@ -20,21 +20,17 @@ in the \acrshort{wdb} object is given in Section~\ref{sec:CARNOT_WDB}.
|
|||
|
||||
\subsection{Simulink Model}
|
||||
|
||||
|
||||
% TODO: [Implementation] Move the simulink schema here, with explanations of tcp
|
||||
|
||||
The final Simulink schema is presented in Figure~\ref{fig:CARNOT_complete}:
|
||||
The secondary functions of the Simulink model is the weather prediction, as well
|
||||
as communication with the Python controller. A complete schema of the Simulink
|
||||
setup is presented in Figure~\ref{fig:Simulink_complete}.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width = \textwidth]{Images/polydome_python.pdf}
|
||||
\includegraphics[width = 0.75\textwidth]{Images/polydome_python.pdf}
|
||||
\caption{Simulink Schema of the Complete Simulation}
|
||||
\label{fig:Simulink_complete}
|
||||
\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
|
||||
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
|
||||
|
@ -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 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
|
||||
|
|
|
@ -2,6 +2,24 @@
|
|||
|
||||
\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}
|
||||
|
||||
\begin{figure}[ht]
|
||||
|
@ -18,21 +36,10 @@
|
|||
\label{fig:GP_213_test_validation}
|
||||
\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
|
||||
|
||||
\subsection{313}
|
||||
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width = \textwidth]{Plots/GP_313_training_performance.pdf}
|
||||
|
@ -47,14 +54,4 @@
|
|||
\label{fig:GP_313_test_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
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
% Acronyms
|
||||
|
||||
\newacronym{pi}{PI}{Proportional Integral}
|
||||
|
||||
\newacronym{ocp}{OCP}{Optimal Control Problem}
|
||||
\newacronym{mpc}{MPC}{Model Predictive Control}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue