Perform time series analysis and forecasting confidently with this Python code bank and reference manual
- Explore forecasting and anomaly detection techniques using statistical, machine learning, and deep learning algorithms
- Learn different techniques for evaluating, diagnosing, and optimizing your models
- Work with a variety of complex data with trends, multiple seasonal patterns, and irregularities
- Understand what makes time series data different from other data
- Apply various imputation and interpolation strategies for missing data
- Implement different models for univariate and multivariate time series
- Use different deep learning libraries such as TensorFlow, Keras, and PyTorch
- Plot interactive time series visualizations using hvPlot
- Explore state-space models and the unobserved components model (UCM)
- Detect anomalies using statistical and machine learning methods
- Forecast complex time series with multiple seasonal patterns
Time series data is everywhere, available at a high frequency and volume. It is complex and can contain noise, irregularities, and multiple patterns, making it crucial to be well-versed with the techniques covered in this book for data preparation, analysis, and forecasting.
This book covers practical techniques for working with time series data, starting with ingesting time series data from various sources and formats, whether in private cloud storage, relational databases, non-relational databases, or specialized time series databases such as InfluxDB. Next, you'll learn strategies for handling missing data, dealing with time zones and custom business days, and detecting anomalies using intuitive statistical methods, followed by more advanced unsupervised ML models. The book will also explore forecasting using classical statistical models such as Holt-Winters, SARIMA, and VAR. The recipes will present practical techniques for handling non-stationary data, using power transforms, ACF and PACF plots, and decomposing time series data with multiple seasonal patterns. Later, you'll work with ML and DL models using TensorFlow and PyTorch.
Finally, you'll learn how to evaluate, compare, optimize models, and more using the recipes covered in the book.
This book is for data analysts, business analysts, data scientists, data engineers, or Python developers who want practical Python recipes for time series analysis and forecasting techniques. Fundamental knowledge of Python programming is required. Although having a basic math and statistics background will be beneficial, it is not necessary. Prior experience working with time series data to solve business problems will also help you to better utilize and apply the different recipes in this book.
- Getting Started with Time Series Analysis
- Reading Time Series Data from Files
- Reading Time Series Data from Databases
- Persisting Time Series Data to Files
- Persisting Time Series Data to Databases
- Working with Date and Time in Python
- Handling Missing Data
- Outlier Detection Using Statistical Methods
- Exploratory Data Analysis and Diagnosis
- Building Univariate Time Series Models Using Statistical Methods
- Additional Statistical Modeling Techniques for Time Series
- Forecasting Using Supervised Machine Learning
- Deep Learning for Time Series Forecasting
- Outlier Detection Using Unsupervised Machine Learning
- Advanced Techniques for Complex Time Series
- pandas
- Statsmodels
- SciPy
- pmdarima for AutoArima
- arch
- Scikit-Learn
- sktime
- Darts
- PyCaret
- Prophet
- NeuralProphet
- PyOD
- TensorFlow
- PyTorch
- Modin
- hvPlot
- Matplotlib
- seaborn
- SQLAlchemy
- Working on adding Colab notebook versions
- Chapter 11
- Chapter 12
- Chapter 14
- Added YAML environment file and requirements.txt files for each chapter