pyFTS.models.multivariate package

Module contents

Multivariate Fuzzy Time Series methods

Submodules

pyFTS.models.multivariate.FLR module

class pyFTS.models.multivariate.FLR.FLR

Bases: object

Multivariate Fuzzy Logical Relationship

set_lhs(var, set)
set_rhs(set)

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

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