pyFTS.models.multivariate package¶
Module contents¶
Multivariate Fuzzy Time Series methods
Submodules¶
pyFTS.models.multivariate.FLR module¶
pyFTS.models.multivariate.common module¶
-
class
pyFTS.models.multivariate.common.
MultivariateFuzzySet
(**kwargs)¶ Bases:
pyFTS.common.Composite.FuzzySet
Multivariate Composite Fuzzy Set
-
append_set
(variable, set)¶ Appends a new fuzzy set from a new variable
Parameters: - variable – an multivariate.variable instance
- set – an common.FuzzySet instance
-
membership
(x)¶ Calculate the membership value of a given input
Parameters: x – input value Returns: membership value of x at this fuzzy set
-
set_target_variable
(variable)¶
-
-
pyFTS.models.multivariate.common.
fuzzyfy_instance
(data_point, var, tuples=True)¶
-
pyFTS.models.multivariate.common.
fuzzyfy_instance_clustered
(data_point, cluster, **kwargs)¶
pyFTS.models.multivariate.variable module¶
-
class
pyFTS.models.multivariate.variable.
Variable
(name, **kwargs)¶ Bases:
object
A variable of a fuzzy time series multivariate model. Each variable contains its own transformations and partitioners.
-
apply_inverse_transformations
(data, **kwargs)¶
-
apply_transformations
(data, **kwargs)¶
-
build
(**kwargs)¶ Parameters: kwargs – Returns:
-
pyFTS.models.multivariate.flrg module¶
-
class
pyFTS.models.multivariate.flrg.
FLRG
(**kwargs)¶ Bases:
pyFTS.common.flrg.FLRG
Multivariate Fuzzy Logical Rule Group
-
append_rhs
(fset, **kwargs)¶
-
get_lower
(sets)¶ Returns the lower bound value for the RHS fuzzy sets
Parameters: sets – fuzzy sets Returns: lower bound value
-
get_membership
(data, variables)¶ Returns the membership value of the FLRG for the input data
Parameters: - data – input data
- sets – fuzzy sets
Returns: the membership value
-
get_upper
(sets)¶ Returns the upper bound value for the RHS fuzzy sets
Parameters: sets – fuzzy sets Returns: upper bound value
-
set_lhs
(var, fset)¶
-
pyFTS.models.multivariate.partitioner module¶
-
class
pyFTS.models.multivariate.partitioner.
MultivariatePartitioner
(**kwargs)¶ Bases:
pyFTS.partitioners.partitioner.Partitioner
Base class for partitioners which use the MultivariateFuzzySet
-
append
(fset)¶
-
build
(data)¶ Perform the partitioning of the Universe of Discourse
Parameters: data – training data Returns:
-
build_index
()¶
-
change_target_variable
(variable)¶
-
format_data
(data)¶
-
fuzzyfy
(data, **kwargs)¶ Fuzzyfy the input data according to this partitioner fuzzy sets.
Parameters: - data – input value to be fuzzyfied
- alpha_cut – the minimal membership value to be considered on fuzzyfication (only for mode=’sets’)
- method – the fuzzyfication method (fuzzy: all fuzzy memberships, maximum: only the maximum membership)
- mode – the fuzzyfication mode (sets: return the fuzzy sets names, vector: return a vector with the membership
values for all fuzzy sets, both: return a list with tuples (fuzzy set, membership value) )
:returns a list with the fuzzyfied values, depending on the mode
-
prune
()¶
-
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.
Returns: a list with the nearest fuzzy sets
-
pyFTS.models.multivariate.grid module¶
-
class
pyFTS.models.multivariate.grid.
GridCluster
(**kwargs)¶ Bases:
pyFTS.models.multivariate.partitioner.MultivariatePartitioner
A cartesian product of all fuzzy sets of all variables
-
build
(data)¶ Perform the partitioning of the Universe of Discourse
Parameters: data – training data Returns:
-
defuzzyfy
(values, mode='both')¶
-
-
class
pyFTS.models.multivariate.grid.
IncrementalGridCluster
(**kwargs)¶ Bases:
pyFTS.models.multivariate.partitioner.MultivariatePartitioner
Create combinations of fuzzy sets of the variables on demand, incrementally increasing the multivariate fuzzy set base.
-
fuzzyfy
(data, **kwargs)¶ Fuzzyfy the input data according to this partitioner fuzzy sets.
Parameters: - data – input value to be fuzzyfied
- alpha_cut – the minimal membership value to be considered on fuzzyfication (only for mode=’sets’)
- method – the fuzzyfication method (fuzzy: all fuzzy memberships, maximum: only the maximum membership)
- mode – the fuzzyfication mode (sets: return the fuzzy sets names, vector: return a vector with the membership
values for all fuzzy sets, both: return a list with tuples (fuzzy set, membership value) )
:returns a list with the fuzzyfied values, depending on the mode
-
incremental_search
(data, **kwargs)¶
-
prune
()¶
-
pyFTS.models.multivariate.mvfts module¶
-
class
pyFTS.models.multivariate.mvfts.
MVFTS
(**kwargs)¶ Bases:
pyFTS.common.fts.FTS
Multivariate extension of Chen’s ConventionalFTS method
-
append_variable
(var)¶ Append a new endogenous variable to the model
Parameters: var – variable object Returns:
-
apply_transformations
(data, params=None, updateUoD=False, **kwargs)¶ Apply the data transformations for data preprocessing
Parameters: - data – input data
- params – transformation parameters
- updateUoD –
- kwargs –
Returns: preprocessed data
-
clone_parameters
(model)¶ Import the parameters values from other model
Parameters: model – a model to clone the parameters
-
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 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
-
forecast_ahead_interval
(data, steps, **kwargs)¶ Interval 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
- start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
Returns: a list with the forecasted intervals
-
forecast_interval
(data, **kwargs)¶ Interval 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 prediction intervals
-
format_data
(data)¶
-
generate_flrg
(flrs)¶
-
generate_flrs
(data)¶
-
generate_lhs_flrs
(data)¶
-
train
(data, **kwargs)¶ Method specific parameter fitting
Parameters: - data – training time series data
- kwargs – Method specific parameters
-
-
pyFTS.models.multivariate.mvfts.
product_dict
(**kwargs)¶ Code by Seth Johnson :param kwargs: :return:
pyFTS.models.multivariate.wmvfts module¶
-
class
pyFTS.models.multivariate.wmvfts.
WeightedFLRG
(**kwargs)¶ Bases:
pyFTS.models.multivariate.flrg.FLRG
Weighted Multivariate Fuzzy Logical Rule Group
-
append_rhs
(fset, **kwargs)¶
-
get_lower
(sets)¶ Returns the lower bound value for the RHS fuzzy sets
Parameters: sets – fuzzy sets Returns: lower bound value
-
get_midpoint
(sets)¶ Returns the midpoint value for the RHS fuzzy sets
Parameters: sets – fuzzy sets Returns: the midpoint value
-
get_upper
(sets)¶ Returns the upper bound value for the RHS fuzzy sets
Parameters: sets – fuzzy sets Returns: upper bound value
-
weights
()¶
-
-
class
pyFTS.models.multivariate.wmvfts.
WeightedMVFTS
(**kwargs)¶ Bases:
pyFTS.models.multivariate.mvfts.MVFTS
Weighted Multivariate FTS
-
generate_flrg
(flrs)¶
-
pyFTS.models.multivariate.cmvfts module¶
-
class
pyFTS.models.multivariate.cmvfts.
ClusteredMVFTS
(**kwargs)¶ Bases:
pyFTS.models.multivariate.mvfts.MVFTS
Meta model for high order, clustered multivariate FTS
-
check_data
(data)¶
-
forecast
(ndata, **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_distribution
(data, steps, **kwargs)¶ Probabilistic 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
- start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
Returns: a list with the forecasted Probability Distributions
-
forecast_ahead_multivariate
(data, steps, **kwargs)¶ Multivariate forecast n step ahead
Parameters: - data – Pandas dataframe with one column for each variable and with the minimal length equal to the max_lag of the model
- steps – the number of steps ahead to forecast
- start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
Returns: a Pandas Dataframe object representing the forecasted values for each variable
-
forecast_distribution
(data, **kwargs)¶ Probabilistic 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 probabilistic.ProbabilityDistribution objects representing the forecasted Probability Distributions
-
forecast_interval
(data, **kwargs)¶ Interval 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 prediction intervals
-
forecast_multivariate
(data, **kwargs)¶ Multivariate forecast one step ahead
Parameters: - data – Pandas dataframe with one column for each variable and with the minimal length equal to the max_lag of the model
- kwargs – model specific parameters
Returns: a Pandas Dataframe object representing the forecasted values for each variable
-
fuzzyfy
(data)¶
-
train
(data, **kwargs)¶ Method specific parameter fitting
Parameters: - data – training time series data
- kwargs – Method specific parameters
-
pyFTS.models.multivariate.granular module¶
-
class
pyFTS.models.multivariate.granular.
GranularWMVFTS
(**kwargs)¶ Bases:
pyFTS.models.multivariate.cmvfts.ClusteredMVFTS
Granular multivariate weighted high order FTS
-
train
(data, **kwargs)¶ Method specific parameter fitting
Parameters: - data – training time series data
- kwargs – Method specific parameters
-