autoGPoMoSearch: Automatic search of polynomial Equations

autoGPoMoSearchR Documentation

Automatic search of polynomial Equations

Description

This algorithm aims to get an ensemble of possible models which integrability will be tested later with function autoGPoMoTest. By default, all the terms are considered available (Some of the terms can be excluded intentionally using the option filterReg). The maximum size of the equation depends on the model dimension nVar, and on the maximum polynomial degree dMax. The algorithm removes polynomial terms one by one using a leave-one-out method.

Usage

autoGPoMoSearch(
  data,
  dt,
  nVar,
  dMax,
  dMin = 0,
  weight = NULL,
  show = 0,
  underSamp = NULL,
  filterReg = NULL
)

Arguments

data

Input Time series: Each column is one time series that corresponds to one variable.

dt

Time sampling of the input series.

nVar

Number of variables considered in the polynomial formulation.

dMax

Maximum degree of the polynomial formulation.

dMin

The minimum negative degree of the polynomial formulation (0 by default).

weight

A vector providing the binary weighting function of the input data series (0 or 1). By default, all the values are set to 1.

show

Provide (2) or not (0-1) visual output during the running process.

underSamp

Number of points used for undersampling the data. For undersamp = 1 the complete time series is used. For undersamp = 2, only one data out of two is kept, etc.

filterReg

A vector that specifies the template for the equation structure (for one single equation). The convention defined by poLabs is used. Value is 1 if the regressor is available, 0 if it is not.

Value

A list of two matrices:

$filtMemo describes the selected terms (1 if the term is used, 0 if not)

$KMemo provides the corresponding coefficients

Author(s)

Sylvain Mangiarotti, Flavie Le Jean

See Also

autoGPoMoTest, gPoMo, findAllSets, poLabs

Examples

# Load data
data('RosYco')
# Search for potential models
filt = autoGPoMoSearch(RosYco[,2], nVar = 3, dMax = 2,
                       dt = 1/125, show = 1)
# As an example, the equations of the fourth line has the following terms:
poLabs(nVar = 3, dMax = 2)[filt$filtMemo[5,] != 0]
# which coefficients correspond to
cbind(filt$KMemo[5,], poLabs(nVar = 3, dMax = 2))[filt$filtMemo[5,] != 0,]


GPoM documentation built on July 9, 2023, 6:23 p.m.