You are on page 1of 17

A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

1 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...


𝔼

𝕀 𝕀

σ α∈

2 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

∈ σ σ α

α 𝕀 α 𝟙 α 𝟙

𝕀 α
𝟙

∀ ∈

α
α α
𝔼 ∀ ∈

3 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

if model.has_interval_forecasting:
forecasts = model.predict(data, type=’interval’)

4 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

from pyFTS.models.ensemble import ensemble

part = Grid.GridPartitioner(data=train, npart=11)

model = ensemble.AllMethodEnsembleFTS(partitioner=part)

forecasts = model.predict(test, type='interval',


mode='extremum')

forecasts2 = model.predict(test, type='interval',


mode='quantile', alpha=.1)

forecasts1 = model.predict(test, type='interval',


method='heuristic')

forecasts2 = model.predict(test, type='interval',


method='quantile', alpha=.05)

5 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

6 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

if model.has_probabilistic_forecasting:
distributions = model.predict(test,
type='distribution')

7 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

8 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

9 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

from pyFTS.data import NASDAQ

10 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

from pyFTS.models import chen


from pyFTS.partitioners import Grid
from pyFTS.common import Transformations

diff = Transformations.Differential(1)

train = data[:2000]
test = data[2000:]

part = Grid.GridPartitioner(data=train, npart=15,


transformation=diff)

model = chen.ConventionalFTS(partitioner=part)
model.append_transformation(diff)
model.fit(train)

forecasts = model.predict(test)

11 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

12 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

from pyFTS.models.incremental import TimeVariant

model = TimeVariant.Retrainer(
partitioner_method=Grid.GridPartitioner,
partitioner_params={'npart': 35},
fts_method=hofts.WeightedHighOrderFTS,
fts_params={},
order=2 ,
batch_size=50,
window_length=200)

from pyFTS.models.incremental import IncrementalEnsemble

model = IncrementalEnsemble.IncrementalEnsembleFTS(
partitioner_method=Grid.GridPartitioner,

13 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

partitioner_params={'npart': 35},
fts_method=hofts.WeightedHighOrderFTS,
fts_params={},
order=2 ,
batch_size=50,
window_length=200,
num_models=3)

from pyFTS.models.nonstationary import partitioners as


nspart
from pyFTS.models.nonstationary import nsfts

part = nspart.simplenonstationary_gridpartitioner_builder(
data=train,
npart=35, transformation=None)

model3 = nsfts.NonStationaryFTS(partitioner=part)

14 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

from pyFTS.data import artificial

signal = artificial.SignalEmulator()\
.stationary_gaussian(mu=2.5,sigma=.1,length=100,it=10)\
.incremental_gaussian(mu=0.02,sigma=0.01,length=500,start=
500)\
.run()

15 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

16 of 17 7/5/2021, 2:35 PM
A short tutorial on Fuzzy Time Series — Part III | by Petrônio... https://towardsdatascience.com/a-short-tutorial-on-fuzzy-time...

17 of 17 7/5/2021, 2:35 PM

You might also like