# Basis Generators

DataDrivenDiffEq.monomial_basisFunction

monomial_basis(x, c)

Constructs an array containing monomial basis in the variables x up to degree c of the form [x₁, x₁^2, ... , x₁^c, x₂, x₂^2, ...].

source
DataDrivenDiffEq.polynomial_basisFunction

polynomial_basis(x, c)

Constructs an array containing a polynomial basis in the variables x up to degree c of the form [x₁, x₂, x₃, ..., x₁^1 * x₂^(c-1)]. Mixed terms are included.

source
DataDrivenDiffEq.chebyshev_basisFunction

chebyshev_basis(x, c)

Constructs an array containing a Chebyshev basis in the variables x with coefficients c. If c is an Int returns all coefficients from 1 to c.

source
DataDrivenDiffEq.sin_basisFunction

sin_basis(x, c)

Constructs an array containing a Sine basis in the variables x with coefficients c. If c is an Int returns all coefficients from 1 to c.

source
DataDrivenDiffEq.cos_basisFunction

cos_basis(x, c)

Constructs an array containing a Cosine basis in the variables x with coefficients c. If c is an Int returns all coefficients from 1 to c.

source
DataDrivenDiffEq.fourier_basisFunction

fourier_basis(x, c)

Constructs an array containing a Fourier basis in the variables x with (integer) coefficients c. If c is an Int returns all coefficients from 1 to c.

source

# Utility Functions

DataDrivenDiffEq.AICFunction
AIC(k, X, Y; likelihood = (X, Y) = sum(abs2, X-Y))

Computes the Akaike Information Criterion (AIC) given the free parameters k for the data X and its estimate Y of the model. likelihood can be any function of X and Y.

source
DataDrivenDiffEq.AICCFunction
AICC(k, X, Y; likelihood = (X, Y) = sum(abs2, X-Y))

Computes the Akaike Information Criterion compensated for finite samples (AICC) given the free parameters k for the data X and its estimate Y of the model. likelihood can be any function of X and Y.

source
DataDrivenDiffEq.BICFunction
BIC(k, X, Y; likelihood = (X, Y) = sum(abs2, X-Y))

Computes Bayes Information Criterion (BIC) given the free parameters k for the data X and its estimate Y of the model. likelihood can be any function of X and Y.

source
DataDrivenDiffEq.savitzky_golayFunction
savitzky_golay(X, windowSize, polyOrder; deriv, dt, crop)

Estimate the time derivative via the savitzky_golay filter. X is the data matrix containing the trajectories, which is interpolated via polynomials of order polyOrder over windowSize points repeatedly. deriv defines the order of the derivative, dt the time step size. crop indicates if the original data should be returned cropped along the derivative approximation.

source
DataDrivenDiffEq.burst_samplingFunction
burst_sampling(X, samplesize, n)

Randomly selects n bursts of data with size samplesize from the data X.

source
burst_sampling(X, Y, samplesize, n)

Randomly selects n bursts of data with size samplesize from the data X and Y.

source
burst_sampling(X, t, period, n)

Randomly selects n bursts of data within a time window period from the data X. The time information has to be provided in t.

source
DataDrivenDiffEq.subsampleFunction
subsample(X, n)

Returns the subsampled X with only every n-th entry.

source
subsample(X, t, dt)

Returns the subsampled X with a a minimum period of dt between two data points. t provides the time information.

source