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:
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 inTSCDataFrame
.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 orTSCPrincipalComponent
which are contained in datafold to generalize the processing to time series data.
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 theLaplacianPyramidsInterpolator
.
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 toTSCDataFrame
input. A fitted model defines a linear dynamical system which can be used to predict time series.
Functions#
Dynamic mode decomposition of time series data with control input to approximate the Koopman generator for an input affine system. |
Classes#
|
Abstract base class for variations of the Dynamic Mode Decomposition (DMD). |
|
Dynamic Mode Decomposition with control input. |
|
Standard dynamic mode decomposition. |
|
Define a diffusion process on point cloud to find meaningful geometric descriptions. |
|
Interpolation of function values on high dimensional data with manifold assumption. |
|
Laplacian pyramids interpolation of function values on data manifold using kernels with different scales. |
|
Automatic selection of functional independent geometric harmonic vectors for parsimonious data manifold embedding. |
|
Online dynamic mode decomposition on time-varying system data. |
|
A wrapper for dynamic mode decompositions models of Python package PyDMD. |
|
Define a diffusion process on a point cloud by using a landmark set to find meaningful geometric descriptions. |
|
Dynamic mode decomposition for streaming data. |
|
Transform data in an element-by-element fashion with lambda functions. |
|
A column transformer for time series data. |
|
Wrapper of a scikit-learn preprocess algorithms to allow time series collections as input and output. |
|
Compute time derivative with finite difference scheme. |
|
Transformer as a "passthrough" placeholder and/or attaching a constant feature. |
|
Compute polynomial features from data. |
|
Compute principal components from data. |
|
Represent data in coefficients of radial basis functions. |
This is a simple wrapper for sampled neural networks. |
|
|
Perform Takens time delay embedding on time series collection data. |
|
Full Dynamic Mode Decomposition of time series data to approximate the Koopman generator. |