# 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.

  `alias`

    A string with the alias of the variable

  `alpha_cut`

    Minimal membership value to be considered on fuzzyfication process

  `apply_inverse_transformations`(data, **kwargs)
  `apply_transformations`(data, **kwargs)
  `build`(**kwargs)
    Parameters

      kwargs –

    Returns

  `data_label`

    A string with the column name on DataFrame

  `data_type`

    The type of the data column on Pandas Dataframe

  `mask`

    The mask for format the data column on Pandas Dataframe

  `name`

    A string with the name of the variable

  `partitioner`

    UoD partitioner for the variable data

  `transformation`

    Pre processing transformation for the variable

## 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_transformation`(transformation, **kwargs)
  `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 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

  `forecast_ahead_interval`(data, steps, **kwargs)

    Interval 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

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

    Probabilistic 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

      - 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

  `fts_method`

    The FTS method to be called when a new model is build

  `fts_params`

    The FTS method specific parameters

  `fuzzyfy`(data)
  `model`

    The most recent trained model

  `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

  `model`

    The most recent trained model

  `train`(data, **kwargs)

    Method specific parameter fitting

    Parameters

      - data – training time series data

      - kwargs – Method specific parameters