<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Machine Learning Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Florian Siepe</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Phillip Wenig</string-name>
          <email>phillip.wenig@hpi.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thorsten Papenbrock</string-name>
          <email>papenbrock@informatik.uni-marburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Machine Learning, Clustering, Model Aggregation, Energy Consumption, Heat Generator</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Consolidation of AI Model Deployments</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Hasso Plattner Institute, University of Potsdam</institution>
          ,
          <addr-line>Potsdam</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>LWDA'23: Lernen</institution>
          ,
          <addr-line>Wissen, Daten, Analysen</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Philipps University of Marburg</institution>
          ,
          <addr-line>Marburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Viessmann IT Service GmbH</institution>
          ,
          <addr-line>Allendorf (Eder)</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <abstract>
        <p>Many manufacturers of electrical installations in smart home environments have developed and now ofer AI solutions that record and analyze the sensor data from their products. Their goal is to monitor and forecast runtime parameters, such as the energy consumption of heat generators or the cooling performance of air conditioning systems, for predictive maintenance and to optimize the carbon footprint. The training and deployment of such AI models can, though, be costly, necessitating intelligent techniques to consolidate, i.e., aggregate models of individual installations into fewer, but larger models. The aggregation of AI models, however, poses a challenging task due to the complexity of the systems and the variability of (hidden) factors that influence the forecasts. To solve the aggregation challenge, improve the forecasting accuracies and ultimately also reduce the AI deployment costs, this paper explores the concept of consolidating similar machine learning models with a novel clustering approach. We introduce CAML, a novel technique for (C)lustering and (A)ggregating (M)achine (L)earning models with shared characteristics. The clusters efectively capture the unique features of the contained models and can be combined into fewer AI models. Our evaluation shows that the hidden parameters learned by the baseline models are key factors in achieving accurate performance, underlining the importance of these models in the clustering process. Moreover, we demonstrate that by choosing the right model architecture, cluster models ofer a higher prediction certainty while exhibiting an only slightly higher average error compared to baseline models. Our experimental results show that CAML outperforms alternative clustering techniques in terms of prediction error and variance across multiple cluster configurations.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR</p>
      <p>ceur-ws.org
(T. Papenbrock)
CEUR
Workshop
Proceedings
htp:/ceur-ws.org
IS N1613-073</p>
      <p>CEUR Workshop Proceedings (CEUR-WS.org)
installations and their energy forecasting models.</p>
      <p>Accurate energy consumption forecasts are critical for various stakeholders, including utility
companies, building managers, and residents, because they enable optimizations in energy
usage, predictive maintenance and ultimately cost reductions. The models employed for this
purpose use historical sensor data to predict future energy consumption curves. Through careful
feature engineering, they are also able to reflect parameter changes (e.g. adjusting the indoor
temperature) in their predictions. However, accurate forecasts depend not only on features that
are captured by sensors, such as temperatures and power consumptions, but also on various
hidden parameters specific to the installation environment, such as the size, age, and insulation
type of the building that houses the heating system.</p>
      <p>Heating systems usually supply temperature at a constant level, heating water to a specific
temperature and circulating it to provide warmth. This approach may, however, not be the
most energy-eficient method, particularly during milder weather. Modern heating systems,
therefore, use a dynamic approach, adjusting the supply temperature based on the outside
temperature measured by an outdoor temperature sensor. This relationship is graphically
represented by a heating curve, a crucial part of a heating system’s control strategy. These
curves can be tailored to the residents’ preferences, which is an important variable for the
accuracy of energy consumption forecasts. Additional factors include the desired indoor
temperature, which is set via a thermostat, and the application of a night setback concept. The
latter lowers the temperature during unoccupied periods like nighttime to save energy. These
strategies make modern heating systems usually more eficient, but the interplay of these novel
features combined with the hidden housing parameters of the installations make it dificult for
manufacturers to develop generalizable AI models, such as the global forecasting model shown
in Figure 1a. Instead, the current practice is to train, deploy and maintain a forecasting model
(with potentially diferent hyper-parameters and model architectures) for every installation,
as show in Figure 1b. Although the predictions of these models are decently accurate, their
deployment and maintenance is expensive.</p>
      <p>Despite the complex feature interactions and the numerous hidden parameters, many
installations and, hence, their AI models are suficiently similar, such that, as depicted in Figure 1c,
a smaller set of AI models could manage their forecasts. To find these partially generalizable
models, we propose to cluster similar heat generator models and consolidate every cluster
into only one cluster model. These cluster models are expected to encapsulates the unique
features and encoded knowledge of each cluster. In our setting, this encoded knowledge refers
to constant parameters that are relevant in the learning process but not directly visible within
the data set, such as the size or insulation of buildings. By consolidating  individual models into
 cluster models with an efective clustering, the number of models necessary for deployment
and serving can be reduced significantly. To find these clusterings, we evaluate three diferent
approaches: a) clustering the models by their underlying time series training data; b) clustering
the models by their output data, which is their predictions; and c) clustering the models by their
cross performance, which is the performance on each others training data. We demonstrate that
approach c) delivers the most promising results, making it our suggested solution.</p>
      <p>More specifically, we introduce CAML, a novel technique for (C)lustering and (A)ggregating
(M)achine (L)earning models of any type. CAML uses a custom cross performance similarity
function and hierarchical clustering to find clusters of AI models with similar hidden features;
Cloud
Buildings
generators.
2
2</p>
      <p>Current
3
3
4
4
...
...</p>
      <p>...</p>
      <p>Buildings
1
2
3
4</p>
      <p>(a) Ideal. One global forecasting model for all heat (b) Current. Each heat generator correspond to one</p>
      <p>Cloud
Buildings
1
1
2
individual model.</p>
      <p>Cloud
Target
2
3
...</p>
      <p>4
1
1
...</p>
      <p>(c) Target. Each of the  heat generators is assigned
to one of  &lt;</p>
      <p>diferent cluster models.
the current individual models approach (1b), and the target cluster model approach (1c). Heat generator
installations send their sensor recordings into the cloud and receive temperature and energy forecasts.
it then trains new cluster models on the clusters’ training data to consolidate the member
models into one representative model. Our evaluation demonstrates that cross performance is
more efective than input- and output-based model similarities; it also shows that the cluster
models are significantly more accurate than a global model and almost as accurate as the many
individual models. Hence, our key contributions are as follows:
1. Cross performance: We propose an efective similarity measure for model clustering
that compares two models by their pair-wise test accuracies.
2. Hierarchical clustering: We introduce an unsupervised, hierarchical clustering
approach with Ward-linkage based on the cross performance similarity measure that grands
the ability to configure the number of target clusters, i.e., the trade-of between
deployment costs and forecasting accuracy.
3. CAML: We present an algorithm that automates the entire model consolidation pipeline,
including preprocessing, matrix computation, clustering, and subsequent retraining.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Clustering is an unsupervised machine learning technique that partitions objects into (mutually
exclusive) partitions based on their similarity w.r.t. a specific similarity measure. Clustering
algorithms can be categorized into several types. These include partitioning methods that divide
the data set into a pre-set number of clusters (e.g. K-Means [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), hierarchical methods that
aim to create a cluster linkage tree that models the relationships in the data best (e.g.
BottomUp [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]); and density-based methods that recognize clusters as high-density regions of objects
separated by regions of low density (e.g. Meanshift [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or DBSCAN [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Most of the mentioned
standard clustering algorithms either rely on euclidean distance as a fixed distance metric (e.g.,
K-Means), which makes them rather inflexible, or the number of desired clusters cannot be
directly specified (e.g., Meanshift, DBSCAN). In our work, we therefore focus on hierarchical
clusters, which can handle any given distance metric and desired number of clusters.
Time Series Clustering algorithms can be used to cluster AI models by their input and/or
output data. Bandara et al., for example, use selected features extracted from time series data,
such as trend or seasonality, to apply standard clustering algorithms [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. A similar approach is
employed by Räsänen and Kolehmainen, who focus specifically on energy consumption data [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Algorithms for time series clustering in general rely on time series distance measures, such as
Dynamic Time Warping (DTW) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], Move-Split-Merge (MSM) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], or Time-Warp-Edit (TWE)
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Paparrizos and Gravano presented k-Shape, an algorithm for clustering univariate time
series, which has proven to be efective in several works [
        <xref ref-type="bibr" rid="ref10 ref11 ref12">10, 11, 12</xref>
        ]. We therefore chose
shapebased distance (SBD) in combination with hierarchical clustering for our reference clustering
approaches that are based on the input time series similarities (see approach a)).
Model Consolidation describes the process of combining several individual models into a
single model. Bakker and Heskes demonstrated that in many cases a smaller set of representative
models can adequately summarize an ensemble of neural network models [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In their approach,
they leveraged the outputs of these models on a static data set for cluster assignment followed
by an optimization step for finding the model as a cluster representative that minimizes the
average cluster distance between the models of the cluster and its center. This approach is
similar to our baseline approach b), which also relies on the models’ outputs but instead uses
the outputs as direct embedding within the clustering procedure. A common technique for
aggregating models is ensemble learning. Sarkar et al. discuss the use of diferent ensemble
learning models for short-term electric load forecasting. The authors used real-time load data
and meteorological parameters for data analysis [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Khan et al. presents a spatial and temporal
forecasting model ensemble of LSTM and GRU deep neural networks for short-term electric
consumption forecasting [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Another common technique is response-based model distillation
as formulated by Hinton et al., which summarizes a large but precise teacher model within
a smaller student model [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The proposed single-teacher distillation can be extended to a
multi-teacher distillation for ensemble learning by either aggregating the teachers’ responses or
by weighting the responses [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In summary, most of the mentioned works imply training large,
global models. Our experiments will show that in our specific domain, training an accurate,
global teacher models is not possible, which eliminates model distillation as an option for our
model consolidation use case. Using model distillation on multiple global models is possible but
typically impractical and expensive due to high computational and time demands. This paper
mainly discusses clustering and aggregating pre-trained models based to form new consolidated
models, a strategy distinct from federated learning which centers on training a single model
across many decentralized nodes.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. CAML - Clustering and Aggregating Machine Learning Models</title>
      <sec id="sec-3-1">
        <title>Preprocessing</title>
      </sec>
      <sec id="sec-3-2">
        <title>Distance Matrix Computation</title>
      </sec>
      <sec id="sec-3-3">
        <title>Hierarchical</title>
        <p>Clustering</p>
      </sec>
      <sec id="sec-3-4">
        <title>Model Aggregation</title>
        <p>This section introduces CAML, our proposal for a (C)lustering and (A)ggregation technique for
(M)achine (L)earning models. As visualized in Figure 2, CAML comprises four steps, which are
data preprocessing, distance matrix computation, hierarchical clustering, and model aggregation.
To execute these steps, CAML requires only one user-defined parameter: the number of clusters
 that controls the granularity of the clustering. The selection of  strongly depends on the
desired use case. Most commonly,  represents the number of cluster models the user wishes
to deploy. However, an exhaustive search of  can be performed to meet certain prediction
accuracy goals of the resulting cluster models compared to the individual models. Because
CAML embodies hierarchical clustering, which produces a linkage matrix, multiple diferent
clusterings can be extracted without recomputing the actual clustering procedure. We now
introduce the four steps of CAML in more detail.</p>
        <p>Preprocessing: Time series that contain anomalous data points (e.g., due to faulty sensor
readings) are harmful to any clustering attempt. The removal of outliers is an essential
preprocessing step as it helps to reduce the influence of anomalous data points on subsequent
steps of clustering and model aggregation. These outliers, if not addressed, can distort overall
patterns and relationships within the data, leading to suboptimal clustering results. Our CAML
algorithm, therefore, initially preprocesses the data on which the individual models have been
trained and tested, replacing the outlier data points in the time series with the value of the next,
non-anomalous data point in the series. In this context, we define an outlier as a data point
where at least one of its feature values is greater or less than  standard deviations from the
mean of that feature. By default, we choose  to be 3, because we expect that each feature 
follows approximately a gaussian distribution, i.e.,  ( − 3 ≤  ≤  + 3 ) ≈ 0.9973 . Thus, only
the extreme outliers are removed, and most of the original data remains.</p>
        <p>Next, the time series of each model is split into training and test sets. We denote the training
sets of model   as   = (  ,   ) and the test sets as   = (  ,   ), with   and   as features and  
and   as labels of the model, respectively. It is important to note that these splits need to be
the same as used in the training procedure of the baseline model. The test sets are used in our
proposed distance function for computing a complete distance matrix of the models.
Distance Matrix Computation: The hierarchical clustering step of CAML is based on a
distance matrix that stores all pair-wise distances between baseline models. These pair-wise
distances should measure the dissimilarity between two machine learning models   and   and
are computed with a custom distance function, which is based on the pair-wise cross-validation
of the models on each other’s test sets. In other words, the distance between model   and   is
the mean of   ’s loss on   ’s test data and   ’s loss on   ’s test data. We calculate this loss as
the Mean Absolute Error (MAE) on the respective test sets. The intuition behind this distance
function is to measure how well   performs in the specific environment of   and vice versa.
If the loss of   in the setting of   is close to   ’s loss in its environment,   can be replaced
with   . By performing this calculation bidirectionally, we measure the extent to which the two
models can replace each other.</p>
        <p>Formally, let  ∶  × →   be a prediction model, which maps  data points with  diferent
features to  predictions,  ∶   ×   → ℝ0+ be a non-negative loss function (e.g., MAE) and
  = (  ,   ) be the test set of the features   and the label   of a model   . The distance between
any model   and   can be computed as:
(  ,   ) =</p>
        <p>
          Here,   (  ) denotes the predicted output of model   on the test set of model   , and
(  (  ),   ) is the loss between the predicted output   (  ) and the true label   . The distance
function is symmetric, i.e., (  ,   ) = (  ,   ), and it is non-negative, i.e., (  ,   ) ≥ 0.
Hierarchical clustering: For the actual clustering of the AI models, CAML uses a hierarchical
clustering approach [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] that can create any number of  pre-specified clusters with sophisticated
linkage methods. Hierarchical clustering successively merges clusters of objects into ever
larger clusters with increasing merge distance, which efectively creates a cluster tree. Given
the distance matrix from the previous step, the hierarchical clustering algorithm proceeds as
follows:
1. Initialize: Each object, i.e., AI model is considered as one initial, separate cluster.
2. Merge: The two clusters with the smallest distance to each other with respect to the
linkage method and distance function are merged into a new cluster.
3. Iterate: Unless all the clusters have been merged into one cluster, re-iterate with step 2.
        </p>
        <p>The linkage method defines the distance of any pair of clusters based on the pair-wise object
distances. The distances then determine the most similar pair of clusters in each iteration.
Because the choice of the linkage method can significantly influence the results of the hierarchical
clustering, we considered various popular methods including single linkage, complete linkage,
and average linkage, which correspond to the minimum, maximum and average distances of
objects in the two compared clusters, and found Ward linkage to be the most efective method
in this step.</p>
        <p>
          The Ward linkage method [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] uses the within-cluster variance, which is the variance of of
all pair-wise object distances within some cluster, for the distance calculation: The distance
of two clusters is the increase in total within-cluster variance of the merged cluster w.r.t. its
two base clusters. We choose Ward, because the pair-wise distances between models within a
cluster should be possibly low, such that the models can replace each other. In mathematical
terms, if we denote   and   as two clusters and   as the resulting cluster after merging   and   ,
then the total increase in squared distance due to merging, known as Ward’s criterion, is:
Δ 2 = ∑ (, (
∈ 
 ))2 − ∑ (, (
∈ 
 ))2 − ∑ (, (
∈ 
 ))2 and () =
arg min ∑ (, )
∈
∈
(2)
where ()
        </p>
        <p>is the centroid of the observations in cluster  ,  is a distance function based on the
distance matrix, and  are the data points.</p>
        <p>Model aggregation: The model aggregation takes as input the clustering hierarchy and
produces as output a set of  cluster models. The cluster hierarchy is stored as a linkage matrix
and can be visualized as a dendrogram. At first, the aggregation process simply cuts the
dendrogram at the specific depth that creates  disjoint clusters. Then, it consolidates every
cluster into a single cluster model by training a new model on the combined training data of
all individual models of that cluster. More specifically, let  = { 1, ... ,   } be any clustering
of baseline models. The cluster model   for a given cluster   with size  = |  |, the models
 ,1 , ... ,  , and their respective test sets  ,1 , ... ,  , , where  ,
= ( , ,  , ), and training sets
 ,1 , ... ,  , , where  , = ( , ,  , ), along with a fitting function  , is computed as in Equation 3
by merging all data of the cluster.</p>
        <p>=  ( ⋃  , , ⋃  , )

=1

=1
(3)</p>
        <p>
          The AI models within a cluster are similar in their behavior, but they might use very diferent
types of models (e.g. linear regression, random forest regression, LSTMs etc.) and hyperparamter
settings. Our clustering results in fact show that model architectures have little impact on the
clustering results. The consolidation, therefore, needs to find a model architecture with similar
or higher capacity than the baseline models to capture all individual properties. Because the best
model for consolidation depends on the concrete baseline models, the model aggregation needs
to test a set of diverse model types to find the most efective model architecture for the cluster
models. Within our implementation, we test five models, which are
ExtraTreesRegressor [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ],
LightGBM [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], XGBoost [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], N-Beats [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], and randomly selecting one baseline model to serve
as a cluster model. Comparing the model performances can easily been done on the validation
data sets of the respective clusters. We present more in-depth results in Section 5.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Metrics for Evaluating the Model Aggregation Efectiveness</title>
      <p>In this section, we describe metrics for measuring the efectiveness of our clustering-based
model aggregation. With CAML, we trained new cluster models that should replace their
baseline models. To measure how well a cluster model generalizes its baseline models, we
need a metric, with which we can compare the efectiveness of diferent cluster model sets. To
evaluate the efectiveness, we measure the accuracy of each cluster model and compare it to
the unconsolidated accuracies of the respective baseline models. The performance of a cluster
model is then the average decrease in loss of the trained cluster model compared to all of its
baseline models. Both the cluster model and its baseline models are tested with the respective
test sets of the corresponding baseline models.</p>
      <p>First of all, we measure the accuracy of a set of predictions  ̂ w.r.t. the correct test labels  as
the mean average error (MAE) loss:</p>
      <p>MAE( , ̂ ) =</p>
      <p>||
1
| | =1
∑ |  −  ̂ |
(4)</p>
      <p>Given a cluster model   for cluster   with 1 ≤  ≤  and cluster size |  |, we calculate the
efectiveness score   () of   on cluster  as the mean MAE loss over all test sets  , = ( , ,  , )
whose model  , belongs to cluster  (Equation 5). Additionally, we compute an efectiveness
score   () of all baseline models  , of cluster  for comparison. Here, we compute the mean
MAE loss over all baseline models  , in   on their own test sets (Equation 6).</p>
      <p>|  |
|  | =1

1
|  |
1
|  | =1
  () =
∑ MAE(  ( , ),  , )
(5)
  () =
∑ MAE(  ( , ),  , )
(6)
Let  =
∑</p>
      <p>=1 |  | be the number of all baseline models, we can now calculate the overall
accuracy of all cluster models and all baseline models over all clusters and by aggregating the
individual scores   () and   () to total scores   and   , respectively. For this, we apply the
weighted mean with the cluster size |  | as weight (Equations 7 and 8).</p>
      <p>= 1 
 =1
∑ |  | ⋅   ()
(7)
  = 1 
 =1
∑ |  | ⋅   ()
(8)</p>
      <p>To judge the overall efectiveness of the clustering-based model aggregation we can simply
compare   to   or some   ′. If   &lt;   for some clustering  , the cluster models performed
better than the baseline models. The value of   −   can be interpreted as the additional loss
one encounters when aggregating the baseline models. We also consider the spread of the
consider variance of the baseline model   s’ prediction error on its test set   = (  ,   ).
clustering scores as the variance   2 of   () and   2 of   () (Equations 9 and 10). For   2 we
  2 = 1 
 =1
∑ |  | ⋅ (  () −   )
2
(9)
∑(MAE(  ( 
),   ) −   )2</p>
      <p>(10)
  2 = 1</p>
      <p>=1
Because the model consolidation efectiveness depends on the clustering efectiveness and the
aggregation efectiveness, we evaluate both aspects in Section 5.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Experiments</title>
      <p>In this section, we first outline our experimental setup (Section 5.1) and, then, discuss our
experimental results with CAML (Section 5.2) to demonstrate the algorithms efectiveness.</p>
      <sec id="sec-5-1">
        <title>5.1. Experimental Setup</title>
        <p>Measuring Quality: To assess the quality of our clustering-based aggregation technique,
we leverage   of the cluster models and   of the baseline models. The baseline models
act as a lower bound for the MAE, because they fit the individual setups and their (hidden)
hyperparameters best. As an upper bound for the MAE, we train a global model (with diferent
architectures) using the entire training data set without any clustering. To evaluate the proposed
aggregation technique, we also test a clustering-based approach that randomly selects one of
the baseline models in every cluster as a reprepsentative.</p>
        <p>
          Benchmark Approaches: To evaluate the proposed cross performance-based clustering, we
benchmark two additional clustering approaches: training data-based and output data-based.
The training data-based approach clusters the data that the models have been trained on. Here,
we use hierarchical clustering with Ward linkage with the Shape-Based Distance (SBD) derived
from the k-shape algorithm [
          <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
          ]. Because SBD is designed for univariate time series, we
apply it on each feature of our multivariate time series individually and sum the distances. The
output data-based approach employs the models and their outputs. We consider all training data
as one big set and randomly select  individual measurements from this set and add gaussian
noise to them to prevent overfitting and increase robustness. These data points then serve
as input for the models to compute a signature for each model, represented as  -dimensional
vectors of the models’ output. Then, hierarchical clustering - this time using euclidean distance
- is performed on these signatures.
        </p>
        <p>
          Technology: CAML is written in Python 3.10 and can handle any model that implements the
Scikit-learn [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] regressor interface. For hierarchical clustering with Ward [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], we use the
implementation from Scipy [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. The cluster models are built using the time series forecasting
library Darts [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. In particular, we evaluate the ExtraTreesRegressor [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], LightGBM [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ],
XGBoost [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], and N-Beats [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. The hyper-parameters of both, cluster and global models, have
been tuned using Optuna [26]. The source code for CAML can be found on GitHub1.
Data set: To assess CAML’s performance, we ran the algorithm on a real-world data set from
our industry partner. The data set comprises the models and time series of 370 heat pumps. The
multivariate time series vary in length, ranging from 200 to 607 time steps with daily recordings
of the energy consumption of these heat pumps, along with their associated measurements
(e.g., outdoor temperature, supply temperature, date, etc.), which serve as input features for the
models. The baseline models are built using Scikit-learn [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] and its implementations of the
ExtraTreesRegressor [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] and GradientBoostingRegressor [27].
1https://github.com/floriansiepe/CAML
3:5
3:0
2:5
C2:0
1:5
1:0
0:5
0:0
0
5
5
=
k
20
        </p>
        <p>C
2
C
12
10
8
6
4
2
0</p>
        <p>2 C
40 60
Retained models (%)
80
100</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Experimental Results</title>
        <p>Because CAML creates a hierarchical clustering, the algorithm needs to choose a number
of clusters  , which is the number of to-be-created cluster. Our first experiment, therefore,
evaluates the influence of  on the clustering scores. The results are shown in Figure 3. The
 -axis shows the share of retained models in percent, while the  -axis shows the scores   and
  2; the more clusters we use, the better each aggregated model can specialize on the specific
installations. The goal is to create as few clusters as possible, while keeping the clusters’
mean MAE   acceptably small. The depicted curve is an efective tool to tune  for a specific
application. For our application with 370 models, we chose  = 55 (see vertical line) with the
elbow method [28] in combination with   as supervised metric of the cluster models prediction
error instead of the usually employed sum of squared errors. Also practical constraints on the
number of deployable models from our industry partner influence the choice of  .</p>
        <p>In a second experiment, we evaluate the three clustering approaches based on (a) training
data, (b) output data, and (c) cross performance (CAML) by their MAE scores. For this
experiment, the cluster models are built using the original model architectures, which are either
ExtraTreesRegressor or GradientBoostingRegressor, depending on which yields better accuracy;
we evaluate the model selection for the cluster models in the next experiment. Figure 4 plots
the measured MAE scores for the three clustering approaches. Each subfigure plots the average
MAE   () of the baseline models on their respective test set in each cluster ( -axis) against the
average MAE   () of the cluster models on all test sets in their cluster ( -axis). If a measurement
point is above the diagonal line, the baseline models performed better in this cluster; if a point
is below the diagonal line, the cluster model performed better. The size of the marker indicates
the cluster size. For every subfigure, we also provide the scores of the entire clustering (see 4)
for the baseline models (  and   2) and the cluster models (  and   2). The measurements in
Figure 4 show that cross performance-based clustering (with CAML) results in a lower prediction
error and variance than training data or output data-based clustering. The training data-based
clustering performs worst, because the hidden features are not represented in the input data
and, therefore, do not influence this clustering – if they were represented, a globally aggregated
model could learn from them as well and the clustering would not have been necessary to begin
with. The output data and cross performance-based clustering approaches, however, both work
well for the model clustering task, because they both capture the hidden features. The cross
performance-based approach, however, has a slightly lower error and more dense clustering
with less variance than the output data-based approach. For this reason, we propose the former
with CAML.</p>
        <p>In a third experiment, we evaluate CAML’s model aggregation. More specifically, given a
specific clustering, we evaluate diferent model architectures and how models within a cluster
can be aggregated. For this, we choose the clustering of CAML with  = 55 (Figure 4) and
implement multiple model architectures, both as cluster models and as global models. Figure 5
shows the distribution of the MAEs of these model architectures in comparison to the baseline
models. Considering only the mean performances, we see that the individual models, i.e., the
baseline models perform best, the cluster models sacrificed a little bit of precision for having
a much smaller overall number of models, and training only one global model provides the
worst performance. The fact that the cluster models’ mean MAE is very close to the baseline’s
mean MAE demonstrates the efectiveness of CAML’s clustering. The ExtraTrees and LightGBM
cluster models even outperform the baseline models in terms of MAE variance, i.e., prediction
certainty. Another observation that highlights the efectiveness of the proposed clustering is
that the performance of a randomly selected baseline model from each cluster as cluster model
ofers a similar – although slightly worse – performance than all other cluster models, which
retrain on the clusters’ data set. Considering the diferent model architectures, every global
model performs worse than its respective cluster model counterpart. This also shows that the
clustering efectively captures some hidden features. The model architectures, however, profit
diferently from the clustering. Most notably, the neuronal network-based N-Beats model hardly
improves with the clustering, because it tends to overfit the training data and, hence, has the
same problems on clustered and non-clustered inputs; both the cluster and global N-Beats model
perform worse than all cluster models. In summary, ExtraTrees, LightGBM, and XGBoost all
(a) training data (SBD)
(b) output data (Euclidean)
10 (c) cross performance (MAE; CAML)
10
8
6
4
2
c
0 0
C = 2.33
C2 = 3.10
B = 0.80
B2 = 0.97
8
8
6
4
2
E40
A
M
20
0</p>
        <p>ExtraTreCeLsliughsttGeBrMMXGoBdoeolsst N-Beats Random</p>
        <p>ExtraTreeLsighGtGlBoMbXaGlBMooostdeNl-sBeats Random
performed very well as cluster models for the aggregation step.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>In this paper, we introduced CAML, a novel clustering-based aggregation technique for machine
learning models that have been trained in specific environments with certain hidden but
constant features. Due to these hidden features, no global model can replace all individual
models. The clusters of models that CAML creates efectively capture these hidden features
and serve to consolidate their models into much fewer models with still very good precision.
With the proposed hierarchical clustering approach, data scientists can tune the trade-of
between the number of to-be-deployed models and the models’ precision. Our experimental
results demonstrate that CAML outperforms all globally aggregated models as well as our
benchmark approaches, which cluster the models using their training data and output data, in
terms of prediction error and variance. The consolidated cluster models tend to have a slightly
higher average error than the baseline models, but the proposed model architectures have an
overall lower variance, i.e., prediction certainty than the baseline models. In the context of the
investigated application, CAML ofers a solution for the aggregation of energy consumption
models, enhancing the practical value of these models for utility companies, building managers,
and consumers, while simultaneously reducing operational costs.</p>
      <p>Future Work: We evaluated CAML on a data set with only 370 models. Due to the positive
results obtained with the proposed consolidation, the next step is to deploy CAML on a data
set with, at the time of writing, several hundred-thousand models and their respective data.
To make this possible, further research on enhancing CAML’s performance and/or scalability
is needed, given that CAML requires the computation of a distance matrix with an expensive
distance function and a runtime complexity of  ( 2).</p>
      <p>Acknowledgments: This work was primarily undertaken for Viessmann IT Service GmbH.
We gratefully acknowledge the management of Viessmann IT Service GmbH for their support
and for allowing the presentation of the results.
23 (2022) 1–6. URL: http://jmlr.org/papers/v23/21-1177.html.
[26] T. Akiba, S. Sano, T. Yanase, T. Ohta, M. Koyama, Optuna: A next-generation
hyperparameter optimization framework, in: Proceedings of the International Conference on
Knowledge discovery and data mining (SIGKDD), ????
[27] J. H. Friedman, Greedy function approximation: A gradient boosting machine., The Annals
of Statistics 29 (2001) 1189–1232. doi:10.1214/aos/1013203451.
[28] R. L. Thorndike, Who belongs in the family? 18 (1953) 267–276. doi:10.1007/bf02289263.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>J. MacQueen</surname>
          </string-name>
          ,
          <article-title>Classification and analysis of multivariate observations</article-title>
          ,
          <source>in: Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability</source>
          ,
          <year>1967</year>
          , pp.
          <fpage>281</fpage>
          -
          <lpage>297</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Everitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Landau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Leese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Stahl</surname>
          </string-name>
          ,
          <source>Cluster Analysis</source>
          ,
          <volume>5</volume>
          <fpage>ed</fpage>
          ., John Wiley &amp; Sons,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Comaniciu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Meer</surname>
          </string-name>
          ,
          <article-title>Mean shift: a robust approach toward feature space analysis</article-title>
          ,
          <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>
          <volume>24</volume>
          (
          <year>2002</year>
          )
          <fpage>603</fpage>
          -
          <lpage>619</lpage>
          . doi:
          <volume>10</volume>
          . 1109/34.1000236.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.-P.</given-names>
            <surname>Kriegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <article-title>A densitybased algorithm for discovering clusters in large spatial databases with noise</article-title>
          ,
          <source>in: Proceedings of the International Conference on Knowledge Discovery and Data Mining, Kdd'96</source>
          , AAAI Press, Portland, Oregon,
          <year>1996</year>
          , pp.
          <fpage>226</fpage>
          -
          <lpage>231</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Bandara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bergmeir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Smyl</surname>
          </string-name>
          ,
          <article-title>Forecasting across time series databases using long short-term memory networks on groups of similar series</article-title>
          ,
          <source>CoRR abs/1710</source>
          .03222 (
          <year>2017</year>
          ). URL: http://arxiv.org/abs/1710.03222. arXiv:
          <volume>1710</volume>
          .
          <fpage>03222</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Räsänen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kolehmainen</surname>
          </string-name>
          ,
          <article-title>Feature-based clustering for electricity use time series data</article-title>
          , in: M.
          <string-name>
            <surname>Kolehmainen</surname>
            ,
            <given-names>P. J.</given-names>
          </string-name>
          <string-name>
            <surname>Toivanen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          Beliczynski (Eds.),
          <source>Adaptive and Natural Computing Algorithms</source>
          , 9th International Conference, ICANNGA 2009, Kuopio, Finland,
          <source>April 23-25</source>
          ,
          <year>2009</year>
          , Revised Selected Papers, volume
          <volume>5495</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2009</year>
          , pp.
          <fpage>401</fpage>
          -
          <lpage>412</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -04921-7%5F41. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -04921-7\_{4}{1}.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Sakoe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chiba</surname>
          </string-name>
          ,
          <article-title>Dynamic programming algorithm optimization for spoken word recognition</article-title>
          ,
          <source>IEEE Transactions on Acoustics, Speech, and Signal Processing</source>
          (
          <year>1978</year>
          ).
          <source>doi:10. 1016/b978-0-08-051584-7</source>
          .
          <fpage>50016</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Stefan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Athitsos</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. Das,</surname>
          </string-name>
          <article-title>The move-split-merge metric for time series, IEEE Transactions on Knowledge and Data Engineering (TKDE) 25 (</article-title>
          <year>2013</year>
          )
          <fpage>1425</fpage>
          -
          <lpage>1438</lpage>
          . doi:
          <volume>10</volume>
          .1109/ tkde.
          <year>2012</year>
          .
          <volume>88</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.-F.</given-names>
            <surname>Marteau</surname>
          </string-name>
          ,
          <article-title>Time warp edit distance with stifness adjustment for time series matching</article-title>
          ,
          <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>
          <volume>31</volume>
          (
          <year>2009</year>
          )
          <fpage>306</fpage>
          -
          <lpage>318</lpage>
          . doi:
          <volume>10</volume>
          . 1109/tpami.
          <year>2008</year>
          .
          <volume>76</volume>
          . arXiv:cs/0703033.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Paparrizos</surname>
          </string-name>
          , L. Gravano,
          <article-title>k-shape: Eficient and accurate clustering of time series</article-title>
          ,
          <source>in: Proceedings of the International Conference on Management of Data (SIGMOD)</source>
          ,
          <year>2015</year>
          . doi:
          <volume>10</volume>
          .1145/2949741.2949758.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Paparrizos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gravano</surname>
          </string-name>
          ,
          <article-title>Fast and accurate time-series clustering</article-title>
          ,
          <source>ACM Transactions on Database Systems (TODS) 42</source>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .1145/3044711.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ning</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Deb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cheong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Sekhar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. W.</given-names>
            <surname>Tham</surname>
          </string-name>
          ,
          <article-title>kshape clustering algorithm for building energy usage patterns analysis and forecasting model accuracy improvement</article-title>
          ,
          <source>Energy and Buildings</source>
          <volume>146</volume>
          (
          <year>2017</year>
          )
          <fpage>27</fpage>
          -
          <lpage>37</lpage>
          . URL: https://www. sciencedirect.com/science/article/pii/S0378778817305352. doi:
          <volume>10</volume>
          .1016/j.enbuild.
          <year>2017</year>
          .
          <volume>03</volume>
          .071.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bakker</surname>
          </string-name>
          , T. Heskes,
          <article-title>Clustering ensembles of neural network models</article-title>
          ,
          <source>Neural Networks</source>
          <volume>16</volume>
          (
          <year>2003</year>
          )
          <fpage>261</fpage>
          -
          <lpage>269</lpage>
          . URL: https://www.sciencedirect.com/science/article/pii/ S0893608002001879. doi:
          <volume>10</volume>
          .1016/s0893-
          <volume>6080</volume>
          (
          <issue>02</issue>
          )
          <fpage>00187</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sarkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Gunturi</surname>
          </string-name>
          ,
          <article-title>Bootstrap aggregating approach to short-term load forecasting using meteorological parameters for demand side management in the northeastern region of india</article-title>
          ,
          <source>Theoretical and Applied Climatology</source>
          <volume>148</volume>
          (
          <year>2022</year>
          )
          <fpage>1111</fpage>
          -
          <lpage>1125</lpage>
          . doi:
          <volume>10</volume>
          .1007/s00704- 022- 03933- 9.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.-N.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Iqbal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rizwan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ahmad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.-H.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <article-title>An ensemble energy consumption forecasting model based on spatial-temporal clustering analysis in residential buildings</article-title>
          ,
          <source>Energies</source>
          <volume>14</volume>
          (
          <year>2021</year>
          )
          <article-title>3020</article-title>
          . doi:
          <volume>10</volume>
          .3390/en14113020.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>G.</given-names>
            <surname>Hinton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Vinyals</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <article-title>Distilling the knowledge in a neural network, ArXiv</article-title>
          .org (
          <year>2015</year>
          ). doi:
          <volume>10</volume>
          .48550/arxiv.1503.02531. arXiv:
          <volume>1503</volume>
          .
          <fpage>02531</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Confidence-aware multi-teacher knowledge distillation</article-title>
          ,
          <source>in: Proceedings of the International Conference on Acoustics, Speech and Signal Processing</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>4498</fpage>
          -
          <lpage>4502</lpage>
          . doi:
          <volume>10</volume>
          .1109/icassp43922.
          <year>2022</year>
          .
          <volume>9747534</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Ward</surname>
          </string-name>
          ,
          <article-title>Hierarchical grouping to optimize an objective function</article-title>
          ,
          <source>Journal of the American Statistical Association</source>
          <volume>58</volume>
          (
          <year>1963</year>
          )
          <fpage>236</fpage>
          -
          <lpage>244</lpage>
          . URL: http://www.jstor.org/stable/ 2282967.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>P.</given-names>
            <surname>Geurts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ernst</surname>
          </string-name>
          , L. Wehenkel,
          <article-title>Extremely randomized trees</article-title>
          ,
          <source>Machine Learning</source>
          <volume>63</volume>
          (
          <year>2006</year>
          )
          <fpage>3</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Ke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Meng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Finley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Chen</surname>
          </string-name>
          , W. Ma,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Ye</surname>
          </string-name>
          , T.-Y. Liu,
          <article-title>Lightgbm: A highly eficient gradient boosting decision tree</article-title>
          , in: I. Guyon,
          <string-name>
            <given-names>U. V.</given-names>
            <surname>Luxburg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bengio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wallach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Fergus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Vishwanathan</surname>
          </string-name>
          , R. Garnett (Eds.),
          <source>Advances in Neural Information Processing Systems</source>
          , volume
          <volume>30</volume>
          ,
          <string-name>
            <surname>Curran</surname>
            <given-names>Associates</given-names>
          </string-name>
          , Inc.,
          <year>2017</year>
          . URL: https://proceedings.neurips.cc/ paper%5Ffiles/paper/2017/file/6449f44a102fde848669bdd9eb6b76fa-Paper.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Guestrin</surname>
          </string-name>
          ,
          <article-title>Xgboost: A scalable tree boosting system</article-title>
          ,
          <source>in: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
          , Kdd '
          <volume>16</volume>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2016</year>
          , pp.
          <fpage>785</fpage>
          -
          <lpage>794</lpage>
          . doi:
          <volume>10</volume>
          .1145/2939672.2939785. arXiv:
          <volume>1603</volume>
          .
          <fpage>02754</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>B. N.</given-names>
            <surname>Oreshkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Carpov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Chapados</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          , N-beats:
          <article-title>Neural basis expansion analysis for interpretable time series forecasting</article-title>
          , in: International Conference on Learning Representations,
          <year>2020</year>
          . URL: https://openreview.net/forum?id=r1ecqn4YwB.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pedregosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Varoquaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gramfort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Thirion</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grisel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blondel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Prettenhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Weiss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dubourg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderplas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cournapeau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brucher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Perrot</surname>
          </string-name>
          , E. Duchesnay, Scikit-learn:
          <source>Machine learning in Python, J. Mach. Learn. Res</source>
          .
          <volume>12</volume>
          (
          <year>2011</year>
          )
          <fpage>2825</fpage>
          -
          <lpage>2830</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>P.</given-names>
            <surname>Virtanen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gommers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. E.</given-names>
            <surname>Oliphant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Haberland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Reddy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cournapeau</surname>
          </string-name>
          , E. Burovski,
          <string-name>
            <given-names>P.</given-names>
            <surname>Peterson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Weckesser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bright</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. J. van der Walt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brett</surname>
          </string-name>
          , J. Wilson,
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Millman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mayorov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. R. J.</given-names>
            <surname>Nelson</surname>
          </string-name>
          , E. Jones,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kern</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Larson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Carey</surname>
          </string-name>
          , İ. Polat,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Feng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. W.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. VanderPlas</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Laxalde</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Perktold</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Cimrman</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Henriksen</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          <string-name>
            <surname>Quintero</surname>
            ,
            <given-names>C. R.</given-names>
          </string-name>
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          <string-name>
            <surname>Archibald</surname>
            ,
            <given-names>A. H.</given-names>
          </string-name>
          <string-name>
            <surname>Ribeiro</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Pedregosa</surname>
          </string-name>
          , P. van Mulbregt,
          <source>SciPy 1</source>
          .0 Contributors, SciPy
          <volume>1</volume>
          .
          <article-title>0: Fundamental Algorithms for Scientific Computing in Python</article-title>
          ,
          <source>Nature Methods</source>
          <volume>17</volume>
          (
          <year>2020</year>
          )
          <fpage>261</fpage>
          -
          <lpage>272</lpage>
          . doi:
          <volume>10</volume>
          .1038/s41592- 019- 0686- 2.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>J.</given-names>
            <surname>Herzen</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. L.</surname>
          </string-name>
          <article-title>A¤ssig</article-title>
          , S. G. Piazzetta,
          <string-name>
            <given-names>T.</given-names>
            <surname>Neuer</surname>
          </string-name>
          , L. A©o Tafti, G. Raille,
          <string-name>
            <given-names>T. V.</given-names>
            <surname>Pottelbergh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pasieka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Skrodzki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Huguenin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumonal</surname>
          </string-name>
          , J. KoÅ›cisz,
          <string-name>
            <given-names>D.</given-names>
            <surname>Bader</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          <article-title>A©dÃ©rick</article-title>
          <string-name>
            <surname>Gusset</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Benheddi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Williamson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kosinski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Petrik</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>A«l Grosch, Darts: Userfriendly modern machine learning for time series</article-title>
          ,
          <source>Journal of Machine Learning Research</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>