# pyFTS.models.seasonal package

## Submodules

## pyFTS.models.seasonal.SeasonalIndexer module

class `pyFTS.models.seasonal.SeasonalIndexer.``DataFrameSeasonalIndexer`(index_fields, index_seasons, data_field, **kwargs)

  Bases: `pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer`

  Use the Pandas.DataFrame index position to index the seasonality

  `get_data`(data)
  `get_data_by_season`(data, indexes)
  `get_index_by_season`(indexes)
  `get_season_by_index`(index)
  `get_season_of_data`(data)
  `set_data`(data, value)

class `pyFTS.models.seasonal.SeasonalIndexer.``DateTimeSeasonalIndexer`(date_field, index_fields, index_seasons, data_field, **kwargs)

  Bases: `pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer`

  Use a Pandas.DataFrame date field to index the seasonality

  `get_data`(data)
  `get_data_by_season`(data, indexes)
  `get_index`(data)
  `get_index_by_season`(indexes)
  `get_season_by_index`(index)
  `get_season_of_data`(data)
  `set_data`(data, value)

class `pyFTS.models.seasonal.SeasonalIndexer.``LinearSeasonalIndexer`(seasons, units, ignore=None, **kwargs)

  Bases: `pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer`

  Use the data array/list position to index the seasonality

  `get_data`(data)
  `get_index_by_season`(indexes)
  `get_season_by_index`(index)
  `get_season_of_data`(data)

class `pyFTS.models.seasonal.SeasonalIndexer.``SeasonalIndexer`(num_seasons, **kwargs)

  Bases: `object`

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

  `get_data`(data)
  `get_data_by_season`(data, indexes)
  `get_index`(data)
  `get_index_by_season`(indexes)
  `get_season_by_index`(inde)
  `get_season_of_data`(data)

## pyFTS.models.seasonal.cmsfts module

class `pyFTS.models.seasonal.cmsfts.``ContextualMultiSeasonalFTS`(**kwargs)

  Bases: `pyFTS.models.seasonal.sfts.SeasonalFTS`

  Contextual Multi-Seasonal Fuzzy Time Series

  `forecast`(data, **kwargs)

    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)

    Point forecast from 1 to H steps ahead, where H is given by the steps parameter

    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)
  `get_midpoints`(flrg, data)
  `train`(data, **kwargs)

    Method specific parameter fitting

    Parameters

      - data – training time series data

      - kwargs – Method specific parameters

class `pyFTS.models.seasonal.cmsfts.``ContextualSeasonalFLRG`(seasonality)

  Bases: `pyFTS.models.seasonal.sfts.SeasonalFLRG`

  Contextual Seasonal Fuzzy Logical Relationship Group

  `append_rhs`(flr, **kwargs)

## pyFTS.models.seasonal.common module

class `pyFTS.models.seasonal.common.``DateTime`(value)

  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)

  Bases: `pyFTS.common.FuzzySet.FuzzySet`

  Temporal/Seasonal Fuzzy Set

  `transform`(x)

    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='')

## pyFTS.models.seasonal.msfts module

class `pyFTS.models.seasonal.msfts.``MultiSeasonalFTS`(name, indexer, **kwargs)

  Bases: `pyFTS.models.seasonal.sfts.SeasonalFTS`

  Multi-Seasonal Fuzzy Time Series

  `forecast`(data, **kwargs)

    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)

    Point forecast from 1 to H steps ahead, where H is given by the steps parameter

    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)
  `train`(data, **kwargs)

    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)

  Bases: `pyFTS.partitioners.partitioner.Partitioner`

  Even Length DateTime Grid Partitioner

  `build`(data)

    Perform the partitioning of the Universe of Discourse

    Parameters

      data – training data

    Returns

  `build_index`()
  `extractor`(x)

    Extract a single primitive type from an structured instance

  `mask`

    A string with datetime formating mask

  `plot`(ax)

    Plot the :param ax: :return:

  `search`(data, **kwargs)

    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)

17. 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)

  Bases: `pyFTS.common.flrg.FLRG`

  First Order Seasonal Fuzzy Logical Relationship Group

  `append_rhs`(c, **kwargs)
  `get_key`()

    Returns a unique identifier for this FLRG

class `pyFTS.models.seasonal.sfts.``SeasonalFTS`(**kwargs)

  Bases: `pyFTS.common.fts.FTS`

  First Order Seasonal Fuzzy Time Series

  `forecast`(data, **kwargs)

    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)
  `get_midpoints`(flrg)
  `train`(data, **kwargs)

    Method specific parameter fitting

    Parameters

      - data – training time series data

      - kwargs – Method specific parameters

## Module contents