datafold.dynfold Package#

The second layer package in datafold consists of data-driven models dealing directly with the point cloud manifold or the dynamics of time series data.

The models implemented at this layer can be used in meta-models in the datafold.appfold layer, but can also be used on their own for analysis tasks. There are three types of models in this layer:

  1. Models subclassing TSCTransformMixin: Broadly speaking these models transform data into another representation. However, the complexity of and reason for a data transformation can be quite different. The TSC prefix in the mix-in indicates that the model can also handle time series data in TSCDataFrame.

    • One type of data transformation is to compute a new coordinate basis of either point cloud or time series data. In this category is the DiffusionMaps model, which can be used for manifold learning to non-linearly reduce the dimension of a dataset or to approximate the eigenfunctions of the Laplace-Beltrami operator (among others).

    • Another type of model transforms a collection of time series. Examples include time delay embedding TSCTakensEmbedding, scikit-learn wrappers for feature scaling or TSCPrincipalComponent which are contained in datafold to generalize the processing to time series data.

  2. Models subclassing sklearn.base.RegressorMixin: These models interpolate/regress general function values on manifolds. An important scenario to use the methods is to provide a mapping (image and pre-image) for non-linear manifold learning methods. An example model is the LaplacianPyramidsInterpolator.

  1. Models subclassing TSCPredictMixin: On this level this type of model are mainly variants of the Dynamic Mode Decomposition algorithm (DMDBase). These models fit time series data, meaning the input is restricted to TSCDataFrame input. A fitted model defines a linear dynamical system which can be used to predict time series.

Functions#

gDMDAffine

Dynamic mode decomposition of time series data with control input to approximate the Koopman generator for an input affine system.

Classes#

DMDBase(sys_type, sys_mode[, is_controlled, ...])

Abstract base class for variations of the Dynamic Mode Decomposition (DMD).

DMDControl(*[, sys_mode, rcond])

Dynamic Mode Decomposition with control input.

DMDStandard(*[, sys_mode, rank, ...])

Standard dynamic mode decomposition.

DiffusionMaps([kernel, n_eigenpairs, ...])

Define a diffusion process on point cloud to find meaningful geometric descriptions.

GeometricHarmonicsInterpolator([kernel, ...])

Interpolation of function values on high dimensional data with manifold assumption.

LaplacianPyramidsInterpolator(*[, ...])

Laplacian pyramids interpolation of function values on data manifold using kernels with different scales.

LocalRegressionSelection(*[, eps_med_scale, ...])

Automatic selection of functional independent geometric harmonic vectors for parsimonious data manifold embedding.

OnlineDMD([weighting, is_diagonalize, ...])

Online dynamic mode decomposition on time-varying system data.

PyDMDWrapper(method, *[, svd_rank, ...])

A wrapper for dynamic mode decompositions models of Python package PyDMD.

Roseland([kernel, n_svdtriplet, ...])

Define a diffusion process on a point cloud by using a landmark set to find meaningful geometric descriptions.

StreamingDMD([max_rank, ngram, incr_basis_tol])

Dynamic mode decomposition for streaming data.

TSCApplyLambdas(lambdas)

Transform data in an element-by-element fashion with lambda functions.

TSCColumnTransformer(transformers, *[, ...])

A column transformer for time series data.

TSCFeaturePreprocess(sklearn_transformer)

Wrapper of a scikit-learn preprocess algorithms to allow time series collections as input and output.

TSCFiniteDifference(*[, spacing, scheme, ...])

Compute time derivative with finite difference scheme.

TSCIdentity(*[, include_const, rename_features])

Transformer as a "passthrough" placeholder and/or attaching a constant feature.

TSCPolynomialFeatures([degree, ...])

Compute polynomial features from data.

TSCPrincipalComponent([n_components, copy, ...])

Compute principal components from data.

TSCRadialBasis(kernel, *[, center_type, ...])

Represent data in coefficients of radial basis functions.

TSCSampledNetwork(nn)

This is a simple wrapper for sampled neural networks.

TSCTakensEmbedding([delays, lag, frequency, ...])

Perform Takens time delay embedding on time series collection data.

gDMDFull(*[, sys_mode, is_diagonalize, ...])

Full Dynamic Mode Decomposition of time series data to approximate the Koopman generator.

Class Inheritance Diagram#

Inheritance diagram of datafold.dynfold.dmd.DMDBase, datafold.dynfold.dmd.DMDControl, datafold.dynfold.dmd.DMDStandard, datafold.dynfold.dmap.DiffusionMaps, datafold.dynfold.outofsample.GeometricHarmonicsInterpolator, datafold.dynfold.outofsample.LaplacianPyramidsInterpolator, datafold.dynfold.dmap.LocalRegressionSelection, datafold.dynfold.dmd.OnlineDMD, datafold.dynfold.dmd.PyDMDWrapper, datafold.dynfold.dmap.Roseland, datafold.dynfold.dmd.StreamingDMD, datafold.dynfold.transform.TSCApplyLambdas, datafold.dynfold.compose.TSCColumnTransformer, datafold.dynfold.transform.TSCFeaturePreprocess, datafold.dynfold.transform.TSCFiniteDifference, datafold.dynfold.transform.TSCIdentity, datafold.dynfold.transform.TSCPolynomialFeatures, datafold.dynfold.transform.TSCPrincipalComponent, datafold.dynfold.transform.TSCRadialBasis, datafold.dynfold.transform.TSCSampledNetwork, datafold.dynfold.transform.TSCTakensEmbedding, datafold.dynfold.dmd.gDMDFull