  This paper surveys state-of-the-art methods and models dedicated to time
series analysis and modeling, with the final aim of prediction. This review
aims to offer a structured and comprehensive view of the full process flow, and
encompasses time series decomposition, stationary tests, modeling and
forecasting. Besides, to meet didactic purposes, a unified presentation has
been adopted throughout this survey, to present decomposition frameworks on the
one hand and linear and nonlinear time series models on the other hand. First,
we decrypt the relationships between stationarity and linearity, and further
examine the main classes of methods used to test for weak stationarity. Next,
the main frameworks for time series decomposition are presented in a unified
way: depending on the time series, a more or less complex decomposition scheme
seeks to obtain nonstationary effects (the deterministic components) and a
remaining stochastic component. An appropriate modeling of the latter is a
critical step to guarantee prediction accuracy. We then present three popular
linear models, together with two more flexible variants of the latter. A step
further in model complexity, and still in a unified way, we present five major
nonlinear models used for time series. Amongst nonlinear models, artificial
neural networks hold a place apart as deep learning has recently gained
considerable attention. A whole section is therefore dedicated to time series
forecasting relying on deep learning approaches. A final section provides a
list of R and Python implementations for the methods, models and tests
presented throughout this review. In this document, our intention is to bring
sufficient in-depth knowledge, while covering a broad range of models and
forecasting methods: this compilation spans from well-established conventional
approaches to more recent adaptations of deep learning to time series
forecasting.
