Programming, Math and Physics
BOOK https://www.amazon.com/Time-Series-Forecasting-in-Python/dp/B0C3WSDLJL/
https://arxiv.org/abs/2412.20512 Dive into Time-Series Anomaly Detection: A Decade Review
https://www.vldb.org/pvldb/vol15/p1779-wenig.pdf Anomaly Detection in Time Series: A Comprehensive Evaluation
https://blog.jetbrains.com/pycharm/2025/01/anomaly-detection-in-time-series/
https://arxiv.org/abs/2501.18737 Complex network approaches to nonlinear time series analysis
LLM во временных рядах: https://habr.com/ru/companies/raft/articles/887486/
Casual TS analysis https://github.com/alecrimi/effconnpy
https://habr.com/ru/companies/bothub/articles/875738/ Nixtla представила TimeGPT
https://news.ycombinator.com/item?id=42609595
https://www.reddit.com/r/MachineLearning/comments/1gwbhxq/d_next_big_thing_in_time_series/
https://github.com/thuml/Time-Series-Library
https://habr.com/ru/articles/855446/
https://habr.com/ru/companies/otus/articles/853300/ Tribuo (Java)
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/
https://stumpy.readthedocs.io/
https://sysidentpy.org/
https://medium.com/@suffyan.asad1/spark-leveraging-window-functions-for-time-series-analysis-in-pyspark-03aa735f1bdf
https://www.reddit.com/r/Python/comments/1fexk8e/which_python_libraries_would_be_most_suitable_for/
https://news.ycombinator.com/item?id=42222431
https://habr.com/ru/articles/854414/ Chronos от Amazon
https://habr.com/ru/companies/skillfactory/articles/860660/ Анализ временных рядов: полное руководство для начинающих
https://www.youtube.com/watch?v=vQ3ATVwx6Mo AIOps — обнаружение аномалий в логах и метриках
https://github.com/cerlymarco/tsmoothie
https://joaquinamatrodrigo.github.io/skforecast/
https://habr.com/ru/articles/752662/
Бутстрап временных рядов https://habr.com/ru/companies/X5Tech/articles/814579/
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
https://predict-idlab.github.io/tsflex/
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/
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
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
https://towardsdatascience.com/time-series-classification-using-dynamic-time-warping-61dcd9e143f6
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
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/
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/
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
data[‘MA10’] = data[‘Close’].rolling(10).mean()
Exponential moving average data[‘EMA10’] = data[‘Close’].ewm(span=10, adjust=False).mean()
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
https://github.com/unit8co/darts Darts
https://arxiv.org/pdf/2110.03224.pdf
https://news.ycombinator.com/item?id=28155196
https://github.com/deeptime-ml/deeptime
https://arxiv.org/pdf/2110.15013.pdf
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
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
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
https://habr.com/ru/company/otus/blog/555700/
https://neuralprophet.com/model-overview/
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
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
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
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
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
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
https://www.youtube.com/watch?v=F_gHV-Zq158
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
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
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
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
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.
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
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
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
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
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);
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
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.
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
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
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
https://subscription.packtpub.com/book/big-data-and-business-intelligence/9781788290227
https://subscription.packtpub.com/video/data/9781838640590
https://www.coursera.org/learn/practical-time-series-analysis
https://www.coursera.org/learn/tensorflow-sequences-time-series-and-prediction
https://www.tensorflow.org/tutorials/structured_data/time_series
https://www.udemy.com/course/python-for-time-series-analysis-and-forecasting-arima/learn/lecture/12717065#overview
https://www.youtube.com/watch?v=-r7wB9DJtiU&list=PL3N9eeOlCrP5cK0QRQxeJd6GrQvhAtpBK
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
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
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
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
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
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()
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
https://github.com/MAIF/shapash
https://github.com/mljar/mljar-supervised
https://mljar.com/blog/
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
Deep learning PyTorch library for time series forecasting, classification, and anomaly detection (originally for flood forecasting).
https://github.com/AIStream-Peelout/flow-forecast
https://github.com/AutoViML/Auto_TS
https://github.com/winedarksea/AutoTS
https://pycaret.org/
https://www.analyticsvidhya.com/blog/2020/05/pycaret-machine-learning-model-seconds/
pip install ‘u8darts[all]’
https://medium.com/unit8-machine-learning-publication/darts-time-series-made-easy-in-python-5ac2947a8878
https://github.com/unit8co/darts
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
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://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/
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/
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
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://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://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/
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://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://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
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
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
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.8host.com/blog/prognozirovanie-vremennyx-ryadov-s-pomoshhyu-arima-v-python-3/
https://habr.com/ru/company/ods/blog/327242/ Анализ временных рядов с помощью Python
https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/
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
https://www.quora.com/What-are-the-best-JavaScript-libraries-for-time-series-graphs
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/
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
https://arxiv.org/pdf/1803.06386.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://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
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();
https://otexts.org/fpp2/ FORECASTING BOOK
https://news.ycombinator.com/item?id=17950058
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/
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://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