time_series_handbook/README.md

75 lines
4.8 KiB
Markdown
Raw Permalink Normal View History

2021-02-04 07:15:54 +08:00
# Time Series Handbook
2021-02-19 23:57:03 +08:00
This handbook extensively covers time series analysis and forecasting, delving from the most fundamental methods to the state-of-the-art. The handbook was made in Python and is designed such that readers can both learn the theory and apply them to real-world problems. Although chapters were made to be stand alone, it is recommended that readers go through the first few chapters to be able to fully appreciate the latter chapters. Moreover, the
[Jena climate dataset](https://www.kaggle.com/stytch16/jena-climate-2009-2016) is used across several chapters, with a summary of the performance of the models used at the end.
The handbook is structured as follows: in the first part, classical forecasting methods are discussed in detail. The middle part is then dedicated to dynamical forecasting methods and as well as causality and correlations, topics that are particularly essential in understanding the intricacies of time series forecasting. Finally, the last part shows a glimpse into the current trends and open problems in time series forecasting and modeling.
The aim of this handbook is to serve as a practitioners guide to forecasting, enabling them to better understand relationships in signals. It is made for an audience with a solid background in Statistics and Mathematics, as well as a basic knowledge of Python. Familiarity with Machine Learning methods is a plus, especially for the later chapters.
2021-02-05 12:23:26 +08:00
2021-02-04 07:15:54 +08:00
2021-02-04 18:07:06 +08:00
## Outline
2021-02-04 07:15:54 +08:00
This handbook contains a variety of techniques that you can use for time series analysis -- from simple statistical models to some of the state-of-the-art algorithms as of writing. Here are the items that are covered in this material:
2021-02-19 23:57:03 +08:00
- Chapter 0: [Introduction to Time Series Analysis](00_Introduction)
2021-02-04 22:28:43 +08:00
- Chapter 1: [Autoregressive integrated moving average](01_AutoRegressiveIntegratedMovingAverage)
2021-02-04 07:32:34 +08:00
- Chapter 2: [Linear Trend and Momentum Forecasting](02_LinearForecastingTrendandMomentumForecasting)
- Chapter 3: [Vector Autoregressive Methods](03_VectorAutoregressiveModels)
- Chapter 4: [Granger Causality](04_GrangerCausality)
- Chapter 5: [Simplex and S-map Projections](05_SimplexandSmapProjections)
- Chapter 6: [Convergent Cross Mapping and Sugihara Causality](06_ConvergentCrossMappingandSugiharaCausality)
2021-02-04 15:28:45 +08:00
- Chapter 7: [Cross-Correlations, Fourier Transform and Wavelet Transform](07_CrosscorrelationsFourierTransformandWaveletTransform)
2021-02-04 07:32:34 +08:00
- Chapter 8: [Winningest Methods](08_WinningestMethods)
2021-02-04 07:15:54 +08:00
2021-02-04 18:07:06 +08:00
# How to use this reference
2021-02-04 18:22:06 +08:00
Each of the chapters mentioned above includes Jupyter notebook/s that contain/s the discussion of each topic (background, limitations, applications). Most of the datasets used in the handbook are included in this repository, and the details of each are described in the [data folder](data).
2021-02-04 07:15:54 +08:00
2021-02-04 18:07:06 +08:00
## Setting up your virtual environment
2021-02-04 07:15:54 +08:00
To be able to run the contents of this repository, it is advised that you setup a virtual environment. You can install one via Anaconda or via Python's native `venv` module.
##### Anaconda
To set up a virtual environment called `atsa`, run the following in your terminal:
```bash
# this will create an anaconda environment
# called atsa in 'path/to/anaconda3/envs/'
conda create -n atsa
```
2021-02-04 08:15:27 +08:00
To activate and enter the environment, run `conda activate atsa`. To deactivate the environment, either run `conda deactivate atsa` or exit the terminal. For more information on setting up your virtual evironment using Anaconda, please visit [this page](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html).
2021-02-04 07:15:54 +08:00
2021-02-04 18:07:06 +08:00
##### Python venv
2021-02-04 07:15:54 +08:00
To set up a virtual environment called `atsa`, run the following in your terminal:
```bash
# this will create a virtual environment
2021-02-04 08:15:27 +08:00
# called atsa in your home directory
2021-02-04 07:15:54 +08:00
python3 -m venv ~/atsa
```
To activate and enter the environment, run `source ~/atsa/bin/activate`. To deactivate the environment, either run `deactivate` or exit the terminal. Note that every time you want to work on the assignment, you should rerun `source ~/atsa/bin/activate`.
2021-02-04 18:07:06 +08:00
## Rendering the notebooks
2021-02-05 16:45:15 +08:00
To view the individual notebooks outside of Github without setting up a repository or installing any software, you may use [The Jupyter Notebook Viewer](https://nbviewer.jupyter.org/).
2021-02-04 18:07:06 +08:00
- Open `https://nbviewer.jupyter.org/`
- Paste the link to the notebook.
When a notebook rendered in nbviewer appears differently from the one rendered github, just append `?flush_cache=true` to the end of the nbviewer URL to force it to rerender.
2021-02-05 16:45:15 +08:00
## Jupyterbook
To view all the chapters of this handbook, please visit this link: [Time Series Analysis Handbook](https://phdinds-aim.github.io/time_series_handbook/)
2021-02-05 16:47:49 +08:00
![Screenshot](jupyterbook_handbook.png)
2021-02-05 16:45:15 +08:00
2021-02-04 18:07:06 +08:00
# Contributors
2021-02-04 07:15:54 +08:00
- Benjur Emmanuel Borja
2021-02-05 15:34:54 +08:00
- Gilbert Michael G. Chua
2021-02-04 20:15:30 +08:00
- Francis James Corpuz
- Carlo Vincienzo Dajac
2021-02-05 15:28:29 +08:00
- Sebastian C. Ibañez
2021-02-04 23:23:16 +08:00
- Prince Joseph Erneszer Javier
2021-02-05 15:34:54 +08:00
- Marissa P. Liponhay
- Maria Eloisa M. Ventura
2021-02-04 07:15:54 +08:00