11institutetext: ITMO University, 49 Kronverksky Pr. St. Petersburg, 197101,
Russian Federation
11email<EMAIL_ADDRESS>
# Automated Data-driven Approach for Gap Filling in the Time Series Using
Evolutionary Learning

Mikhail Sarafanov  Nikolay O. Nikitin and Anna V. Kalyuzhnaya

###### Abstract

Time series analysis is widely used in various fields of science and industry.
However, the vast majority of the time series obtained from real sources
contain a large number of gaps, have a complex character, and can contain
incorrect or missed parts. So, it is useful to have a convenient, efficient,
and flexible instrument to fill the gaps in the time series. In this paper, we
propose an approach for filling the gaps by the evolutionary automatic machine
learning, that is implemented as a part of the FEDOT framework. Automated
identification of the optimal data-driven model structure allows the adopting
of the gap filling strategy to the specific problem. As a case study, the
multivariate sea surface height dataset is used. During the experimental
studies, the proposed approach was compared with other gap-filling methods and
the composite models allow obtaining the higher quality of the gap
restoration.

###### Keywords:

time series gap filling forecasting AutoML

##  1 Introduction

Time series is a common way to represent the real-world time-spatial processes
data. As an example of the widely-known applications, different cases of time
series can be noted: weather stations, financial stocks, industrial sensors,
etc. Due to various failures of the sensors itself of the connection issues,
the time series may have gaps. The presence of gaps can be a significant
problem for time series forecasting due to the fact that the vast majority of
forecasting models can not proceed with gaps in training data.

Also, the building of effective models for the gap-filling can be a time-
consuming task that frequently requires the expert’s involvement. Despite the
existence of the case-adaptive approaches based on the application of the
optimization methods that allow finding the structure and hyperparameters of
the machine learning models that can be used for gap filling [2], there is no
any effective, flexible, and open-source solutions that can be used to solve
the gap-filling problem for different time series. The existing open-source
solutions (e.g. SSGP-Toolbox [21], ImputeTS library, etc) are provides only
relatively simple methods for the gap-filling. But simple methods can be very
inaccurate if the size of the gaps is large.

In the paper, we consider approaches to constructing effective models for
filling gaps based on composite models that consist the several machine
learning models and generates using the methods of automated machine learning.

##  2 Problem Statement

As it was noted in the introduction, analysis of univariate time series is a
difficult task if there are a big amount of gaps. If the number of gaps is too
large, then trying to restore them will affect the quality of the data-driven
forecasting model that is fitted using this data. In practical engineering
tasks, it is the common practice not to use time series, the percent of gaps
that exceeds a certain threshold [24].

A problem of gap filling can be described as a problem of interpolation.
Classic definition of interpolation function says that values of interpolation
function $\tilde{f}$ should be equal to the values of original function $f$ on
a set of primary points
${{x}_{\left\\{i\right\\}}},~{}i\in\left\\{1,N\right\\}$.

We address this paper to the problem of gap filling in time series and
highlight an improvement of restoration quality by the usage of the flexible
approach based on automatically adopted linear or non-linear forward and
backward models and additional ensemble model that also can be learned for
certain parameters of a gap.

There is a set of points with coordinates on a time axis
${{x}_{\left\\{G\right\\}}},~{}G\in\left\\{t,t+n\right\\}$. In these points we
would like to restore values of the process using information about behavior
of the process before the gap ${{x}_{\left\\{G\right\\}}}$ on the set of
points ${{x}_{\left\\{H\right\\}}},~{}H\in\left\\{t-{{w}_{1}},t-1\right\\}$
and after – on the set of points
${{x}_{\left\\{N\right\\}}},~{}N\in\left\\{t+n+1,t+n+{{w}_{2}}\right\\}$. Here
${{w}_{1}}$ and ${{w}_{2}}$ are the time lags that describe time intervals
that contain significant information about behavior of the process on the
interval ${{x}_{\left\\{G\right\\}}}$.

In classic functional interpolation approach, we assume that
${{y}_{\left\\{H\right\\}}}=f\left({{x}_{\left\\{H\right\\}}}\right)$ as well
as ${{y}_{\left\\{N\right\\}}}=f\left({{x}_{\left\\{N\right\\}}}\right)$. So,
prehistorical and future intervals are described with the same function $f$
and interpolation function should give the same result
${{y}_{\left\\{H\right\\}}}=\tilde{f}\left({{x}_{\left\\{H\right\\}}}\right)=f\left({{x}_{\left\\{H\right\\}}}\right),~{}{{y}_{\left\\{N\right\\}}}=\tilde{f}\left({{x}_{\left\\{N\right\\}}}\right)=f\left({{x}_{\left\\{N\right\\}}}\right)$.
For this class of methods we try spline and linear interpolation. In classic
statistical approach, we try to fit a model
$\tilde{f}\left({{x}_{\left\\{H,N\right\\}}}\right)$to minimize a difference
$f\left({{x}_{\left\\{H,N\right\\}}}\right)-\tilde{f}\left({{x}_{\left\\{H,N\right\\}}}\right)$.
But in this case, we have to work with stationary processes and linear models
that describe temporal properties of time series (based on correlation
function). This approach is far from flexible and multipurpose. In the current
paper we suggest an automated data-driven approach that allow working with
non-stationary time-series and non-linear models for better gap filling. Both
features can be obtained by usage an automated machine learning techniques for
building flexible models that are able to be updated with time also in
automated way.

Firstly, we suggest learning two types of quasi-local models – forward and
backward. Quasi-local models stand for taking into account the non-
stationarity of long time series. Usually, in the case of a non-stationary
process, there are two ways: (1) transforming the process to stationary, (2)
usage of models for special types of non-stationarity (like ARIMA, SARIMA,
etc.). None of these are good ways when we need the highly automated tool,
that can be adapted to different properties of input time series. That is why,
secondly, we suggest learning forward and backward models ${{M}_{F}}$ and
${{M}_{B}}$ as composite models [20] fitted on quasi-local data. And, third,
we suggest joining predictions with forward and backward models by another
learned ensemble model $\text{ }\\!\\!\Omega\\!\\!\text{ }$ (a kind of
stacking approach). Formally announced three steps may be described as
follows:

$\mathcal{Y}_{{{x}_{\left\\{G\right\\}}}}^{A}=\Omega\left(\mathcal{Y}_{{{x}_{\left\\{G\right\\}}}}^{F},\mathcal{Y}_{{{x}_{\left\\{G\right\\}}}}^{B}\right),$
(1)

$\mathcal{Y}_{{{x}_{\left\\{G\right\\}}}}^{F}={M}_{F}\left({{x}_{\left\\{{\hat{H}}\right\\}}}\right),~{}\hat{H}\subseteq
H,$ (2)

$\mathcal{Y}_{{{x}_{\left\\{G\right\\}}}}^{B}={M}_{B}\left({{x}_{\left\\{{\hat{N}}\right\\}}}\right),~{}\hat{N}\subseteq
N.$ (3)

The main idea of this approach is shown in Fig. 1. In this paper, we aim to
study the both efficiency of the AutoML-based models for time series
restoration and their impact on the accuracy of the forecasting models that
are build using this data.

Figure 1:  Scheme of the gap-filling approach based at the a bi-directional
forecasting. $t$ \- time step-index, $w$ \- size of the historical time window
for forecasting, $f$ \- forecast length (less of equal the gap size).

##  3 Related Work

The existing time series gaps imputation methods can be divided into
univariate and multivariate [19].

Linear interpolation is a popular method for recovering gaps in univariate
time series. This method is well suited for recovering short-term omissions
[13]. More complex algorithms include cubic spline interpolation [3], Fourier-
based fitting methods, Savitzky–Golay filter [7] and Kalman filters [1]. The
papers are published with research on such gap-filling methods as Radial Basis
Functions, Moving Least Squares, Adaptive Inverse Distance Weighted [8]. These
methods are better able to recover long skips. Especially difficult cases can
be considered attempts to restore data in time series, where the percentage of
gaps exceeds 30%. An important role in the research of interpolation
algorithms is assigned to the estimation of uncertainty [14].

We can conclude that methods for restoring gaps in the time series are quite
popular and continue to develop [5, 9]. Despite the fact that traditional
statistical methods are usually used to fill the gaps in univariate time
series, the use of machine learning methods has become popular in recent years
[23].

We can solve the problem of filling in the gaps by using additional data.
These include exogenous time series. This approach has been successfully used
to restore meteorological data [13]. For multivariate time series, more
’heavy’ algorithms are used, such as neural networks with complicated
architectures [10], such as recurrent neural networks [6, 4] and generative-
adversarial models [15]. Sometimes gaps are not restored before applying
algorithms on time series but are eliminated during model training [12, 16].

When using multivariate time series, the dimension of data may increase to
such an extent that it is necessary to use computationally cheaper methods of
data manipulation or use more powerful computing equipment. However, in some
application examples, it is not possible to involve additional exogenous time
series. We just need to restore the gaps in the univariate time series as
accurately as possible. To improve the quality, the ensemble approach can be
used [18].

In this paper, we consider both simple and advanced methods for gap-filling in
both univariate and multivariate time series and compare it with the gap
restoration method the is based on forecasting with composite models.

##  4 Model-based gap filling

To build the model of a certain process using historical data, different
methods can be used. Many of the models that allow forecasting time series are
also used for the gap-filling task. We decide to combine the existing
approaches and automate their application to increase the quality of the gap-
filling.

###  4.1 Model-based gap filling with ML and AutoML

The main idea of the proposed approach is the following. The problem of gap
filling in the time series can be reduced to the well-studied problem of time
series forecasting. That is, use only the data before the gap (pre-history) to
configure the model, and then apply it to get a sequence of values of the same
size as the length of the gap. To build the model, AutoML approaches can be
used.

However, in this case, the specifics of the task are not taken into account
and the part of the time series after the gap (post-history) is not used. To
resolve this issue, we have used the bi-directional approach to restore values
(the pseudo-code of the underlying algorithm is provided in Alg. 1).

Data: time_series_with_gaps;

$w$ $\leftarrow$ maximum window size;

Result: time_series_without_gaps

gaps $\leftarrow$ all gap-induced segments in time_series_with_gaps

correct_data $\leftarrow$ gap-free part of time_series_with_gaps

gap_filling_model $\leftarrow$ AutoML().build_model(correct_data, $w$)

gap_filling_model.fit(correct_data) time_series_without_gaps =
time_series_with_gaps for  _gap in gaps_ do

gap_id $\leftarrow$ index of gap segment start

pre_window $\leftarrow$ subsec(gap, -w)

post_window $\leftarrow$ subsec(gap, w)

forward_prediction $\leftarrow$ gap_filling_model.predict(pre_window)

backward_prediction $\leftarrow$ gap_filling_model.predict(post_window)

prediction $\leftarrow$ ensemble_model(forward_prediction,
backward_prediction)

time_series_without_gaps[gap_id] = prediction

end for

Algorithm 1 Pseudocode of the algorithm for the bi-directional gap filling
based at composite models and FEDOT-based optimisation

In this case, all possible information available in the time series is used to
fill in the gaps. This approach is potentially more accurate, but less
versatile. For example, if a ”heavy” model is used for forecasting, which
requires a certain minimum number of elements to learn, then in the case of
frequent gaps, this model will not be able to work correctly. On the other
hand, a similar problem can be solved by using a meta-algorithm that recovers
gaps using simple methods in order to feed this data to the main forecasting
model. In this case, the only restriction will be the total length of the time
series.

###  4.2 FEDOT Framework

The proposed self-adapting gap filling approach is implemented on a basis of
open-source automated modeling framework FEDOT. It allows building the data-
driven and hybrid models consist of several atomic blocks. For the time series
forecasting, the chains consist of several regression models that can be
generated using evolutionary structural learning [20]. It should be noted that
alternative AutoML frameworks exist (e.g. AutoTS framework [11]), however, the
FEDOT allows building the models with a more complex structure (e.g.
multiscale models). The common pipeline of FEDOT-based gap filling is
presented in Fig. 2.

Figure 2:  The pipeline of the FEDOT-based implementation of the proposed gap
filling approach

The framework implements both basic methods of the gap-filling and the
proposed model-based approach. Both implementation of gap filling and
different examples are available as the open-source code. It can be used for
univariate and multivariate time series with different types of preprocessing.

##  5 Experimental Study

To validate the effectiveness and correctness of the proposed approach, we run
a set of experiments using several datasets with different properties. We used
an artificially generated time series (synthetic time series), a time series
of sea surface height with hourly discreteness, and several time series of sea
surface height with daily discreteness.

###  5.1 Datasets

####  5.1.1 Synthetic data

The time series generation algorithm can be represented as the following
equation:

$\displaystyle
V=sin(t)+N\left(\mu,\sigma^{2}\right)+\begin{cases}cos(t*T_{1})&\text{if
$t<=w$},\\\ cos(t*T_{2})&\text{otherwise}\end{cases}$ (4)

where $N\left(\mu,\sigma^{2}\right)$ is Gaussian noise, $T_{1}$ and $T_{2}$ \-
the periods of the function, $w$ \- break-point between periods, $t$ \- the
index of time series.

The components of the generated synthetic time series and the final results
can be seen in Fig. 3. These series have no real prototype with the specific
patterns, but the synthetic data with desired properties can be obtained with
an equation-based model that may be approximately restored from the real-date
using algebraic terms approach [17] (if necessary). Then, the synthetic gaps
with various lengths and locations were generated and added into the synthetic
time series.

Figure 3:  The process of generating a synthetic time series. Sequential
addition of three vectors and an example of the resulting series.

####  5.1.2 Metocean data

The time series of sea surface height were obtained from satellite altimetry
data [22] to evaluate the proposed approach with real-world data. Several
spatial points were selected in different geographical regions (see Fig. 4).
For each point, the time series with daily sampling for the period 2003-2020
were extracted.

Figure 4:  Map of the location of points where sea surface height above the
average surface of the geoid (the heatmap is presented for 01.01.2003) values
were extracted. The points from which the time series was taken are shown in
blue.

The length of the obtained time series is 6276 elements. In each time series,
synthetic gaps were generated with a total size of 30% of the length of the
time series. An example of time series with synthetic gaps can be seen in Fig.
5. Also, the long gap (1500 steps) was generated in the central part of the
time series to assess the accuracy of data recovering in long gaps.

Figure 5:  Examples of generated gaps. The total length of gaps is 2210
elements. Red labels indicate the number of time series elements in the gap.

Accuracy was evaluated using two metrics: Mean Absolute Error (MAE) and Mean
Absolute Percentage Error (MAPE). In addition to the calculated metrics, the
effect of the restored values on the suitability of the time series for
predictive models was also taken into account. To do this, a prediction model
was trained on each restored time series to predict the last 400 values, after
which the model was run and the forecast accuracy was determined using the
MAPE. If the accuracy of the forecast decreased after the gap-filling
procedure, this indicated that the use of such gap-filling algorithm is not
preferable.

###  5.2 Experimental setup

A gap-filling algorithm was applied for each pass. The list of algorithms was
used during the following:

  * •

Linear interpolation - as baseline;

  * •

Local approximation by polynomial functions (Savitzky–Golay filters), Batch
approximation by polynomial functions - as simple approximation-based
approaches. The polynomial batch-approximation differs from the local one in
that the batch approximation use one polynomial function for the entire
interval with gaps, no matter how many elements are missed in it. And with
local approximation, a polynomial is constructed for each gap element (one
polynomial function per one element);

  * •

Kalman filter, moving average, spline interpolation - as a methods from
widely-used library ”imputeTS” 111https://pypi.org/project/impyute/.

  * •

Single ML model (ridge regression is used by default), Single model with
prediction of values in the gap using a bi-directional forecast; model (it can
be either single-model or composite) identified by AutoML - as approaches
based at the framework FEDOT 222https://github.com/nccr-itmo/FEDOT.

To restore values in time series, the proposed approach used the functionality
of the FEDOT framework. The basic tool for time series forecasting in the
framework is a regression models. Such models (e.g. lasso regression or
K-nearest neighbors) can be used as a single one, or models can be combined
into ensembles or stacked into multi-level chains, where predictions from one
level of models can be predictors for next level. The optimal configuration of
models and their positions in the structure of the composite model can be
determined using the evolutionary optimization algorithm [20] (implemented in
FEDOT) or set by the user. We used both manual and automated configuration of
the models during repeating several experiments with launches with different
configurations of the chains.

###  5.3 Results of the experiments

Various gap-filling algorithms were applied to each time series (synthetic and
real-world). The average values for each time series are shown for several
cases shown in Table 1.

Table 1: The results for estimating the accuracy of gap-filling algorithms using MAE and MAPE metrics Algorithm | MAE | MAPE
---|---|---
Linear interpolation | 0.18 | 17.4%
Local approximation by polynomials | 0.20 | 19.1%
Batch approximation by polynomials | 0.18 | 17.2%
Kalman filter | 1.38 | 156.2%
Moving average | 0.20 | 19.5%
Spline interpolation | 1.57 | 139.9%
Single ML model | 0.15 | 14.0%
Single ML model (bi-directional forecast) | 0.13 | 15.2%
AutoML model (bi-directional forecast) | 0.11 | 12.6%

As can be seen, the best results were obtained by the proposed approach based
on the composite AutoML model obtained with the evolutionary approach. At the
same time, the bi-directional method of filling in the gaps turned out to be
much more accurate than the competitors. The results of gap-filling generated
by the composite model obtained by FEDOT-based AutoML are presented in Fig. 6.

Figure 6:  Examples of time series restoration by different gap-filling
approaches for the sea surface height dataset with hourly discreteness.

The composite model has well reconstructed the phases of fluctuation of the
height of the sea surface (the convergence of the structural learning of the
composite model is demonstrated in Fig. 7). The polynomial approximation
provides good results on synthetic data since there were quite a lot of smooth
patterns in the form of the generated time series.

Figure 7:  The convergence of the fitness function during the evolutionary
optimisation of the composite model for the gap filling task (FEDOT-based
implementation is used).

The next part of the research was to study how the use of series reconstructed
by different methods can affect the accuracy of time series forecasting
models. To do this, the following experiment was implemented. To predict the
last 400 elements in the time series, a composite model was used.

Firstly, the original time series without gaps were used. Based on it, the
model was fitted and used to predict 400 next values. The accuracy of this
forecast is estimated using the MAPE metric. The procedure is then repeated,
but the time series for training has been restored by one of the algorithms.
When using the reconstructed series for forecasting, the following results
were obtained (Fig. 8). As the most promising forecasting model, a composite
chain was used, in which nodes the trend and residuals were predicted
separately, and the final forecast was combined using linear regression.

Figure 8:  Results of using time-series forecasting algorithms on various
reconstructed sequences. Time series were obtained from point with coordinates
10 N, 120 W.

As can be seen from Fig. 8, if a time series is used after linear
interpolation of gaps, the forecast accuracy decreases slightly relative to
the time series restored by the composite model. This is confirmed by the
value of the metrics: MAPE linear interpolation - 20.3%, MAPE composite model
- 16.9% while on the original time series, the forecast error was 15.6%.

Table 2 shows three of the most effective approaches for which the impact of
distortions introduced into the time series was estimated. The MAPE error
metrics were measured when predicting 400 values ahead for the original time
series and for the time series recovered by the algorithms. The deviation of
the forecast error (MAPE of forecast on restored time series - MAPE of
forecast on original time series) was averaged.

Table 2: Changing the accuracy of the forecast when using the restored time series Time series | Forecast error | Standard deviation
---|---|---
Original data (without gaps) | 11.1% | 0%
Linear interpolation | 11.6% | 0.5%
Local approximation by polynomials | 13.6% | 2.5%
Batch approximation by polynomials | 12.4% | 1.3%
Kalman filter | 17.3% | 6.2%
Moving average | 11.8% | 0.7%
Spline interpolation | 13.6% | 2.5%
Proposed approach | 11.2% | 0.1%

##  6 Discussion

As a result of the experiments, it was found that the accuracy of time series
reconstruction by simple methods, such as linear interpolation and local
approximation by polynomial functions, is quite high. On the other hand, these
simple methods do not cope with long gaps, and the series obtained as a result
of using these methods worsen the predictive capabilities of forecast models.

During the verification of the ”bi-directional forecast” algorithm, it was
found that in some cases this approach cannot be used. For example, if the
gaps are too frequent and the space between them with the known values is not
enough to train the model. However, a direct application of the model will
allow getting good accuracy.

Regression-based gap-filling models (single-model and composite) based on the
functionality of the FEDOT framework turned out to be the most accurate for
the gap-filling task. At the same time, the time series restored using a
single ML model gave one of the most similar to the original forecast. Perhaps
this phenomenon is due to the fact that the considered time series had stable
linear relationships between the elements. On more complex time series, more
complex chains of models could show the result more accurately than single
models.

##  7 Conclusions

As a result of the experiments, it was found that the most accurate approach
was the bi-directional forecasting using the evolutionary algorithm of
automatic identification of the model. The obtained AutoML-based solution got
averaged MAPE of 12.6% for the gap-filling task, while the competitive
algorithms could not be more accurate than 14.0%. For a synthetic time series
with a breakpoint (when the periodicity of one of the component components
changed), the bi-directional approach also can be considered as the better
solution.

The reconstructed time series were used to fit forecasting models and predict
new values of the time series. The proposed approach distorts the accuracy of
the forecast compared to the forecast based on the original time series by
0.1% according to MAPE. It confirms that the proposed data-driven approach in
conjunction with AutoML techniques allows efficiently recovering gaps in time
series.

## Code and data availability

All implemented approaches are available in repository
https://github.com/nccr-itmo/FEDOT as a part of the open-source FEDOT
framework and can be used for practical purposes. Data and scripts used to
conduct the experiments in the paper are available in the additional
repository333https://github.com/ITMO-NSS-team/FEDOT-benchmarks/
tree/master/experiments/gap_filling.

## Acknowledgements

This research is financially supported by The Russian Scientific Foundation,
Agreement #19-11-00326.

## References

  * [1] Andiojaya, A., Demirhan, H.: A bagging algorithm for the imputation of missing values in time series. Expert Systems with Applications 129, 10–26 (2019)
  * [2] Araya-Lopez, J.L., Nikitin, N.O., Kaluzhnaya, A.V.: Case-adaptive ensemble technique for met-ocean data restoration. Procedia Computer Science 136, 311–320 (2018)
  * [3] Baltazar, J.C., Claridge, D.E.: Restoration of short periods of missing energy use and weather data using cubic spline and fourier series approaches: qualitative analysis (2002)
  * [4] Berglund, M., Raiko, T., Honkala, M., Kärkkäinen, L., Vetek, A., Karhunen, J.: Bidirectional recurrent neural networks as generative models-reconstructing gaps in time series. arXiv preprint arXiv:1504.01575 (2015)
  * [5] Caillault, É.P., Lefebvre, A., Bigand, A., et al.: Dynamic time warping-based imputation for univariate time series data. Pattern Recognition Letters (2017)
  * [6] Che, Z., Purushotham, S., Cho, K., Sontag, D., Liu, Y.: Recurrent neural networks for multivariate time series with missing values. Scientific reports 8(1), 1–12 (2018)
  * [7] Chen, J., Jönsson, P., Tamura, M., Gu, Z., Matsushita, B., Eklundh, L.: A simple method for reconstructing a high-quality ndvi time-series data set based on the savitzky–golay filter. Remote sensing of Environment 91(3-4), 332–344 (2004)
  * [8] Ding, Z., Mei, G., Cuomo, S., Li, Y., Xu, N.: Comparison of estimating missing values in iot time series data using different interpolation algorithms. International Journal of Parallel Programming 48(3), 534–548 (2020)
  * [9] Flores, A., Tito, H., Silva, C.: Cbri: a case based reasoning-inspired approach for univariate time series imputation. In: 2019 IEEE Latin American Conference on Computational Intelligence (LA-CCI). pp. 1–6. IEEE (2019)
  * [10] Fortuin, V., Baranchuk, D., Rätsch, G., Mandt, S.: Gp-vae: Deep probabilistic time series imputation. In: International Conference on Artificial Intelligence and Statistics. pp. 1651–1661. PMLR (2020)
  * [11] Khider, D., Zhu, F., Gil, Y.: autots: Automated machine learning for time series analysis. AGUFM 2019, PP43D–1637 (2019)
  * [12] Kim, Y.J., Chi, M.: Temporal belief memory: Imputing missing data during rnn training. In: In Proceedings of the 27th International Joint Conference on Artificial Intelligence (IJCAI-2018) (2018)
  * [13] Körner, P., Kronenberg, R., Genzel, S., Bernhofer, C.: Introducing gradient boosting as a universal gap filling tool for meteorological time series. Meteorologische Zeitschrift 27(5), 369–376 (2018)
  * [14] Lepot, M., Aubin, J.B., Clemens, F.H.: Interpolation in time series: An introductive overview of existing methods, their performance criteria and uncertainty assessment. Water 9(10), 796 (2017)
  * [15] Luo, Y., Cai, X., Zhang, Y., Xu, J., et al.: Multivariate time series imputation with generative adversarial networks. In: Advances in Neural Information Processing Systems. pp. 1596–1607 (2018)
  * [16] Ma, Q., Li, S., Cottrell, G.: Adversarial joint-learning recurrent neural network for incomplete time series classification. IEEE Transactions on Pattern Analysis and Machine Intelligence (2020)
  * [17] Merezhnikov, M., Hvatov, A.: Closed-form algebraic expressions discovery using combined evolutionary optimization and sparse regression approach. Procedia Computer Science 178, 424–433 (2020)
  * [18] Moahmed, T.A., El Gayar, N., Atiya, A.F.: Forward and backward forecasting ensembles for the estimation of time series missing data. In: IAPR workshop on artificial neural networks in pattern recognition. pp. 93–104. Springer (2014)
  * [19] Moritz, S., Sardá, A., Bartz-Beielstein, T., Zaefferer, M., Stork, J.: Comparison of different methods for univariate time series imputation in r (2015)
  * [20] Nikitin, N.O., Polonskaia, I.S., Vychuzhanin, P., Barabanova, I.V., Kalyuzhnaya, A.V.: Structural evolutionary learning for composite classification models. Procedia Computer Science 178, 414–423 (2020)
  * [21] Sarafanov, M., Kazakov, E., Nikitin, N.O., Kalyuzhnaya, A.V.: A machine learning approach for remote sensing data gap-filling with open-source implementation: An example regarding land surface temperature, surface albedo and ndvi. Remote Sensing 12(23), 3865 (2020)
  * [22] Taburet, G., Sanchez-Roman, A., Ballarotta, M., Pujol, M.I., Legeais, J.F., Fournier, F., Faugere, Y., Dibarboure, G.: Duacs dt2018: 25 years of reprocessed sea level altimetry products (2019)
  * [23] Thi-Thu-Hong, P.: Machine learning for univariate time series imputation (2020)
  * [24] Weigend, A.S.: Time series prediction: forecasting the future and understanding the past. Routledge (2018)