From ac9b095a91a984a77b9e3f93199e402496aee53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=C3=B4nio=20C=C3=A2ndido=20de=20Lima=20e=20Silva?= Date: Fri, 9 Mar 2018 13:56:23 -0300 Subject: [PATCH 1/2] Update README.md Adding DOI, reference and installation information on README --- README.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9320a8b..8a17485 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,32 @@ # pyFTS - Fuzzy Time Series for Python -## pyFTS Library +## What is pyFTS Library? This package is intended for students, researchers, data scientists or whose want to exploit the Fuzzy Time Series methods. These methods provide simple, easy to use, computationally cheap and human-readable models, suitable for statistic laymans to experts. This project is continously under improvement and contributors are well come. +## How to reference pyFTS? -## Fuzzy Time Series (FTS) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1194859.svg)](https://doi.org/10.5281/zenodo.1194859) + + Silva, P. C. L. et al. *pyFTS: Fuzzy Time Series for Python (Version v4.0).* Belo Horizonte. 2018. DOI: 10.5281/zenodo.1194859. Url: + +## How to install pyFTS? + +First of all pyFTS was developed and tested with Python 3.6. To install pyFTS using pip tool + +``` +pip install -U pyFTS +``` + +Ou pull directly from the GitHub repo: + +``` +pip install -U git+https://github.com/petroniocandido/pyFTS +``` + +## What are Fuzzy Time Series (FTS)? Fuzzy Time Series (FTS) are non parametric methods for time series forecasting based on Fuzzy Theory. The original method was proposed by [1] and improved later by many researchers. The general approach of the FTS methods, based on [2] is listed below: 1. **Data preprocessing**: Data transformation functions contained at [pyFTS.common.Transformations](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/common/Transformations.py), like differentiation, Box-Cox, scaling and normalization. From 1b13b3aa2fa9bcad05eece25e2c203bbf55ea7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=C3=B4nio=20C=C3=A2ndido=20de=20Lima=20e=20Silva?= Date: Sun, 11 Mar 2018 10:51:38 -0300 Subject: [PATCH 2/2] Including references on README --- README.md | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8a17485..58dd252 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Fuzzy Time Series (FTS) are non parametric methods for time series forecasting b 2. **Universe of Discourse Partitioning**: This is the most important step. Here, the range of values of the numerical time series *Y(t)* will be splited in overlapped intervals and for each interval will be created a Fuzzy Set. This step is performed by pyFTS.partition module and its classes (for instance GridPartitioner, EntropyPartitioner, etc). The main parameters are: - the number of intervals - which fuzzy membership function (on [pyFTS.common.Membership](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/common/Membership.py)) - - partition scheme ([GridPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/Grid.py), [EntropyPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/Entropy.py), [FCMPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/FCM.py), [CMeansPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/CMeans.py), [HuarngPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/Huarng.py)) + - partition scheme ([GridPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/Grid.py), [EntropyPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/Entropy.py)[3], [FCMPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/FCM.py), [CMeansPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/CMeans.py), [HuarngPartitioner](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/partitioners/Huarng.py)[4]) Check out the jupyter notebook on [pyFTS/notebooks/Partitioners.ipynb](https://github.com/petroniocandido/pyFTS/blob/master/pyFTS/notebooks/Partitioners.ipynb) for sample codes. @@ -42,8 +42,8 @@ Fuzzy Time Series (FTS) are non parametric methods for time series forecasting b 4. **Generation of Fuzzy Rules**: In this step the temporal transition rules are created. These rules depends on the method and their characteristics: - *order*: the number of time lags used on forecasting -- *weights*: the weighted models introduce weights on fuzzy rules for smoothing -- *seasonality*: seasonality models depends +- *weights*: the weighted models introduce weights on fuzzy rules for smoothing [5],[6],[7] +- *seasonality*: seasonality models depends [8] - *steps ahead*: the number of steps ahed to predict. Almost all standard methods are based on one-step-ahead forecasting - *forecasting type*: Almost all standard methods are point-based, but pyFTS also provides intervalar and probabilistic forecasting methods. @@ -53,3 +53,23 @@ Fuzzy Time Series (FTS) are non parametric methods for time series forecasting b 7. **Data postprocessing**: The inverse operations of step 1. +## MINDS - Machine Intelligence And Data Science Lab + +This tool is result of collective effort of [MINDS Lab](http://www.minds.eng.ufmg.br/), headed by Prof. Frederico Gadelha Guimarães. Some of research on FTS which was developed under pyFTS: + +1. Alves, M. A.; Silva, P. C. L.; Severiano, C. A. J.; Vieira, G. L.; Guimaraes, F. G.; Sadaei, H. J. An extension of nonstationary fuzzy sets to heteroskedastic fuzzy time series. 26th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, 2018. +2. Silva, P. C. L., Alves, M. A., Alberto, C., Junior, S., Vieira, G. L., Guimaraes, F. G., & Sadaei, H. J. Probabilistic Forecasting with Seasonal Ensemble Fuzzy Time-Series. XIII Brazilian Congress on Computational Intelligence, 2017. +3. Severiano, S. A. Jr; Silva, P. C. L.; Sadaei, H. J.; Guimarães, F. G. Very Short-term Solar Forecasting using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DOI10.1109/FUZZ-IEEE.2017.8015732 +4. SILVA, Petrônio CL; SADAEI, Hossein Javedani; GUIMARÃES, Frederico Gadelha. Interval Forecasting with Fuzzy Time Series. In: Computational Intelligence (SSCI), 2016 IEEE Symposium Series on. IEEE, 2016. p. 1-8. + + +## References + +1. Q. Song and B. S. Chissom, “Fuzzy time series and its models,” Fuzzy Sets Syst., vol. 54, no. 3, pp. 269–277, 1993. +2. S.-M. Chen, “Forecasting enrollments based on fuzzy time series,” Fuzzy Sets Syst., vol. 81, no. 3, pp. 311–319, 1996. +3. C. H. Cheng, R. J. Chang, and C. A. Yeh, “Entropy-based and trapezoidal fuzzification-based fuzzy time series approach for forecasting IT project cost”. Technol. Forecast. Social Change, vol. 73, no. 5, pp. 524–542, Jun. 2006. +4. K. H. Huarng, “Effective lengths of intervals to improve forecasting in fuzzy time series”. Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001. +5. H.-K. Yu, “Weighted fuzzy time series models for TAIEX forecasting”. Phys. A Stat. Mech. its Appl., vol. 349, no. 3, pp. 609–624, 2005. +6. R. Efendi, Z. Ismail, and M. M. Deris, “Improved weight Fuzzy Time Series as used in the exchange rates forecasting of US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1, p. 1350005, 2013. +7. H. J. Sadaei, R. Enayatifar, A. H. Abdullah, and A. Gani, “Short-term load forecasting using a hybrid model with a refined exponentially weighted fuzzy time series and an improved harmony search,” Int. J. Electr. Power Energy Syst., vol. 62, no. from 2005, pp. 118–129, 2014. +8. C.-H. Cheng, Y.-S. Chen, and Y.-L. Wu, “Forecasting innovation diffusion of products using trend-weighted fuzzy time-series model,” Expert Syst. Appl., vol. 36, no. 2, pp. 1826–1832, 2009.