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
- 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
- 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
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
- benchmark_only: bool¶
A boolean value indicating a façade for external (non-FTS) model used on benchmarks or ensembles.
- 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 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
- has_interval_forecasting: bool¶
A boolean value indicating if the model supports interval forecasting, default: False
- has_point_forecasting: bool¶
A boolean value indicating if the model supports point forecasting, default: True
- has_probability_forecasting: bool¶
A boolean value indicating if the model support probabilistic forecasting, default: False
- has_seasonality: bool¶
A boolean value indicating if the model supports seasonal indexers, default: False
- is_clustered: bool¶
A boolean value indicating if the model support multivariate time series (Pandas DataFrame), but works like a monovariate method, default: False
- is_high_order: bool¶
A boolean value indicating if the model support orders greater than 1, default: False
- is_multivariate: bool¶
A boolean value indicating if the model support multivariate time series (Pandas DataFrame), default: False
- log: pd.DataFrame¶
- max_lag: int¶
A integer indicating the largest lag used by the model. This value also indicates the minimum number of past lags needed to forecast a single step ahead
- min_order: int¶
In high order models, this integer value indicates the minimal order supported for the model, default: 1
- original_max: float¶
A float with the upper limit of the Universe of Discourse, the maximal value found on training data
- original_min: float¶
A float with the lower limit of the Universe of Discourse, the minimal value found on training data
- partitioner: partitioner.Partitioner¶
A pyFTS.partitioners.Partitioner object with the Universe of Discourse partitioner used on the model. This is a mandatory dependecy.
- train(data, **kwargs)[source]¶
Method specific parameter fitting
- Parameters
data – training time series data
kwargs – Method specific parameters
- transformations: list[transformation.Transformation]¶
A list with the data transformations (common.Transformations) applied on model pre and post processing, default: []
- class pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG(seasonality)[source]¶
Bases:
pyFTS.models.seasonal.sfts.SeasonalFLRG
Contextual Seasonal Fuzzy Logical Relationship Group
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
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
- benchmark_only: bool¶
A boolean value indicating a façade for external (non-FTS) model used on benchmarks or ensembles.
- 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 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
- has_interval_forecasting: bool¶
A boolean value indicating if the model supports interval forecasting, default: False
- has_point_forecasting: bool¶
A boolean value indicating if the model supports point forecasting, default: True
- has_probability_forecasting: bool¶
A boolean value indicating if the model support probabilistic forecasting, default: False
- has_seasonality: bool¶
A boolean value indicating if the model supports seasonal indexers, default: False
- is_clustered: bool¶
A boolean value indicating if the model support multivariate time series (Pandas DataFrame), but works like a monovariate method, default: False
- is_high_order: bool¶
A boolean value indicating if the model support orders greater than 1, default: False
- is_multivariate: bool¶
A boolean value indicating if the model support multivariate time series (Pandas DataFrame), default: False
- log: pd.DataFrame¶
- max_lag: int¶
A integer indicating the largest lag used by the model. This value also indicates the minimum number of past lags needed to forecast a single step ahead
- min_order: int¶
In high order models, this integer value indicates the minimal order supported for the model, default: 1
- original_max: float¶
A float with the upper limit of the Universe of Discourse, the maximal value found on training data
- original_min: float¶
A float with the lower limit of the Universe of Discourse, the minimal value found on training data
- partitioner: partitioner.Partitioner¶
A pyFTS.partitioners.Partitioner object with the Universe of Discourse partitioner used on the model. This is a mandatory dependecy.
- train(data, **kwargs)[source]¶
Method specific parameter fitting
- Parameters
data – training time series data
kwargs – Method specific parameters
- transformations: list[transformation.Transformation]¶
A list with the data transformations (common.Transformations) applied on model pre and post processing, default: []
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
- mask¶
A string with datetime formating mask
- 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)
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
- class pyFTS.models.seasonal.sfts.SeasonalFTS(**kwargs)[source]¶
Bases:
pyFTS.common.fts.FTS
First Order Seasonal Fuzzy Time Series
- benchmark_only: bool¶
A boolean value indicating a façade for external (non-FTS) model used on benchmarks or ensembles.
- 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
- has_interval_forecasting: bool¶
A boolean value indicating if the model supports interval forecasting, default: False
- has_point_forecasting: bool¶
A boolean value indicating if the model supports point forecasting, default: True
- has_probability_forecasting: bool¶
A boolean value indicating if the model support probabilistic forecasting, default: False
- has_seasonality: bool¶
A boolean value indicating if the model supports seasonal indexers, default: False
- is_clustered: bool¶
A boolean value indicating if the model support multivariate time series (Pandas DataFrame), but works like a monovariate method, default: False
- is_high_order: bool¶
A boolean value indicating if the model support orders greater than 1, default: False
- is_multivariate: bool¶
A boolean value indicating if the model support multivariate time series (Pandas DataFrame), default: False
- log: pd.DataFrame¶
- max_lag: int¶
A integer indicating the largest lag used by the model. This value also indicates the minimum number of past lags needed to forecast a single step ahead
- min_order: int¶
In high order models, this integer value indicates the minimal order supported for the model, default: 1
- original_max: float¶
A float with the upper limit of the Universe of Discourse, the maximal value found on training data
- original_min: float¶
A float with the lower limit of the Universe of Discourse, the minimal value found on training data
- partitioner: partitioner.Partitioner¶
A pyFTS.partitioners.Partitioner object with the Universe of Discourse partitioner used on the model. This is a mandatory dependecy.
- train(data, **kwargs)[source]¶
Method specific parameter fitting
- Parameters
data – training time series data
kwargs – Method specific parameters
- transformations: list[transformation.Transformation]¶
A list with the data transformations (common.Transformations) applied on model pre and post processing, default: []