pyFTS.models.seasonal package

Submodules

pyFTS.models.seasonal.SeasonalIndexer module

class pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer(index_fields, index_seasons, data_field, **kwargs)[source]

Bases: pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer

Use the Pandas.DataFrame index position to index the seasonality

get_data(data)[source]
get_data_by_season(data, indexes)[source]
get_index_by_season(indexes)[source]
get_season_by_index(index)[source]
get_season_of_data(data)[source]
set_data(data, value)[source]
class pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer(date_field, index_fields, index_seasons, data_field, **kwargs)[source]

Bases: pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer

Use a Pandas.DataFrame date field to index the seasonality

get_data(data)[source]
get_data_by_season(data, indexes)[source]
get_index(data)[source]
get_index_by_season(indexes)[source]
get_season_by_index(index)[source]
get_season_of_data(data)[source]
set_data(data, value)[source]
class pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer(seasons, units, ignore=None, **kwargs)[source]

Bases: pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer

Use the data array/list position to index the seasonality

get_data(data)[source]
get_index_by_season(indexes)[source]
get_season_by_index(index)[source]
get_season_of_data(data)[source]
class pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer(num_seasons, **kwargs)[source]

Bases: object

Seasonal Indexer. Responsible to find the seasonal index of a data point inside its data set

get_data(data)[source]
get_data_by_season(data, indexes)[source]
get_index(data)[source]
get_index_by_season(indexes)[source]
get_season_by_index(inde)[source]
get_season_of_data(data)[source]

pyFTS.models.seasonal.cmsfts module

class pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS(**kwargs)[source]

Bases: pyFTS.models.seasonal.sfts.SeasonalFTS

Contextual Multi-Seasonal Fuzzy Time Series

forecast(data, **kwargs)[source]

Point forecast one step ahead

Parameters
  • data – time series data with the minimal length equal to the max_lag of the model

  • kwargs – model specific parameters

Returns

a list with the forecasted values

forecast_ahead(data, steps, **kwargs)[source]

Point forecast n steps ahead

Parameters
  • data – time series data with the minimal length equal to the max_lag of the model

  • steps – the number of steps ahead to forecast (default: 1)

  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)

Returns

a list with the forecasted values

generate_flrg(flrs)[source]
get_midpoints(flrg, data)[source]
train(data, **kwargs)[source]

Method specific parameter fitting

Parameters
  • data – training time series data

  • kwargs – Method specific parameters

class pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG(seasonality)[source]

Bases: pyFTS.models.seasonal.sfts.SeasonalFLRG

Contextual Seasonal Fuzzy Logical Relationship Group

append_rhs(flr, **kwargs)[source]

pyFTS.models.seasonal.common module

class pyFTS.models.seasonal.common.DateTime(value)[source]

Bases: enum.Enum

Data and Time granularity for time granularity and seasonality identification

day_of_month = 30
day_of_week = 7
day_of_year = 364
half = 2
hour = 24
hour_of_day = 24
hour_of_month = 744
hour_of_week = 168
hour_of_year = 8736
minute = 60
minute_of_day = 1440
minute_of_hour = 60
minute_of_month = 44640
minute_of_week = 10080
minute_of_year = 524160
month = 12
quarter = 4
second = 60
second_of_day = 86400
second_of_hour = 3600
second_of_minute = 60.00001
sixth = 6
third = 3
year = 1
class pyFTS.models.seasonal.common.FuzzySet(datepart, name, mf, parameters, centroid, alpha=1.0, **kwargs)[source]

Bases: pyFTS.common.FuzzySet.FuzzySet

Temporal/Seasonal Fuzzy Set

transform(x)[source]

Preprocess the data point for non native types

Parameters

x

Returns

return a native type value for the structured type

pyFTS.models.seasonal.common.strip_datepart(date, date_part, mask='')[source]

pyFTS.models.seasonal.msfts module

class pyFTS.models.seasonal.msfts.MultiSeasonalFTS(name, indexer, **kwargs)[source]

Bases: pyFTS.models.seasonal.sfts.SeasonalFTS

Multi-Seasonal Fuzzy Time Series

forecast(data, **kwargs)[source]

Point forecast one step ahead

Parameters
  • data – time series data with the minimal length equal to the max_lag of the model

  • kwargs – model specific parameters

Returns

a list with the forecasted values

forecast_ahead(data, steps, **kwargs)[source]

Point forecast n steps ahead

Parameters
  • data – time series data with the minimal length equal to the max_lag of the model

  • steps – the number of steps ahead to forecast (default: 1)

  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)

Returns

a list with the forecasted values

generate_flrg(flrs)[source]
train(data, **kwargs)[source]

Method specific parameter fitting

Parameters
  • data – training time series data

  • kwargs – Method specific parameters

pyFTS.models.seasonal.partitioner module

class pyFTS.models.seasonal.partitioner.TimeGridPartitioner(**kwargs)[source]

Bases: pyFTS.partitioners.partitioner.Partitioner

Even Length DateTime Grid Partitioner

build(data)[source]

Perform the partitioning of the Universe of Discourse

Parameters

data – training data

Returns

build_index()[source]
extractor(x)[source]

Extract a single primitive type from an structured instance

mask

A string with datetime formating mask

plot(ax)[source]

Plot the :param ax: :return:

search(data, **kwargs)[source]

Perform a search for the nearest fuzzy sets of the point ‘data’. This function were designed to work with several overlapped fuzzy sets.

Parameters
  • data – the value to search for the nearest fuzzy sets

  • type – the return type: ‘index’ for the fuzzy set indexes or ‘name’ for fuzzy set names.

  • results – the number of nearest fuzzy sets to return

Returns

a list with the nearest fuzzy sets

season

Seasonality, a pyFTS.models.seasonal.common.DateTime object

pyFTS.models.seasonal.sfts module

Simple First Order Seasonal Fuzzy Time Series implementation of Song (1999) based of Conventional FTS by Chen (1996)

  1. Song, “Seasonal forecasting in fuzzy time series,” Fuzzy sets Syst., vol. 107, pp. 235–236, 1999.

S.-M. Chen, “Forecasting enrollments based on fuzzy time series,” Fuzzy Sets Syst., vol. 81, no. 3, pp. 311–319, 1996.

class pyFTS.models.seasonal.sfts.SeasonalFLRG(seasonality)[source]

Bases: pyFTS.common.flrg.FLRG

First Order Seasonal Fuzzy Logical Relationship Group

append_rhs(c, **kwargs)[source]
get_key()[source]

Returns a unique identifier for this FLRG

class pyFTS.models.seasonal.sfts.SeasonalFTS(**kwargs)[source]

Bases: pyFTS.common.fts.FTS

First Order Seasonal Fuzzy Time Series

forecast(data, **kwargs)[source]

Point forecast one step ahead

Parameters
  • data – time series data with the minimal length equal to the max_lag of the model

  • kwargs – model specific parameters

Returns

a list with the forecasted values

generate_flrg(flrs)[source]
get_midpoints(flrg)[source]
train(data, **kwargs)[source]

Method specific parameter fitting

Parameters
  • data – training time series data

  • kwargs – Method specific parameters

Module contents