This project provides a MATLAB implementation of nonlinear Laplacian spectral analysis (NLSA) and related kernel algorithms for feature extraction and prediction of observables of dynamical systems.
- Clone down the project repository:
git clone https://github.com/dg227/NLSA
- Launch MATLAB,
cdinto the project's directory, and add
/nlsato the MATLAB search path. This can be done by executing the MATLAB command:
- Rectification of variable-speed periodic oscillator using Koopman eigenfunctions:
- Extraction of an approximately cyclical observable of the Lorenz 63 (L63) chaotic system using kernel integral operators with delays:
- Kernel analog forecasting of the L63 state vector components:
NLSA implements a MATLAB class
nlsaModel which encodes the attributes of the machine learning procedure to be carried out. This includes:
- Specification of training and test data.
- Delay-coordinate embedding.
- Pairwise distance functions.
- Density estimation for variable-bandwidth kernels.
- Symmetric and non-symmetric Markov kernels.
- Koopman operators.
- Projection and reconstruction of target data.
- Nystrom out-of-sample extension.
Each of the elements above are implemented as MATLAB classes. See
/nlsa/classes for further information and basic documentation.
Results from each stage of the computation are written on disk in a directory tree with (near-) unique names based on the nlsaModel parameters.
- In Windows environments, errors can occur due to long file/directory names.