Michael Lubinsky's homepage

Programming, Math and Physics

View My GitHub Profile

BOOK https://www.amazon.com/Time-Series-Forecasting-in-Python/dp/B0C3WSDLJL/

https://habr.com/ru/companies/otus/articles/805801/

https://www.youtube.com/hashtag/timeseries

https://habr.com/ru/companies/mvideo/articles/769756/ TS analysis with Python

https://habr.com/ru/companies/mvideo/articles/771820/

Skforekast

https://joaquinamatrodrigo.github.io/skforecast/

https://habr.com/ru/articles/752662/

https://www.influxdata.com/time-series-analysis-methods/

https://tomaszs2.medium.com/5-python-projects-people-dont-know-about-ep-3-7124a28239a3 smoothing

https://observablehq.com/@observablehq/analyzing-time-series-data

https://stackoverflow.blog/2022/03/03/stop-aggregating-away-the-signal-in-your-data/

https://habr.com/ru/company/tinkoff/blog/677186/. new TS library

https://towardsdatascience.com/the-poisson-hidden-markov-model-for-time-series-regression-236c269914dd HMM for time series

https://news.ycombinator.com/item?id=29453707

https://pub.towardsai.net/time-series-analysis-hands-on-with-scikit-learn-feature-engineering-1e958e6534da

https://ajay-arunachalam08.medium.com/building-explainable-forecasting-models-with-state-of-the-art-deep-neural-networks-using-a-ad3fa5844fef

https://habr.com/ru/company/tinkoff/blog/657297/ Как прогнозировать временные ряды с ETNA

https://towardsdatascience.com/time-series-modeling-with-orbit-a38e03a2a4ea Uber’s new time-series model ORBIT

https://github.com/tinkoff-ai/etna from tinkoff

tsplot https://github.com/brett-hosking/tsplot Plotting timeseries with 2 Y-axis https://nbviewer.org/github/brett-hosking/tsplot/blob/master/examples/notebooks/EMSO_EGIM_Azores_Oxygen.ipynb

Autocorrelation ACF and partial PACF https://medium.com/@chaunn3502/autocorrelation-and-partial-autocorrelation-in-time-series-data-1dfdb683e48e

https://medium.com/analytics-vidhya/descriptive-predictive-and-feature-selection-on-time-series-data-813a202312b1

https://medium.com/gousto-engineering-techbrunch/stop-using-prophet-as-a-black-box-3-ways-it-can-go-wrong-1046f6c6ec73 Prophet

https://griddb.net/en/ GridDB

https://onlinelibrary.wiley.com/doi/book/10.1002/9781119682394 . Book

https://paritoshsharmaghimire.medium.com/datetime-in-pandas-read-csv-everything-you-have-to-know-8245bd048fa

https://towardsdatascience.com/announcing-pycarets-new-time-series-module-b6e724d4636c PyCarets

https://www.youtube.com/watch?v=3sH1kisAK9s Time Series Data Analysis and Exploratory Analysis

https://eriikcasstro.medium.com/eda-for-time-series-b2ea7b36c65a

https://towardsdatascience.com/your-comprehensive-guide-to-the-basics-of-time-series-modeling-f673398b5df3

https://sarit-maitra.medium.com/take-time-series-a-level-up-with-walk-forward-validation-217c33114f68

https://medium.com/mlearning-ai/proper-picture-of-time-series-forecasting-5dccc53436bc

https://www.youtube.com/watch?v=r71hWIUscV4 . Moving Avg

https://medium.com/data-science-at-microsoft/python-open-source-libraries-for-scaling-time-series-forecasting-solutions-3485c3bd8156

https://betterprogramming.pub/how-to-deal-with-time-series-using-pandas-and-plotly-express-45b6848432df

https://habr.com/ru/post/588270/ Noise reduction

tsflex

https://predict-idlab.github.io/tsflex/

Anomaly detection

https://pkghosh.wordpress.com/2019/07/25/time-series-sequence-anomaly-detection-with-markov-chain-on-spark/

https://www.microsoft.com/en-us/research/wp-content/uploads/2014/01/gupta14_tkde.pdf

https://habr.com/ru/post/588320/

ClickHouse vs TimescaleDB vs Druid vs Pinot for timeseries

https://pradeepchhetri.xyz/clickhousevstimescaledb/

https://blog.timescale.com/blog/what-is-clickhouse-how-does-it-compare-to-postgresql-and-timescaledb-and-how-does-it-perform-for-time-series-data/

https://medium.com/confluera-engineering/real-time-security-insights-apache-pinot-at-confluera-a6e5f401ff02

https://tech.marksblogg.com/faster-clickhouse-imports-csv-parquet-mysql.html

Apache Pinot primarily because of the availability of star-tree index, low latency

https://imply.io/post/apache-druid-vs-time-series-databases

https://imply.io/post/apache-druid-joins

https://imply.io/post/how-we-enabled-the-go-fast-button-on-topn-queries-hint-we-used-vectorized-virtual-columns-which-is-new-in-apache-druid-0200

https://news.ycombinator.com/item?id=22868286

https://news.ycombinator.com/item?id=28945903

Change point detection

https://pkghosh.wordpress.com/2020/09/27/time-series-change-point-detection-with-two-sample-statistic-on-spark-with-application-for-retail-sales-data/

A change point is the one that the data trend shifts abruptly. Solution to detect change points is called Pruned Exact Linear Time (PELT) https://medium.com/dataman-in-ai/time-series-with-zillows-luminaire-f86c3a3f8e6f https://towardsdatascience.com/how-to-detect-seasonality-outliers-and-changepoints-in-your-time-series-5d0901498cff https://arxiv.org/abs/2105.01098

https://towardsdatascience.com/stop-one-hot-encoding-your-time-based-features-24c699face2f Do not use One Hot Encoding

https://www.youtube.com/watch?v=jR0phoeXjrc Multivariate Time Series Data Preprocessing with Pandas in Python

https://ibexorigin.medium.com/list/time-series-forecast-from-scratch-c72ccf7a9229 - several articles!!!

https://towardsdatascience.com/tagged/time-series-from-scratch - several articles!!!

Part 1: “Anomaly Detection for Time Series“ Part 2: “Detecting the Change Points in a Time Series” Part 3: “Algorithmic Trading with Technical Indicators in R” Part 4:“Kalman Filter Explained!” https://medium.com/dataman-in-ai/kalman-filter-explained-4d65b47916bf Part 5:“Business Forecasting with Facebook’s “Prophet” Part 6:“Time Series with Zillow’s Luminaire — Part I Data Exploration” Part 7:“Time Series with Zillow’s Luminaire — Part II Optimal Specifications” Part 8: “Time Series with Zillow’s Luminaire — Part III Modeling” Part 9:“A Technical Guide on RNN/LSTM/GRU for Stock Price Prediction”

https://towardsdatascience.com/time-series-clustering-deriving-trends-and-archetypes-from-sequential-data-bb87783312b4 clustering

https://towardsdatascience.com/most-useful-python-functions-for-time-series-analysis-ed1a9cb3aa8b

https://towardsdatascience.com/feature-engineering-on-time-series-data-transforming-signal-data-of-a-smartphone-accelerometer-for-72cbe34b8a60

https://towardsdatascience.com/how-to-detect-seasonality-outliers-and-changepoints-in-your-time-series-5d0901498cff

https://towardsdatascience.com/linkedins-response-to-prophet-silverkite-and-greykite-4fd0131f64cb

https://towardsdatascience.com/time-series-from-scratch-introduction-to-time-series-with-pandas-347ac9c6b451

https://towardsdatascience.com/every-pandas-function-you-can-should-use-to-manipulate-time-series-711cb0c5c749

https://towardsdatascience.com/time-series-decomposition-and-statsmodels-parameters-69e54d035453

https://towardsdatascience.com/when-a-time-series-only-quacks-like-a-duck-10de9e165e

https://towardsdatascience.com/a-common-mistake-to-avoid-when-working-with-time-series-data-eedf60a8b4c1

https://medium.com/dataman-in-ai/time-series-with-zillows-luminaire-part-iii-modeling-1b183cf46ac9

https://github.com/salesforce/Merlion#readme Merlion: Python library for TS

https://towardsdatascience.com/dig-deep-enough-features-engineering-techniques-for-time-series-analysis-in-python-500c96aebade

https://habr.com/ru/post/584896/ Feature extractions for time series

https://engineering.linkedin.com/blog/2021/greykite–a-flexible–intuitive–and-fast-forecasting-library GreyKite

https://medium.com/data-science-at-microsoft/time-series-forecasting-part-1-of-3-understanding-the-fundamentals-13b52eda3e5

https://medium.com/data-science-at-microsoft/time-series-forecasting-part-2-of-3-selecting-algorithms-11b6635f61bb

https://medium.com/data-science-at-microsoft/time-series-forecasting-part-3-of-3-introducing-auts-adaptive-univariate-time-series-dfd7555ca8d4

Teaching AI to Classify Time-series Patterns with Synthetic Data

https://towardsdatascience.com/create-synthetic-time-series-with-anomaly-signatures-in-python-c0b80a6c093c

https://www.kdnuggets.com/2021/10/teaching-ai-classify-time-series-patterns-synthetic-data.html

DTW dynamic time warping

https://towardsdatascience.com/time-series-classification-using-dynamic-time-warping-61dcd9e143f6

Clustering time series

tslearn : https://andrewm4894.com/2020/09/03/time-series-clustering-with-tslearn/

https://towardsdatascience.com/how-to-apply-k-means-clustering-to-time-series-data-28d04a8f7da3

https://wiki.smu.edu.sg/18191isss608g1/img_auth.php/f/fd/Time_Series_Clustering_A_Decade_Review.pdf

https://www.sciencedirect.com/science/article/pii/S2666827020300013 clustering

https://openproceedings.org/2021/conf/edbt/p270.pdf clustering

https://core.ac.uk/download/pdf/268877028.pdf

https://medium.com/swlh/5-tips-for-working-with-time-series-in-python-d889109e676d

https://peijin.medium.com/six-cool-python-nonlinear-time-series-analysis-libraries-651ae845c65d

https://thingsolver.com/how-to-perform-time-series-clustering-using-ml/

https://statisticsbyjim.com/time-series/

https://medium.com/analytics-vidhya/time-series-forecasting-a-complete-guide-d963142da33f

https://core.ac.uk/download/pdf/268877028.pdf CLUSTERING OF LARGE TIME-SERIES DATASETS USING A MULTI-STEP APPROACH

https://cs.gmu.edu/~jessica/SAX_DAMI_preprint.pdf

https://microprediction.medium.com/combining-pycaret-and-timemachines-for-time-series-prediction-a4d456e47cd9

https://pub.towardsai.net/highly-comparative-time-series-analysis-a-paper-review-5b51d14a291c

https://tech.gorilla.co/how-can-we-quantify-similarity-between-time-series-ed1d0b633ca0

https://tech.gorilla.co/customer-segmentation-in-utility-retail-using-time-series-clustering-2640d0cfe8e0

https://towardsdatascience.com/four-ways-to-quantify-synchrony-between-time-series-data-b99136c4a9c9

https://towardsdatascience.com/dont-make-this-mistake-when-clustering-time-series-data-d9403f39bbb2

https://towardsdatascience.com/time-series-analysis-using-pandas-in-python-f726d87a97d8

https://towardsdatascience.com/top-4-time-series-feature-engineering-lessons-from-kaggle-ca2d4c9cbbe7

https://arxiv.org/pdf/2106.06524.pdf

https://www.wrighters.io/indexing-time-series-data-in-pandas/ Indexing time series in Pandas

https://lvngd.com/blog/time-series-data-pandas-introduction/

change point detection https://medium.com/dataman-in-ai/finding-the-change-points-in-a-time-series-95a308207012

https://ibexorigin.medium.com/list/time-series-forecast-from-scratch-c72ccf7a9229

https://www.youtube.com/watch?v=lqatzxjHx-A

https://habr.com/ru/post/559796/ Прогнозирование временных рядов с помощью AutoML

testing time series models: https://arxiv.org/pdf/2105.01404.pdf

Random walk for TS

https://en.wikipedia.org/wiki/Random_walk

https://leonardoaraujosantos.gitbook.io/artificial-inteligence/appendix/statistics/probability/random-walk

https://www.kaggle.com/questions-and-answers/64989

https://medium.com/analytics-vidhya/time-series-forecasting-with-random-walk-58e84c93058b

https://machinelearningmastery.com/gentle-introduction-random-walk-times-series-forecasting-python/

Visualization

https://www.youtube.com/watch?v=Ct2Lg0lOLoE . AutoML for TS

Lux provides visualisation tools for exploring pandas dataframes interactively and automatically via jupyter notebook widgets.

https://github.com/lux-org/lux

https://www.python-graph-gallery.com/

Python libraries

https://towardsdatascience.com/thirty-two-python-tools-and-package-libraries-to-increase-your-machine-learning-productivity-fc7bf785c5c2

Python Data class https://medium.com/analytics-and-data/pythons-data-classes-a-data-engineer-s-best-friend-173617ee0941

Averaging

data[‘MA10’] = data[‘Close’].rolling(10).mean()

Exponential moving average data[‘EMA10’] = data[‘Close’].ewm(span=10, adjust=False).mean()

New

https://towardsdatascience.com/a-brief-introduction-to-time-series-classification-algorithms-7b4284d31b97

Comparison of k-NN Methods for Time Series Classification and Regression

https://pyts.readthedocs.io/en/stable/modules/classification.html

http://ceur-ws.org/Vol-2259/aics_11.pdf

https://arxiv.org/pdf/2103.14200.pdf

https://arxiv.org/pdf/2110.10914.pdf Empirical Evaluation of Time-Series Feature Sets

https://facebookresearch.github.io/Kats/ KATS from Facebook

https://github.com/linkedin/greykite GreyKite from LinkedIn

Darts

https://github.com/unit8co/darts Darts

https://arxiv.org/pdf/2110.03224.pdf

https://news.ycombinator.com/item?id=28155196

DeepTime

https://github.com/deeptime-ml/deeptime

https://arxiv.org/pdf/2110.15013.pdf

Time weighted averages

https://blog.timescale.com/blog/what-time-weighted-averages-are-and-why-you-should-care/

https://medium.com/analytics-vidhya/understanding-exponential-moving-averages-e3f020d9d13b

https://news.ycombinator.com/item?id=27958175

https://www.youtube.com/watch?v=aXPh0NWNfcc

https://www.youtube.com/watch?v=XIpui7lvjEg

https://www.sciencedirect.com/science/article/pii/S0169207019301128. M4 competition 2020

https://towardsdatascience.com/4-different-approaches-for-time-series-analysis-7e2364fadcb9

https://stats.stackexchange.com/questions/431712/uncertainty-quantification-in-time-series-analysis

ARIMA vs NN

https://www.quora.com/When-should-I-use-an-RNN-LSTM-and-when-to-use-ARIMA-for-a-time-series-forecasting-problem-What-is-the-relation-between-them

https://medium.com/analytics-vidhya/time-series-forecasting-arima-vs-lstm-vs-prophet-62241c203a3b

sktime

https://www.youtube.com/watch?v=wqQKFu41FIw sktime

https://www.youtube.com/results?search_query=%22sktime%22+time+series

https://www.youtube.com/results?search_query=%22Markus+Loning%22+time+series

Neural prophet

https://habr.com/ru/company/otus/blog/555700/

https://neuralprophet.com/model-overview/

Books

https://otexts.com/fpp2/

https://www.routledge.com/Time-Series-Clustering-and-Classification/Maharaj-DUrso-Caiado/p/book/9781032093499

https://machinelearningmastery.com/deep-learning-for-time-series-forecasting/. $37

https://www.amazon.com/Practical-Time-Analysis-Prediction-Statistics-ebook/dp/B07Y5WSCV2

https://www.amazon.com/Machine-Learning-Time-Forecasting-Python-ebook/dp/B08PQ6ZV71

https://www.amazon.com/Hands-Time-Analysis-Python-Techniques-ebook/dp/B08GLG46PQ/

https://huyenchip.com/2019/07/21/machine-learning-interviews.html

Matrix Profile

https://towardsdatascience.com/introduction-to-matrix-profiles-5568f3375d90

mpdist python

https://www.cs.ucr.edu/~eamonn/MatrixProfile.html

https://matrixprofile.org/categories/tutorial/

https://ui.matrixprofile.org/

https://matrixprofile.org/posts/how-to-painlessly-analyze-your-time-series/

https://pythonrepo.com/repo/target-matrixprofile-ts-python-machine-learning

https://pypi.org/project/matrixprofile-ts/

The basics of Matrix Profile are simple: If I take a snippet of my data and slide it along the rest of the time series, how well does it overlap at each new position? More specifically, we can evaluate the Euclidean distance between a subsequence and every possible time series segment of the same length, building up what’s known as the snippet’s “Distance Profile.”

If the subsequence repeats itself in the data, there will be at least one perfect match and the minimum Euclidean distance will be zero (or close to zero in the presence of noise). In contrast, if the subsequence is highly unique (say it contains a significant outlier), matches will be poor and all overlap scores will be high. Note that the type of data is irrelevant: We’re only looking at general pattern conservation.

We then slide every possible snippet across the time series, building up a collection of Distance Profiles. By taking the minimum value for each time step across all distance profiles, we can build the final Matrix Profile. Notice that both ends of the Matrix Profile value spectrum are useful. High values indicate uncommon patterns or anomalous events; in contrast, low values highlight repeatable motifs and provide valuable insight into your time series of interest.

stumpy https://stumpy.readthedocs.io/en/latest/

https://stumpy.readthedocs.io/en/latest/Tutorial_The_Matrix_Profile.html

https://www.pressreader.com/australia/linux-format/20210601/283437784410697

DTW

https://en.wikipedia.org/wiki/Dynamic_time_warping

http://people.cs.uchicago.edu/~jopa/Papers/PaparrizosSIGMOD2020.pdf

https://trendypy.readthedocs.io/en/latest/README.html

The difference to many classification problems in machine learning is that the data is ordered along the time dimension, and as such a good algorithm would need to exploit this property of the data.

Classification on the other hand needs to find patterns in the data that are different between different classes in order to determine the class of the time series at hand.

Dynamic time warping DTW is used to calculate the distance between two time series (Fig. 3); without a distance 1-NN cannot determine which time series is nearest. The most naive way would be to just take the distance between each point in the time series. However, it is not necessarily clear which points should be compared to which in the two time series. For instance, if two identical time series are just shifted slightly, then this would result in a big distance. DTW solves this by pairing up the different time points by drawing lines between them in such a way that each time point in a series must be connected to a time point in the other series, and two lines must never cross (Fig. 3). The distance is the sum of the difference between the paired time points. DTW chooses the connection lines in a way that minimizes this distance.

https://developersbay.se/time-series-classification-an-overview/

https://datascience.stackexchange.com/a/3764/2452

https://www.quora.com/What-are-some-time-series-measures

http://alexminnaar.com/2014/04/16/Time-Series-Classification-and-Clustering-with-Python.html

https://arxiv.org/abs/1809.04356 Deep learning for time series classification: a review

http://tseregression.org/

http://www.timeseriesclassification.com/

https://paperswithcode.com/task/time-series-classification/latest

https://medium.com/@hassanismailfawaz/deep-learning-for-time-series-classification-a-brief-overview-73b58767ed0f

https://medium.datadriveninvestor.com/time-series-classification-using-feature-extraction-16209570a22e

https://datasciencemilan.medium.com/time-series-classification-with-deep-learning-205db7b47e1e

https://link.springer.com/article/10.1007/s10618-020-00727-3

https://www.quora.com/What-are-some-time-series-classification-methods

https://www.quora.com/topic/Dynamic-Time-Warping-Time-Series-Analysis

python code: https://arxiv.org/abs/1909.05738. sktime

https://www.jmlr.org/papers/volume21/19-763/19-763.pdf. pyts A Python Package for Time Series Classification

https://github.com/johannfaouzi/pyts

file:///Users/miclub01/Downloads/energies-06-00579-v2.pdf

https://www.sciencedirect.com/science/article/abs/pii/S0167278996001546?via%3Dihub Measuring the distance between time series

https://arxiv.org/abs/1806.04509 A review on distance based time series classification

https://www.cs.ucr.edu/~eamonn/Complexity-Invariant%20Distance%20Measure.pdf

https://www.ijcaonline.org/archives/volume179/number6/kulkarni-2017-ijca-915974.pdf

https://bird.bcamath.org/bitstream/handle/20.500.11824/888/review.pdf?sequence=1&isAllowed=y

Bayesian structural time series

https://www.statsmodels.org/devel/examples/notebooks/generated/statespace_sarimax_pymc3.html?fbclid=IwAR38a2rYbidnve1bB-fawLCBgCisxAfcJVo1x5ODhlA2yYpf7xab9_ENYqI

https://en.wikipedia.org/wiki/Bayesian_structural_time_series

https://github.com/dafiti/causalimpact?fbclid=IwAR0493C25INSgNY-aZFg-OKNPA2BnFjteN2eiZIEYsOmhr16skLLcEacbKY

https://www.sciencedirect.com/science/article/abs/pii/S0167278996001546?via%3Dihub

Transformers

https://habr.com/ru/post/486358/

https://habr.com/ru/post/341240/

https://habr.com/ru/post/491576/

https://timeseriestransformer.readthedocs.io/en/latest/README.html

https://medium.com/mlearning-ai/transformer-implementation-for-time-series-forecasting-a9db2db5c820

https://towardsdatascience.com/the-time-series-transformer-2a521a0efad3

https://paperswithcode.com/task/time-series-forecasting/codeless

Time Series Forecasting Survey

https://github.com/huseinzol05/Stock-Prediction-Models

https://www.reddit.com/r/MachineLearning/comments/mqn4fj/r_time_series_forecasting_survey/

Not a review but this paper got best paper award at AAAI21 doing forecasting on electrical data (IIRC) and other time-series using transformers: https://arxiv.org/abs/2012.07436

This other paper used a similar but (supposedly) lower performance method so it’s kind of the “baseline” for the former: https://arxiv.org/abs/1907.00235

There’s definitely a lack of up-to-date review. The closest one is this one (https://arxiv.org/abs/2004.10240) mentioned by another poster.

For a comparison of different time series methods it might be worth looking into the Makridakis Competitions: https://en.wikipedia.org/wiki/Makridakis_Competitions

Submissions were tested on thousands of time series and results collated together. Summary of the M4 competition (2018) is given here:

https://www.sciencedirect.com/science/article/pii/S0169207018300785

Neural forecasting: Introduction and literature overview: https://arxiv.org/abs/2004.10240

https://www.youtube.com/watch?v=XCZHJHMLD2s

The latest competition was run on kaggle in 2020:

https://www.kaggle.com/c/m5-forecasting-accuracy/

https://www.kaggle.com/c/m5-forecasting-uncertainty

SQL for time series

https://www.youtube.com/watch?v=F_gHV-Zq158

Anomaly detection in time series

https://www.microprediction.com/blog/anomaly

https://medium.com/geekculture/time-series-anomaly-definition-c04b7d907000

https://github.com/pycaret/pycaret/blob/master/tutorials/Anomaly%20Detection%20Tutorial%20Level%20Beginner%20-%20ANO101.ipynb

https://github.com/arundo/adtk Anomaly detection toolkit

https://blog.insightdatascience.com/a-time-series-anomaly-detection-model-for-all-types-of-time-series-f17677f8f771

https://towardsdatascience.com/time-series-of-price-anomaly-detection-13586cd5ff46

https://towardsdatascience.com/time-series-anomaly-detection-with-anomalize-library-67472003c003

https://towardsdatascience.com/anomaly-detection-with-time-series-forecasting-c34c6d04b24a

https://towardsdatascience.com/unsupervised-anomaly-detection-on-time-series-9bcee10ab473

https://andrewm4894.com/2021/01/03/anomaly-detection-resources/

https://andrewm4894.com/2020/10/19/different-types-of-time-series-anomalies/

https://github.com/netdata/community/blob/main/netdata-agent-api/netdata-pandas/anomalies_collector_deepdive.ipynb

https://www.relataly.com/multivariate-outlier-detection-using-isolation-forests-in-python-detecting-credit-card-fraud/

https://towardsdatascience.com/time-series-anomaly-detection-with-pycaret-706a6e2b2427

https://arxiv.org/pdf/2104.09968.pdf

https://keras.io/examples/timeseries/timeseries_anomaly_detection/

https://towardsdatascience.com/a-comprehensive-beginners-guide-to-the-diverse-field-of-anomaly-detection-8c818d153995

https://towardsdatascience.com/time-series-anomaly-detection-with-pycaret-706a6e2b2427

https://pycaret.readthedocs.io/en/latest/api/anomaly.html

https://www.reddit.com/r/MachineLearning/comments/mqt3rp/d_advantages_of_ml_approaches_for_anomaly/

https://compete.hexagon-ml.com/practice/competition/39/#description

https://github.com/zillow/luminaire Luminaire provides several anomaly detection and forecasting capabilities that incorporate correlational and seasonal patterns as well as uncontrollable variations in the data over time.

https://github.com/arundo/adtk adtk • A Python toolkit for rule-based/unsupervised anomaly detection in time series by Arundo Analytics.

https://github.com/datamllab/tods TODS: An Automated Time-series Outlier Detection System

MSDA is an open-source multidimensional multi-sensor data analysis framework, written in Python. https://www.datasciencecentral.com/profiles/blogs/unsupervised-feature-selection-for-time-series-data

Papers with code:

https://paperswithcode.com/task/time-series/

https://paperswithcode.com/task/time-series/latest

https://pyro.ai/ Probabilistic programming

https://habr.com/ru/company/glowbyte/blog/542940/ Fourie for TS

https://www.ritchievink.com/blog/2018/09/26/algorithm-breakdown-ar-ma-and-arima-models/

https://robjhyndman.com/publications/

https://www.journals.elsevier.com/international-journal-of-forecasting

https://paperswithcode.com/task/time-series-forecasting

https://github.com/topics/time-series-forecasting

https://github.com/cuge1995/awesome-time-series

https://awesomeopensource.com/projects/forecasting

https://analyticsindiamag.com/guide-to-timesynth-a-python-library-for-synthetic-time-series-generation/

https://www.microprediction.com/blog/popular-timeseries-packages

https://habr.com/ru/post/542638/

https://www.sktime.org/en/latest/ !!!

https://blog.paperspace.com/introduction-time-series-analysis/

https://medium.com/coders-camp/10-machine-learning-projects-on-time-series-forecasting-ee0368420ccd

Deep learning for Time Series

https://www.youtube.com/watch?v=svNwWSgz2NM . Deep Learning for Time Series Dimitry Larko

https://towardsdatascience.com/how-to-use-deep-learning-for-time-series-data-f641b1b41a96

https://www.youtube.com/watch?v=xK1NvtNBAW4

https://habr.com/ru/post/505338/ Интервальное прогнозирование временных рядов с помощью рекуррентных нейронных сетей с долгой краткосрочной памятью

https://awaywithideas.com/keras-implementation-of-a-sequence-to-sequence-model-for-time-series-prediction-using-an-encoder-decoder-architecture/

https://www.ritchieng.com/the-incredible-pytorch/.

https://github.com/Alro10/deep-learning-time-series

https://www.robots.ox.ac.uk/~parg/pubs/theses/bryanLim.pdf

Best

https://towardsdatascience.com/time-series-forecasting-with-statistical-models-in-python-code-da457a46d68a

https://www.machinelearningplus.com/category/time-series/

https://machinelearningmastery.com/multi-step-time-series-forecasting-with-machine-learning-models-for-household-electricity-consumption/

https://analyzingalpha.com/time-series-analysis-with-python

https://towardsdatascience.com/ml-time-series-forecasting-the-right-way-cbf3678845ff XGBoost

https://towardsdatascience.com/part-2-time-series-analysis-predicting-hourly-energy-consumption-of-san-diego-ii-f09665796c9

Multivariable TS

https://towardsdatascience.com/multivariate-time-series-forecasting-653372b3db36

https://towardsdatascience.com/simple-multivariate-time-series-forecasting-7fa0e05579b2

матрица корреляций для временных рядов

https://habr.com/ru/post/541610/

https://mabrek.github.io/arima-vs-long-forecasts-2017/#/

http://francescopochetti.com/pythonic-cross-validation-time-series-pandas-scikit-learn/ Cross validation for TS

https://blog.paperspace.com/time-series-forecasting-autoregressive-models-smoothing-methods/

https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/2020/04/21/timeseries-part1.html Time series Forecasting in Python & R, Part 1 (EDA) • Time series forecasting using various forecasting methods in Python & R in one notebook by Sandeep Pawar.

https://github.com/deeptime-ml/deeptime deeptime • Python library for analysis of time series data including dimensionality reduction, clustering, and Markov model estimation by Moritz Hoffmann.

Hierarchial time series (HTS)

https://github.com/carlomazzaferro/scikit-hts

https://medium.com/opex-analytics/hierarchical-time-series-101-734a3da15426

https://towardsdatascience.com/introduction-to-hierarchical-time-series-forecasting-part-ii-e73dfd3de86b

https://otexts.com/fpp2/hts.html

https://github.com/carlomazzaferro/scikit-hts

https://www.youtube.com/watch?v=jo12CWZ00Lo Bayesian hierarchical time series with Prophet and PyMC3

https://discourse.pymc.io/t/hierarchical-time-series-with-prophet-and-pymc3-by-matthijs-brouns/5988

https://datapane.com/u/eugene/reports/arima-for-hierarchical-time-series-forecasting/

https://core.ac.uk/download/pdf/154428359.pdf

https://arxiv.org/abs/1912.00370

https://forecasters.org/wp-content/uploads/gravity_forms/7-2a51b93047891f1ec3608bdbd77ca58d/2014/07/Athanasopoulos_George_ISF2014.pdf

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0242099

https://pyro.ai/examples/forecasting_iii.html

https://github.com/carlomazzaferro/scikit-hts

https://mc-stan.org/docs/2_26/stan-users-guide/time-series-chapter.html

https://github.com/xenakas/hierarchical_modelling

XGBoost for TS

https://habr.com/ru/company/ods/blog/327242/

https://filip-wojcik.com/talks/xgboost_forecasting_eng.pdf

https://towardsdatascience.com/forecasting-stock-prices-using-xgboost-a-detailed-walk-through-7817c1ff536a

https://dzone.com/articles/lessons-learnt-while-solving-time-series-forecasti-1

Predictive Mintanance and Survavival Analysis

https://scikit-survival.readthedocs.io/en/

https://pub.towardsai.net/survival-analysis-with-python-tutorial-how-what-when-and-why-19a5cfb3c312

https://www.kdnuggets.com/2020/07/complete-guide-survival-analysis-python-part1.html

https://sensiml.com/documentation/application-tutorials/industrial-condition-monitoring-tutorial.html

https://square.github.io/pysurvival/

https://lifelines.readthedocs.io/en/latest/

https://docs.pymc.io/notebooks/survival_analysis.html

https://stats.stackexchange.com/questions/45670/how-can-i-transform-time-series-data-so-i-can-use-simpler-techniques-for-fault-p

Prophet

https://www.youtube.com/watch?v=KvLG1uTC-KU

https://microprediction.medium.com/is-facebooks-prophet-the-time-series-messiah-or-just-a-very-naughty-boy-8b71b136bc8c

https://vonum.medium.com/forecasting-multiple-dependent-variables-with-facebook-prophet-61e12302d50b

https://github.com/vonum/multi-prophet

Errors: RMSE, MAPE, and MAE Accuracy

https://towardsdatascience.com/popular-evaluation-metrics-for-classification-with-code-580fa0d4eb20

https://www.youtube.com/watch?v=lHAEPyWNgyY

https://en.wikipedia.org/wiki/Mean_absolute_percentage_error

https://stats.stackexchange.com/questions/58391/mean-absolute-percentage-error-mape-in-scikit-learn

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_absolute_percentage_error.html Issue in code: divide by 0

import numpy as np

def mean_absolute_percentage_error(y_true, y_pred): 
    y_true, y_pred = np.array(y_true), np.array(y_pred)
    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100

https://otexts.com/fpp2/stationarity.html

https://machinelearningmastery.com/time-series-trends-in-python/#:~:text=Removing%20a%20Trend&text=An%20identified%20trend%20can%20be,said%20to%20be%20trend%20stationary.

https://coderzcolumn.com/tutorials/data-science/how-to-remove-trend-and-seasonality-from-time-series-data-using-python-pandas

https://towardsdatascience.com/how-to-remove-non-stationarity-in-time-series-forecasting-563c05c4bfc7

https://medium.com/@nathanvenos/time-series-analysis-in-python-ab582dd803cd

https://towardsdatascience.com/removing-non-linear-trends-from-timeseries-data-b21f7567ed51

https://datascience.stackexchange.com/questions/56857/which-method-to-use-to-remove-trend-from-time-series

https://www.kaggle.com/arunreddy1090/how-to-use-remove-trend-information-fm-timeseries

https://www.bounteous.com/insights/2020/09/15/forecasting-time-series-model-using-python-part-one/

https://www.kdnuggets.com/2020/01/predict-electricity-consumption-time-series-analysis.html

https://www.datacamp.com/community/tutorials/time-series-analysis-tutorial

Rolling avg:

window_size=12
df.rolling(window_size).mean().plot(figsize=(20,10), linewidth=5, fontsize=20)

How to concat and plot 2 pandas dataframes

combined = pd.concat([df1.rolling(12).mean(), df2.rolling(12).mean()], axis=1)

combined.plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

pandas diff()

df.diff().plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

Autocorrelation:

on the x-axis, you have the lag and on the y-axis, you have how correlated the time series is with itself at that lag.

pd.plotting.autocorrelation_plot(some_df);

https://github.com/hippke/wotan smoothing library

The number of time periods to forecast into the future is usually referred to as the forecasting horizon.

Time-series forecasting problems can be classified into two broad categories based on the number of time-steps to be forecasted.

One-step-ahead forecasting is an easy-to-implement case wherein the model is trained on the next time period using N (window size) previous observations.

https://towardsdatascience.com/ml-time-series-forecasting-the-right-way-cbf3678845ff

https://github.com/madagra/energy-ts-analysis

https://dzone.com/articles/lessons-learnt-while-solving-time-series-forecasti-1

Recursive strategy

The recursive forecasting strategy uses only a single model pre-trained for one-step-ahead forecasting. At each forecasting step, this model is used to predict one-step ahead and the value obtained from the forecasting is then fed into the same model to predict the following step (similarly to a recursive function, hence the name) and so on and so forth until the desired forecasting horizon is reached. The recursive strategy is the least expensive method for forecasting since it uses the same model. However, it is not the best strategy for long time horizons since it accumulates forecasting errors at each step. This problem arises because previous forecast values are used to build the feature space for the current step.

Direct strategy

https://dzone.com/articles/lessons-learnt-while-solving-time-series-forecasti-1 The direct forecasting strategy uses a different ML model for each forecasting step. More specifically, each model is trained using as target the time series shifted of the desired number of time periods into the future. Imagine for example that one wants to train a 4 steps ahead model. In this case, each timestamp in the target time series is chosen 4 steps ahead with respect to the corresponding timestamp in the feature set. In this way, we create a model trained to predict 4 steps ahead into the future. The same procedure is repeated for all forecasting steps. The size of the training/cross-validation set slightly decreases for each additional step ahead to perform.

https://dzone.com/articles/lessons-learnt-while-solving-time-series-forecasti-1

Machine Learning mastery

https://machinelearningmastery.com/taxonomy-of-time-series-forecasting-problems/

https://machinelearningmastery.com/time-series-forecasting-methods-in-python-cheat-sheet/

https://machinelearningmastery.com/start-here/#deep_learning_time_series

Important articles:

https://cs.nyu.edu/~mohri/pub/otbts.pdf

https://habr.com/ru/company/ods/blog/327242/

https://towardsdatascience.com/how-not-to-use-machine-learning-for-time-series-forecasting-avoiding-the-pitfalls-19f9d7adf424

https://www.linkedin.com/pulse/how-use-machine-learning-time-series-forecasting-vegard-flovik-phd-1f/

https://mlcourse.ai/articles/topic9-part1-time-series/

https://towardsdatascience.com/breakthroughs-in-time-series-forecasting-at-neurips-2020-1dc1b9b6d99d

https://arxiv.org/abs/2007.06566 We find that linear models often outperform machine learning methods and that the quality of our predictions for any of the forecasting horizons of 1, 3 or 7 days

packtpub

https://subscription.packtpub.com/book/big-data-and-business-intelligence/9781788290227

https://subscription.packtpub.com/video/data/9781838640590

coursera

https://www.coursera.org/learn/practical-time-series-analysis

https://www.coursera.org/learn/tensorflow-sequences-time-series-and-prediction

Tensorflow

https://www.tensorflow.org/tutorials/structured_data/time_series

Udemy

https://www.udemy.com/course/python-for-time-series-analysis-and-forecasting-arima/learn/lecture/12717065#overview

Youtube

https://www.youtube.com/watch?v=-r7wB9DJtiU&list=PL3N9eeOlCrP5cK0QRQxeJd6GrQvhAtpBK

Online (real-time) prediction

https://huyenchip.com/2020/12/27/real-time-machine-learning.html

For your system to be able to make online predictions, it has to have two components:

It can be more expensive to run a learning step on only one data point than on a batch (this can be mitigated by having hardware just powerful enough to process exactly one data point).

https://arxiv.org/abs/1302.6927 Online Learning for Time Series Prediction

Smoothing and outliers in time series

https://www.youtube.com/watch?v=7L23sCOZjns

https://towardsdatascience.com/real-time-time-series-anomaly-detection-981cf1e1ca13

https://towardsdatascience.com/time-series-smoothing-for-better-forecasting-7fbf10428b2

A python library for time-series smoothing and outlier detection in a vectorized way. https://github.com/cerlymarco/tsmoothie

Clustering time series in python:

https://www.kaggle.com/egregori/clustering-time-series Visualization idea:

X-axis: company
Y-axis: avg traffic 
Dot size/color   depend on traffic value (represented as heatmap on the legend)

https://www.kaggle.com/timib1203/time-series-clustering-for-forecasting-preparation

https://stackoverflow.com/questions/34940808/hierarchical-clustering-of-time-series-in-python-scipy-numpy-pandas

https://towardsdatascience.com/how-to-apply-hierarchical-clustering-to-time-series-a5fe2a7d8447

https://tslearn.readthedocs.io/en/stable/gen_modules/clustering/tslearn.clustering.TimeSeriesKMeans.html

http://alexminnaar.com/2014/04/16/Time-Series-Classification-and-Clustering-with-Python.html

Time series packages in Python: tslearn, tsfresh

https://tslearn.readthedocs.io/en/stable/index.html tslearn

https://github.com/blue-yonder/tsfresh

https://www.youtube.com/watch?v=Fm8zcOMJ-9E tsfresh

https://www.microprediction.com/blog/popular-timeseries-packages

https://github.com/MaxBenChrist/awesome_time_series_in_python

https://ts.gluon.ai/ GluonTS - Probabilistic Time Series Modeling¶

https://www.youtube.com/watch?v=9X_4i7zdSY8 PyFlux

https://github.com/ml-tooling/best-of-ml-python

Smoothing

How to Build Exponential Smoothing Models Using Python: Simple Exponential Smoothing, Holt, and Holt-Winters

https://medium.com/datadriveninvestor/how-to-build-exponential-smoothing-models-using-python-simple-exponential-smoothing-holt-and-da371189e1a1

https://rubikscode.net/2020/11/15/top-9-feature-engineering-techniques/

https://machinelearningmastery.com/basic-feature-engineering-time-series-data-python/ . using Lags

https://youtu.be/_fwhJvPW32g Time series Cross Validation

Resampling

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html?highlight=resample#pandas.DataFrame.resample

df = df.resample(‘W’, how=’mean’) df.plot(figsize=(12,6)) df.hist()

Create Features based on time:

https://www.kaggle.com/kashnitsky/correct-time-aware-cross-validation-scheme


data.index = data.index.to_datetime()
data["hour"] = data.index.hour
data["weekday"] = data.index.weekday
data['is_weekend'] = data.weekday.isin([5,6])*1

def add_time_features(df, X_sparse):

    hour = df['time1'].apply(lambda ts: ts.hour)
    morning = ((hour >= 7) & (hour <= 11)).astype('int')
    day = ((hour >= 12) & (hour <= 18)).astype('int')
    evening = ((hour >= 19) & (hour <= 23)).astype('int')
    night = ((hour >= 0) & (hour <= 6)).astype('int')
    
    X = hstack([X_sparse, morning.values.reshape(-1, 1), 
                day.values.reshape(-1, 1), evening.values.reshape(-1, 1), 
                night.values.reshape(-1, 1)])
    return X

calculate mean by feature:

def code_mean(data, cat_feature, real_feature):
    """
    Возвращает словарь, где ключами являются уникальные категории признака cat_feature, 
    а значениями - средние по real_feature
    """
    return dict(data.groupby(cat_feature)[real_feature].mean())

usage:

   code_mean(data, 'weekday', "y")

Помимо перечисленных преобразований для увеличения числа признаков используют и множество других метрик, например, максимальное/минимальное значение, наблюдавшееся в скользящем по ряду окне, медианы, число пиков, взвешенные дисперсии и многое другое. Автоматически этим занимается библиотека библиотека tsfresh.

https://github.com/blue-yonder/tsfresh

shapash

https://github.com/MAIF/shapash

mljar-supervised

https://github.com/mljar/mljar-supervised

https://mljar.com/blog/

PyTorch-forecasting

https://towardsdatascience.com/introducing-pytorch-forecasting-64de99b9ef46

https://analyticsindiamag.com/guide-to-pytorch-time-series-forecasting/

https://github.com/KurochkinAlexey/Hierarchical-Attention-Based-Recurrent-Highway-Networks-for-Time-Series-Prediction

Pytorch Forecasting is a framework made on top of PyTorch Light used to ease time series forecasting with the help of neural networks for real-world use-cases. It is having state of the art time series forecasting architectures that can be easily trained with input data points. This library has many benefits as they composed all the different requirements into specific classes like:

- TimeSeriesDataSet is used to prepare the dataset for training with PyTorch, this class takes care of the variable transformation, random sampling, and missing value filling, etc. 
- BaseModel class is used to provide data visualization such as showing predicting values vs real values.

Some of the other features we get with Pytorch forecasting are:

Faster model training as it is built on PyTorch lightning which allows you to train the model on CPU as well as multiple GPU.
- Temporal fusion Transformer: An architecture developed by Oxford University and Google for Interpretable Multi-horizon Time Series forecasting that beat Amazon’s DeepAR with 39-69% in benchmarks.
- N-BEATS model
- DeepAR model: Most popular baseline model for time-series forecasting.
- Ranger optimizer for faster model training.
- Hyperparameter tuning using optuna

pip install pytorch-forecasting

https://pytorch-forecasting.readthedocs.io/en/latest/

https://github.com/jdb78/pytorch-forecasting

PyTorch Deep Learning Flow-forecast

Deep learning PyTorch library for time series forecasting, classification, and anomaly detection (originally for flood forecasting).

https://github.com/AIStream-Peelout/flow-forecast

Auto_TS

https://github.com/AutoViML/Auto_TS

AutoTS

https://github.com/winedarksea/AutoTS

pycaret

https://pycaret.org/

https://www.analyticsvidhya.com/blog/2020/05/pycaret-machine-learning-model-seconds/

darts

pip install ‘u8darts[all]’

https://medium.com/unit8-machine-learning-publication/darts-time-series-made-easy-in-python-5ac2947a8878

https://github.com/unit8co/darts

Stumpy

conda install stumpy

https://stumpy.readthedocs.io/en/latest/index.html

https://www.youtube.com/watch?v=xLbPP5xNIJs

https://www.youtube.com/watch?v=T9_z7EpA8QM

https://notamonadtutorial.com/stumpy-unleashing-the-power-of-the-matrix-profile-for-time-series-analysis-7c46af040adb

sktime and sktime-dl

https://www.sktime.org/en/latest/

https://habr.com/ru/company/otus/blog/511782/. sktime - time series with python

https://github.com/alan-turing-institute/sktime SkTime - time series analysis

https://news.ycombinator.com/item?id=24541487 . SkTime - time series analysis

https://github.com/alan-turing-institute/sktime/blob/master/examples/01_forecasting.ipynb

pip install sktime-dl

https://github.com/sktime/sktime-dl

https://www.kaggle.com/robikscube/tutorial-time-series-forecasting-with-xgboost

https://medium.com/@qs2178/time-series-forecasting-with-stacked-machine-learning-models-7250abdece0f Stacked model

https://github.com/atriptoparadise/Time-Series-with-machine-learning/blob/master/Time%20Series%20Forecasting%20with%20Stacked%20Machine%20Learning%20Models_DEMO.ipynb

https://github.com/leepingtay/time_series_forecasting_energy/blob/master/Energy_Time_Series_Forecast_XGBoost.ipynb

https://towardsdatascience.com/ml-time-series-forecasting-the-right-way-cbf3678845ff

https://www.cs.ucr.edu/~eamonn/100_Time_Series_Data_Mining_Questions__with_Answers.pdf

https://spark-in.me/post/playing-with-electricity Good links!

https://stackoverflow.com/questions/23199796/detect-and-exclude-outliers-in-pandas-data-frame Remove outliers

https://github.com/SeldonIO/alibi-detect

https://github.com/axsaucedo/seldon_experiments/blob/master/monitoring-talk/cifar10_example.ipynb

https://youtu.be/6OGSftP2_Ts

https://zerowithdot.com/time-forecasting-challenges/

https://habr.com/ru/post/180409/ Обзор моделей прогнозирования временных рядов

https://habr.com/ru/post/207160/ . statmodels

https://habr.com/ru/post/436294/

https://habr.com/ru/company/ods/blog/327242/ Открытый курс машинного обучения. Тема 9. Анализ временных рядов с помощью Python

https://www.vaishalilambe.com/blog/learning-time-series-analysis-forecasting-phase-1

https://machinelearningmastery.com/taxonomy-of-time-series-forecasting-problems/

https://machinelearningmastery.com/time-series-forecasting-methods-in-python-cheat-sheet/

NN for time series

https://habr.com/ru/post/495884/ NN for time series

https://vorstella.com/deep-learning-time-series/

https://medium.com/tensorflow/structural-time-series-modeling-in-tensorflow-probability-344edac24083

https://www.m3db.io/ Uber’s TS database

https://www.dataengineeringpodcast.com/datadog-timeseries-data-episode-113/

packages

https://medium.com/@michalchromcak/hcrystalball-a-unified-interface-to-time-series-forecasting-6fb57384ad57

https://github.com/firmai/atspy Automated Time Series Models in Python (AtsPy)

ARIMA - Automated ARIMA Modelling
Prophet - Modeling Multiple Seasonality With Linear or Non-linear Growth
HWAAS - Exponential Smoothing With Additive Trend and Additive Seasonality
HWAMS - Exponential Smoothing with Additive Trend and Multiplicative Seasonality
NBEATS - Neural basis expansion analysis (now fixed at 20 Epochs)
Gluonts - RNN-based Model (now fixed at 20 Epochs)
TATS - Seasonal and Trend no Box Cox
TBAT - Trend and Box Cox
TBATS1 - Trend, Seasonal (one), and Box Cox
TBATP1 - TBATS1 but Seasonal Inference is Hardcoded by Periodicity
TBATS2 - TBATS1 With Two Seasonal Periods

https://news.ycombinator.com/item?id=23041264 ts models

https://arxiv.org/abs/1911.13288 finansial TS with deep learning

Time Series DBs

https://github.com/nakabonne/tstorage . in Go

https://nakabonne.dev/posts/write-tsdb-from-scratch/

https://medium.com/datadriveninvestor/what-are-time-series-databases-a3e847608f91

https://questdb.io/blog/

https://news.ycombinator.com/item?id=23975807

https://github.com/timescale/tsbs Benchmarking

https://habr.com/ru/post/508362/ VictoriaMetrics, TimescaleDB и InfluxDB

https://www.youtube.com/watch?v=2SUBRE6wGiA&list=PLSE8ODhjZXjY0GMWN4X8FIkYNfiu8_Wl9

https://github.com/questdb/questdb

https://news.ycombinator.com/item?id=20760324

https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/metricsdb.html

https://habr.com/ru/company/itsumma/blog/462111/

https://github.com/richardartoul/tsdb-layer

https://github.com/m3db/m3

http://rcardin.github.io/database/mongodb/time-series/2017/01/31/implementing-time-series-in-mongodb.html

Time Series

https://www.amazon.com/Practical-Time-Analysis-Prediction-Statistics-ebook/dp/B07Y5WSCV2/ Book

https://www.liip.ch/en/blog/time-series-prediction-a-short-comparison-of-best-practices

https://news.ycombinator.com/item?id=21492394

https://christian.bock.ml/posts/significant_shapelets/

https://www.reddit.com/r/datascience/comments/deiowd/are_there_any_python_libraries_that_help_with/

Visualization

https://code.lag.net/robey/yeri/

https://towardsdatascience.com/formating-and-visualizing-time-series-data-ba0b2548f27b

https://machinelearningmastery.com/time-series-data-visualization-with-python/

https://towardsdatascience.com/introduction-to-interactive-time-series-visualizations-with-plotly-in-python-d3219eb7a7af

https://towardsdatascience.com/an-end-to-end-project-on-time-series-analysis-and-forecasting-with-python-4835e6bf050b

https://tslearn.readthedocs.io/en/latest/index.html . tslearn

https://pyts.readthedocs.io/en/latest/ . pyts

https://github.com/unit8co/darts time series in Python

https://github.com/mlubinsky/mlubinsky.github.com/blob/master/ts/time_series_forecasting_with_python_mini_course.pdf

https://habr.com/ru/post/352980/ . Alert system for metrics

https://www.youtube.com/watch?v=AtS7Fo60JiY . A Practical Guide to Monitoring and Alerting with Time Series at Scale - Google - SRECon2017

http://iconcs.org/papers/Paper_95.pdf . Big Data Analytics for Load Forecasting in Smart Grids: A Survey

https://en.wikipedia.org/wiki/Dickey%E2%80%93Fuller_test . Dickey–Fuller test

Dataset

http://traces.cs.umass.edu/index.php/Smart/Smart . UMass Trace Repository

https://www.kaggle.com/robikscube/hourly-energy-consumption

https://www.kaggle.com/robikscube/hourly-energy-consumption/kernels

Prophet (from FaceBook)

https://medium.com/@michalchromcak/hcrystalball-a-unified-interface-to-time-series-forecasting-6fb57384ad57

https://www.kaggle.com/adityaecdrid/my-first-time-series-comp-added-prophet

https://www.kaggle.com/robikscube/tutorial-time-series-forecasting-with-prophet

ARIMA

https://ru.wikipedia.org/wiki/ARIMA

https://www.machinelearningplus.com/time-series/arima-model-time-series-forecasting-python

http://people.duke.edu/~rnau/411arim.htm

https://otexts.com/fpp2/arima.html

https://www.sas.upenn.edu/~fdiebold/Textbooks.html

Non-seasonal ARIMA has three input values to help control for smoothing, stationarity, and forecasting ARIMA(p,d,q), where:

p is the number of autoregressive terms,
d is the number of nonseasonal differences needed for stationarity, and
q is the number of lagged forecast errors in the prediction equation.

By contrast seasonal ARIMA has six input values ARIMA(p,d,q,P,D,Q), where:

P is the number of seasonal autoregressive terms,
D is the number of seasonal differences, and
Q is the number of seasonal moving-average terms.
Step 0: Visualization
We can use   resampling by week or month or year available in pandas:
sales_a.resample('W').sum().plot(color = c, ax = ax1)

Step1: split data in 3 sets:  train (biggest), test, and validation

Step2: seasonality check - decompose time series into three components: trend, seasonality, and noise.

import statsmodels.api as sm
decomposition = sm.tsa.seasonal_decompose(y, model='additive')
decomposition.plot();

decomposition = sm.tsa.seasonal_decompose(y, model='multiplicative')

https://machinelearningmastery.com/make-manual-predictions-arima-models-python/

https://machinelearningmastery.com/make-sample-forecasts-arima-python/

https://machinelearningmastery.com/arima-for-time-series-forecasting-with-python/

https://www.digitalocean.com/community/tutorials/a-guide-to-time-series-forecasting-with-arima-in-python-3

https://www.8host.com/blog/prognozirovanie-vremennyx-ryadov-s-pomoshhyu-arima-v-python-3/

Article with code

https://habr.com/ru/company/ods/blog/327242/ Анализ временных рядов с помощью Python

https://github.com/Yorko/mlcourse.ai/blob/master/jupyter_russian/topic09_time_series/topic9_part2_arima_time_series_deaths.ipynb

Article with code

https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/

https://github.com/aarshayj/Analytics_Vidhya/blob/master/Articles/Time_Series_Analysis/Time_Series_AirPassenger.ipynb

Article with code: Seasonal ARIMA

https://medium.com/@josemarcialportilla/using-python-and-auto-arima-to-forecast-seasonal-time-series-90877adff03c https://github.com/Pierian-Data/AutoArima-Time-Series-Blog

https://www.nbshare.io/notebook/136553745/Time-Series-Analysis-Using-ARIMA-From-StatsModels/

https://www.machinelearningplus.com/time-series/arima-model-time-series-forecasting-python/

https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/

https://www.kaggle.com/viridisquotient/arima

https://www.kaggle.com/ctlente/time-series-forecasting-workflow

https://ubereng.wpengine.com/forecasting-introduction/

https://machinelearningmastery.com/time-series-forecasting-methods-in-python-cheat-sheet/

https://www.reddit.com/r/MachineLearning/comments/amj60h/d_what_are_some_modern_machine_learning/

https://www.reddit.com/r/MachineLearning/comments/9ofd7x/d_machine_learning_on_time_series_data/

http://www.uokufa.edu.iq/staff/ehsanali/Tan.pdf BOOK Introduction to DataMining

https://habr.com/company/ods/blog/327242/

https://www.youtube.com/watch?v=JNfxr4BQrLk

Javascript for Time Series

https://www.quora.com/What-are-the-best-JavaScript-libraries-for-time-series-graphs

Time series in scikit-learn

https://www.ethanrosenthal.com/2018/01/28/time-series-for-scikit-learn-people-part1/ https://www.ethanrosenthal.com/2018/03/22/time-series-for-scikit-learn-people-part2/ https://www.ethanrosenthal.com/2019/02/18/time-series-for-scikit-learn-people-part3/

http://mariofilho.com/how-to-predict-multiple-time-series-with-scikit-learn-with-sales-forecasting-example/

LSTM

https://www.altumintelligence.com/articles/a/Time-Series-Prediction-Using-LSTM-Deep-Neural-Networks

http://www.jakob-aungiers.com/articles/a/LSTM-Neural-Network-for-Time-Series-Prediction

https://github.com/dafrie/lstm-load-forecasting

ARIMA vs LSTM

https://www.quora.com/When-should-I-use-an-RNN-LSTM-and-when-to-use-ARIMA-for-a-time-series-forecasting-problem-What-is-the-relation-between-them

https://arxiv.org/pdf/1803.06386.pdf

https://forecasters.org/wp-content/uploads/gravity_forms/7-c6dd08fee7f0065037affb5b74fec20a/2017/07/Laptev_Nikolay_ISF2017.pdf

https://www.kaggle.com/kapilstp84/time-series-forecasting-arima-v-s-lstm-rnn

https://springml.com/2018/01/26/time-series-forecasting-arima-vs-lstm/

https://www.linkedin.com/pulse/comparison-between-classical-statistical-model-arima-deep-virmani/

http://rstudio-pubs-static.s3.amazonaws.com/316135_c44aa19b592a421d97330f03c7965558.html#/

https://machinelearningmastery.com/start-here/#timeseries

https://machinelearningmastery.com/suitability-long-short-term-memory-networks-time-series-forecasting/

https://www.youtube.com/watch?v=H8t8Y_OvB2I&list=PL51yKFtVfMeCI5OVzqToxFoDfIsYfCS-r&t=0s&index=15

https://www.youtube.com/watch?v=h9QWefYBfJg

https://datascience.stackexchange.com/questions/12721/time-series-prediction-using-arima-vs-lstm

Kagle

https://www.kaggle.com/c/demand-forecasting-kernels-only/

https://www.kaggle.com/c/demand-forecasting-kernels-only/kernels

https://www.kaggle.com/shivamb/data-science-glossary-on-kaggle/notebook

You are given 5 years of store-item sales data, and asked to predict 3 months of sales for 50 different items at 10 different stores.

What’s the best way to deal with seasonality? Should stores be modeled separately, or can you pool them together? Does deep learning work better than ARIMA? Can either beat xgboost?

date - Date of the sale data. There are no holiday effects or store closures. store - Store ID item - Item ID sales - Number of items sold at a particular store on a particular date.

cat  train.csv | cut -d "," -f2 | sort | uniq -c
91300 1
91300 10
91300 2
91300 3
91300 4
91300 5
91300 6
91300 7
91300 8
91300 9

https://www.kaggle.com/praymond/eda-of-total-sales

https://www.kaggle.com/princeashburton/plotting-time-series-data

https://www.kaggle.com/darshanadiga/time-series-data-exploration

https://www.kaggle.com/adityaecdrid/my-first-time-series-comp-added-prophet

Seasonal decomp in statmodels:
#from statsmodels.tsa.seasonal import seasonal_decompose
#import statsmodels.api as sm

decomp_year = sm.tsa.seasonal_decompose(sales_a, model = 'additive', freq = 365) . #Yearly
decomp_year.trend.plot(color = c, ax = ax1)

decomp_additive = sm.tsa.seasonal_decompose(y, model='additive')
decomp_additive.plot()


decomp_multi = sm.tsa.seasonal_decompose(y, model='multiplicative')
decomp_multi.plot();

Time series

https://otexts.org/fpp2/ FORECASTING BOOK

https://news.ycombinator.com/item?id=17950058

https://uzclip.net/video/RdTxLXmbvjY/008-%D0%BF%D1%80%D0%BE%D0%B3%D0%BD%D0%BE%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D1%80%D1%8F%D0%B4%D0%BE%D0%B2-%D0%BA-%D0%B2-%D0%B2%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2.html

https://uzclip.net/video/kdGsAZfLgFI/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D0%BE%D1%86%D0%B5%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-arma-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0.html

https://www.kaggle.com/kanncaa1/time-series-prediction-tutorial-with-eda

https://www.kaggle.com/thebrownviking20/everything-you-can-do-with-a-time-series

Time series problem is different from a regression problem in following ways:

1) The main difference is that a time series is time dependent. So the basic assumption of a linear regression model that the observations are independent doesn’t hold in this case.
2) Along with an increasing or decreasing trend, most Time Series have some form of seasonality trends,i.e. variations specific to a particular time frame.


Stationarity of a Time Series
There are three basic criterion for a time series to understand whether it is stationary series or not.

- constant mean
- constant variance
- autocovariance that does not depend on time. autocovariance is covariance between time series and lagged time series.


 Mean Absolute Percentage Error (MAPE)
 Mean Absolute Error (MAE) is the mean of the absolute values of the errors. 

http://mariofilho.com/create-simple-machine-learning-model-predict-time-series/

http://blog.ethanrosenthal.com/2018/03/22/time-series-for-scikit-learn-people-part2/

http://mariofilho.com/how-to-predict-multiple-time-series-with-scikit-learn-with-sales-forecasting-example/

https://trainings.analyticsvidhya.com/dashboard Class: creating time Series Forecast with python

https://www.youtube.com/watch?v=pl6u8PC_1Ns

https://www.youtube.com/watch?v=9X_4i7zdSY8

https://www.youtube.com/watch?v=9X_4i7zdSY8 Deep Learning

https://www.youtube.com/watch?v=VYpAodcdFfA two Effective Algorithms for Time Series Forecasting

https://towardsdatascience.com/forecasting-with-python-and-tableau-dd37a218a1e5

https://www.analyticsvidhya.com/blog/2018/02/time-series-forecasting-methods/ (Python)

https://www.digitalocean.com/community/tutorial_series/time-series-visualization-and-forecasting

https://machinelearningmastery.com/time-series-forecasting-methods-in-python-cheat-sheet/

https://machinelearningmastery.com/taxonomy-of-time-series-forecasting-problems/

https://machinelearningmastery.com/how-to-develop-a-skilful-time-series-forecasting-model/

https://github.com/mlubinsky/mlubinsky.github.com/blob/master/ml/PDF/time_series_forecasting_with_python_mini_course.pdf

https://www.kdnuggets.com/2018/09/end-to-end-project-time-series-analysis-forecasting-python.html

https://blog.algorithmia.com/introduction-to-time-series/

https://habrahabr.ru/post/180409/

https://habr.com/company/ods/blog/327242/

https://medium.com/@ATavgen/time-series-modelling-a9bf4f467687

https://waterprogramming.wordpress.com/2017/09/29/time-series-modeling-arma-notation-part-1/

https://waterprogramming.wordpress.com/2017/12/18/preparing-data-for-a-time-series-analysis/

http://www.datasciencecentral.com/profiles/blogs/21-great-articles-and-tutorials-on-time-series