\section{Forecasting Accuracies during Peak Times}
\label{peak_results}

This appendix shows all result tables from the main text with the MASE
    averages calculated from time steps within peak times.
Peaks are the times of the day where the typical customer has a lunch or
    dinner meal and defined to be either from 12 pm to 2 pm or from 6 pm to
    8 pm.
While the exact decimals of the MASEs differ from the ones in the main
    text, the relative ranks of the forecasting methods are the same except in
    rare cases.

\begin{center}
\captionof{table}{Top-3 models by training weeks and average demand
                  ($1~\text{km}^2$ pixel size, 60-minute time steps)}
\label{t:results:a}
\begin{tabular}{|c|c|*{12}{c|}}

\hline
\multirow{3}{*}{\rotatebox{90}{\thead{Training}}}
    & \multirow{3}{*}{\rotatebox{90}{\thead{Rank}}}
    & \multicolumn{3}{c|}{\thead{No Demand}}
    & \multicolumn{3}{c|}{\thead{Low Demand}}
    & \multicolumn{3}{c|}{\thead{Medium Demand}}
    & \multicolumn{3}{c|}{\thead{High Demand}} \\
~ & ~
    & \multicolumn{3}{c|}{(0 - 2.5)}
    & \multicolumn{3}{c|}{(2.5 - 10)}
    & \multicolumn{3}{c|}{(10 - 25)}
    & \multicolumn{3}{c|}{(25 - $\infty$)} \\
\cline{3-14}
~ & ~
    & Method & MASE & $n$
    & Method & MASE & $n$
    & Method & MASE & $n$
    & Method & MASE & $n$ \\

\hline \hline
\multirow{3}{*}{3} & 1
    & \textbf{\textit{trivial}}
        & 0.794 & \multirow{3}{*}{\rotatebox{90}{4586}}
    & \textbf{\textit{hsma}}
        & 0.817 & \multirow{3}{*}{\rotatebox{90}{2975}}
    & \textbf{\textit{hsma}}
        & 0.838 & \multirow{3}{*}{\rotatebox{90}{2743}}
    & \textbf{\textit{rtarima}}
        & 0.871 & \multirow{3}{*}{\rotatebox{90}{2018}} \\
~ & 2
    & \textit{hsma}    & 0.808 & ~
    & \textit{hses}    & 0.847 & ~
    & \textit{hses}    & 0.851 & ~
    & \textit{rtses}   & 0.872 & ~ \\
~ & 3
    & \textit{pnaive}  & 0.938 & ~
    & \textit{hets}    & 0.848 & ~
    & \textit{hets}    & 0.853 & ~
    & \textit{rtets}   & 0.874 & ~ \\

\hline
\multirow{3}{*}{4} & 1
    & \textbf{\textit{trivial}}
        & 0.791 & \multirow{3}{*}{\rotatebox{90}{4532}}
    & \textbf{\textit{hsma}}
        & 0.833 & \multirow{3}{*}{\rotatebox{90}{3033}}
    & \textbf{\textit{hsma}}
        & 0.839 & \multirow{3}{*}{\rotatebox{90}{2687}}
    & \textbf{\textit{vrfr}}
        & 0.848 & \multirow{3}{*}{\rotatebox{90}{2016}} \\
~ & 2
    & \textit{hsma}             & 0.794 & ~
    & \textit{hses}             & 0.838 & ~
    & \textit{hses}             & 0.847 & ~
    & \textbf{\textit{rtarima}} & 0.851 & ~ \\
~ & 3
    & \textit{pnaive}  & 0.907 & ~
    & \textit{hets}    & 0.841 & ~
    & \textit{hets}    & 0.851 & ~
    & \textit{rtses}   & 0.857 & ~ \\

\hline
\multirow{3}{*}{5} & 1
    & \textbf{\textit{trivial}}
        & 0.782 & \multirow{3}{*}{\rotatebox{90}{4527}}
    & \textbf{\textit{hsma}}
        & 0.844 & \multirow{3}{*}{\rotatebox{90}{3055}}
    & \textbf{\textit{hsma}}
        & 0.841 & \multirow{3}{*}{\rotatebox{90}{2662}}
    & \textbf{\textit{vrfr}}
        & 0.849 & \multirow{3}{*}{\rotatebox{90}{2019}} \\
~ & 2
    & \textit{hsma}             & 0.802 & ~
    & \textit{hses}             & 0.851 & ~
    & \textit{hets}             & 0.844 & ~
    & \textbf{\textit{rtarima}} & 0.851 & ~ \\
~ & 3
    & \textit{pnaive}  & 0.888 & ~
    & \textit{hets}    & 0.863 & ~
    & \textit{hses}    & 0.845 & ~
    & \textit{vsvr}    & 0.853 & ~ \\

\hline
\multirow{3}{*}{6} & 1
    & \textbf{\textit{trivial}}
        & 0.743 & \multirow{3}{*}{\rotatebox{90}{4470}}
    & \textbf{\textit{hsma}}
        & 0.843 & \multirow{3}{*}{\rotatebox{90}{3086}}
    & \textbf{\textit{hsma}}
        & 0.841 & \multirow{3}{*}{\rotatebox{90}{2625}}
    & \textbf{\textit{vrfr}}
        & 0.844 & \multirow{3}{*}{\rotatebox{90}{2025}} \\
~ & 2
    & \textit{hsma}             & 0.765 & ~
    & \textit{hses}             & 0.853 & ~
    & \textit{hses}             & 0.844 & ~
    & \textbf{\textit{hets}}    & 0.847 & ~ \\
~ & 3
    & \textit{pnaive}  & 0.836 & ~
    & \textit{hets}    & 0.861 & ~
    & \textit{hets}    & 0.844 & ~
    & \textit{vsvr}    & 0.849 & ~ \\

\hline
\multirow{3}{*}{7} & 1
    & \textbf{\textit{trivial}}
        & 0.728 & \multirow{3}{*}{\rotatebox{90}{4454}}
    & \textbf{\textit{hsma}}
        & 0.855 & \multirow{3}{*}{\rotatebox{90}{3132}}
    & \textbf{\textit{hets}}
        & 0.843 & \multirow{3}{*}{\rotatebox{90}{2597}}
    & \textbf{\textit{hets}}
        & 0.839 & \multirow{3}{*}{\rotatebox{90}{2007}} \\
~ & 2
    & \textit{hsma}          & 0.744 & ~
    & \textit{hses}          & 0.862 & ~
    & \textit{hsma}          & 0.845 & ~
    & \textbf{\textit{vrfr}} & 0.842 & ~ \\
~ & 3
    & \textit{pnaive}        & 0.812 & ~
    & \textit{hets}          & 0.868 & ~
    & \textbf{\textit{vsvr}} & 0.849 & ~
    & \textit{vsvr}          & 0.846 & ~ \\

\hline
\multirow{3}{*}{8} & 1
    & \textbf{\textit{trivial}}
        & 0.736 & \multirow{3}{*}{\rotatebox{90}{4402}}
    & \textbf{\textit{hsma}}
        & 0.865 & \multirow{3}{*}{\rotatebox{90}{3159}}
    & \textbf{\textit{hets}}
        & 0.843 & \multirow{3}{*}{\rotatebox{90}{2575}}
    & \textbf{\textit{hets}}
        & 0.837 & \multirow{3}{*}{\rotatebox{90}{2002}} \\
~ & 2
    & \textit{hsma}          & 0.759 & ~
    & \textit{hets}          & 0.874 & ~
    & \textbf{\textit{vsvr}} & 0.848 & ~
    & \textbf{\textit{vrfr}} & 0.841 & ~ \\
~ & 3
    & \textit{pnaive}  & 0.820 & ~
    & \textit{hses}    & 0.879 & ~
    & \textit{hsma}    & 0.850 & ~
    & \textit{vsvr}    & 0.847 & ~ \\

\hline
\end{tabular}
\end{center}

\begin{center}
\captionof{table}{Ranking of benchmark and horizontal models
                  ($1~\text{km}^2$ pixel size, 60-minute time steps):
                  the table shows the ranks for cases with $2.5 < ADD < 25$
                  (and $25 < ADD < \infty$ in parentheses if they differ)}
\label{t:hori:a}
\begin{tabular}{|c|ccc|cccccccc|}
\hline
\multirow{2}{*}{\rotatebox{90}{\thead{\scriptsize{Training}}}}
    & \multicolumn{3}{c|}{\thead{Benchmarks}}
    & \multicolumn{8}{c|}{\thead{Horizontal (whole-day-ahead)}} \\
\cline{2-12}
~ & \textit{naive}     & \textit{fnaive}   & \textit{paive}
  & \textit{harima}    & \textit{hcroston} & \textit{hets} & \textit{hholt}
  & \textit{hhwinters} & \textit{hses}     & \textit{hsma} & \textit{htheta} \\
\hline \hline
3 & 11      &  7 (2) &  8 (5) & 5 (7) & 4     & 3
  &  9 (10) & 10 (9) &  2 (6) & 1     & 6 (8) \\
4 & 11      &  7 (2) &  8 (3) & 5 (6) & 4 (5) & 3 (1)
  &  9 (10) & 10 (9) &  2 (8) & 1 (4) & 6 (7) \\
5 & 11      &  7 (2) &  8 (4) & 5 (3) & 4 (9) & 3 (1)
  &  9 (10) & 10 (5) &  2 (8) & 1 (6) & 6 (7) \\
6 & 11      &  8 (5) &  9 (6) & 5 (4) & 4 (7) & 2 (1)
  & 10      &  7 (2) &  3 (8) & 1 (9) & 6 (3)  \\
7 & 11      &  8 (5) & 10 (6) & 5 (4) & 4 (7) & 2 (1)
  &  9 (10) &  7 (2) &  3 (8) & 1 (9) & 6 (3) \\
8 & 11      &  9 (5) & 10 (6) & 5 (4) & 4 (7) & 2 (1)
  &  8 (10) &  7 (2) &  3 (8) & 1 (9) & 6 (3) \\
\hline
\end{tabular}
\end{center}
\

\begin{center}
\captionof{table}{Ranking of classical models on vertical time series
                  ($1~\text{km}^2$ pixel size, 60-minute time steps):
                  the table shows the ranks for cases with $2.5 < ADD < 25$
                  (and $25 < ADD < \infty$ in parentheses if they differ)}
\label{t:vert:a}
\begin{tabular}{|c|cc|ccccc|ccccc|}
\hline
\multirow{2}{*}{\rotatebox{90}{\thead{\scriptsize{Training}}}}
    & \multicolumn{2}{c|}{\thead{Benchmarks}}
    & \multicolumn{5}{c|}{\thead{Vertical (whole-day-ahead)}}
    & \multicolumn{5}{c|}{\thead{Vertical (real-time)}} \\
\cline{2-13}
~ & \textit{hets}  & \textit{hsma}   & \textit{varima} & \textit{vets} 
  & \textit{vholt} & \textit{vses}   & \textit{vtheta} & \textit{rtarima}
  & \textit{rtets} & \textit{rtholt} & \textit{rtses}  & \textit{rttheta} \\
\hline \hline
3 &  2 (10) &  1  (7) & 6 (4) & 8 (6) & 10 (9)
  &  7  (5) & 11 (12) & 4 (1) & 5 (3) &  9 (8) & 3 (2) & 12 (11) \\
4 &  2  (7) &  1 (10) & 6 (4) & 8 (6) & 10 (9)
  &  7  (5) & 12 (11) & 3 (1) & 5 (3) &  9 (8) & 4 (2) & 11 (12) \\
5 &  2  (3) &  1 (10) & 7 (5) & 8 (7) & 10 (9)
  &  6      & 11      & 4 (1) & 5 (4) &  9 (8) & 3 (2) & 12 \\
6 &  2  (1) &  1 (10) & 6 (5) & 8 (7) & 10 (9)
  &  7  (6) & 11 (12) & 3 (2) & 5 (4) &  9 (8) & 4 (3) & 12 (11) \\
7 &  2  (1) &  1 (10) & 8 (5) & 7     & 10 (9)
  &  6      & 11 (12) &	5 (2) & 4     &  9 (8) & 3     & 12 (11) \\
8 &  2  (1) &  1  (9) & 8 (5) & 7     & 10 (8)
  &  6      & 12 (10) & 5 (2) & 4     &  9 (6) & 3     & 11 \\
\hline
\end{tabular}
\end{center}
\

\pagebreak

\begin{center}
\captionof{table}{Ranking of ML models on vertical time series
                  ($1~\text{km}^2$ pixel size, 60-minute time steps):
                  the table shows the ranks for cases with $2.5 < ADD < 25$
                  (and $25 < ADD < \infty$ in parentheses if they differ)}
\label{t:ml:a}
\begin{tabular}{|c|cccc|cc|}
\hline
\multirow{2}{*}{\rotatebox{90}{\thead{\scriptsize{Training}}}}
    & \multicolumn{4}{c|}{\thead{Benchmarks}}
    & \multicolumn{2}{c|}{\thead{ML}} \\
\cline{2-7}
~ & \textit{fnaive}  & \textit{hets} & \textit{hsma}
  & \textit{rtarima} & \textit{vrfr} & \textit{vsvr} \\
\hline \hline
3 & 6     & 2 (5) & 1 (3) & 3 (1) & 5 (2) & 4 \\
4 & 6 (5) & 2 (3) & 1 (6) & 3 (2) & 5 (1) & 4 \\
5 & 6 (5) & 2 (4) & 1 (6) & 4 (2) & 5 (1) & 3 \\
6 & 6 (5) & 2     & 1 (6) & 4     & 5 (1) & 3 \\
7 & 6 (5) & 2 (1) & 1 (6) & 4     & 5 (2) & 3 \\
8 & 6 (5) & 2 (1) & 1 (6) & 4     & 5 (2) & 3 \\
\hline
\end{tabular}
\end{center}
\
