PYFTS / pyFTS

An open source library for Fuzzy Time Series in Python
http://pyfts.github.io/pyFTS/
GNU General Public License v3.0
262 stars 54 forks source link

Multi-variate high order FTS model #21

Closed RobinloveCode closed 5 years ago

RobinloveCode commented 5 years ago

Hi Dr.

Is there any tutorial about high-order multi-variate Fuzzy time series model?

Thanks.

RobinloveCode commented 5 years ago

I write a multivariate high order model by myself.

petroniocandido commented 5 years ago

There is only one multivariate high order method on pyFTS, the cmvfts.ClusteredFTS (https://pyfts.github.io/pyFTS/build/html/pyFTS.models.multivariate.html#module-pyFTS.models.multivariate.cmvfts) and a subclass granular.GranularWMVFTS which is easier to use.

There is a small demonstration of this method on the following link:

A simple guide to use the above methods:

  1. Load the Pandas Dataframe of the multivariate dataset
  2. Create the individual variables with their partitionings
  3. Create the model informing the explanatory and target variables
  4. Fit the model with the training data
  5. Forecast

An example code can be found here: https://colab.research.google.com/drive/1bTaMcxLP0I_maqJdZukaYeaP8sqfoZA2

For this model there is a new forecasting type, the 'multivariate'. When you inform type='mulivariate' in the predict method the return will be a pandas dataframe with the forecasts of all variables, not only the target variable. This makes this method a MIMO (multiple input multiple output) instead of the usual MISO (multiple input single output) model of the others multivariate methods on pyFTS.

WARNING! If in the variables there is a deterministic one (for example date parts, etc) use generators!

The above method is under publishing, as soon as the paper become available I will share it here.

If you want to, you can include your model on pyFTS library!