GPdyn
Gaussian Process Model Dynamic System Identification Toolbox for Matlab
Install / Use
/learn @Dynamic-Systems-and-GP/GPdynREADME
.. role:: math(raw) :format: html latex ..
Gaussian-Process-Model-based System-Identification Toolbox for Matlab
Version 1.2.2
Martin Stepančič and Juš Kocijan
Introduction
The idea of this toolbox is to facilitate dynamic systems identification with Gaussian-process (GP) models. The presented toolbox is continuously developing and is put together with hope to be useful as a springboard for the modelling of dynamic systems with GP models.
The GP model belongs to the class of black-box models. GP modelling differs from most other black-box identification approaches in that it does not try to approximate the modelled system by fitting the parameters of the selected basis functions, but rather it searches for the relationship among the measured data. The model is composed of input-output data that describes the behaviour of the modelled system and the covariance function that describes the relation with respect to the input-output data. The prediction of the GP model output is given as a normal distribution, expressed in terms of the mean and the variance. The mean value represents the most likely output, and the variance can be interpreted as a measure of its confidence.
System identification is composed of methods to build mathematical models of dynamic systems from measured data. It is one of the scientific pillars used for dynamic-systems analysis and control design. The identification of a dynamic system means that we are looking for a relationship between past observations and future outputs. Identification can be interpreted as the concatenation of a mapping from measured data to a regression vector, followed by a nonlinear mapping from the regression vector to the output space. Various machine-learning methods and statistical methods are employed to determine the nonlinear mapping from the regression vector to the output space. One of the possible methods for a description of the nonlinear mapping used in identification is GP models. It is straightforward to employ GP models for the discrete-time modelling of dynamic systems within the prediction-error framework.
Many dynamic systems are often considered as complex; however, simplified input-output behaviour representations are sufficient for certain purposes, e.g., feedback control design, prediction models for supervisory control, etc.
| More on the topic of system identification with GP models and the use of this models for control design can be found in the book: | Juš Kocijan (2016) Modelling and Control of Dynamic Systems Using Gaussian Process Models, Springer.
GP-Model-based System-Identification Toolbox for Matlab
Prerequisites
As this toolbox is intended to use within Matlab environment the user should have Matlab installed. It works on Matlab 7 and later, but there should be no problems using the toolbox on previous versions of Matlab, e.g., 6 or 5.
It is also assumed that the GPML toolbox [1]_, general purpose GP modelling toolbox for Matlab, is installed. The GP-model-based system-identification toolbox serves as upgrade to GPML toolbox.
The user should posses some familiarity with the Matlab structure and programming.
Installing GPdyn toolbox
Unzip the file GPdyn into chosen directory and add path, with subdirectories, to Matlab path.
Overview of the GPdyn toolbox
GPdyn files are contained in several directories, depending on their purpose:
training functions, used for training GP models of dynamic systems;
GP-model evaluation functions, used for simulating the dynamic GP model;
LMGP-model evaluation functions, which are used when modelling and simulating the system with a GP model with incorporated local models (LMGP model);
utilities functions, that are various support functions;
demo functions, which demonstrate the use of the toolbox for identification of dynamic systems.
The list of included functions, demos and one model is given in following tables.
| GP-model training functions:
+---------------+------------------------------------------------------------------+ | trainGParx | GP-model training of ARX model | +===============+==================================================================+ | trainGPoe | GP-model training of OE model | +---------------+------------------------------------------------------------------+ | gp_initial | - finding initial values of hyperparameters with random search | +---------------+------------------------------------------------------------------+ | minimizeDE | minimize a multivariate function using differential evolution | +---------------+------------------------------------------------------------------+
| Covariance functions: | Included and explained in enclosed GPML toolbox
| GP-model evaluation:
+-------------------+---------------------------------------------------------------------+ | simulGPnaive | GP model simulation without the propagation of uncertainty | +===================+=====================================================================+ | simulGPmcmc | GP model simulation with Monte Carlo approximation | +-------------------+---------------------------------------------------------------------+ | simulGPtaylorSE | GP model simulation with analytical approximation of statistical | +-------------------+---------------------------------------------------------------------+ | | moments with a Taylor expansion for the squared exponential | +-------------------+---------------------------------------------------------------------+ | | covariance function | +-------------------+---------------------------------------------------------------------+ | simulGPexactSE | GP model simulation with exact matching of statistical moments | +-------------------+---------------------------------------------------------------------+ | | for the squared exponential covariance function | +-------------------+---------------------------------------------------------------------+ | simulGPexactLIN | GP model simulation with exact matching of statistical moments | +-------------------+---------------------------------------------------------------------+ | | for the linear covariance function | +-------------------+---------------------------------------------------------------------+ | predGPnaive | multi-step-ahead prediction of GP model without | +-------------------+---------------------------------------------------------------------+ | | the propagation of uncertainty | +-------------------+---------------------------------------------------------------------+ | gpx | modified version of GP rutine from the GPML toolbox | +-------------------+---------------------------------------------------------------------+ | gmx_sample | creates samples of mixture components | +-------------------+---------------------------------------------------------------------+ | gpTaylorSEard | GP model prediction with stochastic inputs for | +-------------------+---------------------------------------------------------------------+ | | the squared exponential covariance function with Taylor expansion | +-------------------+---------------------------------------------------------------------+ | gpExactLINard | GP model prediction with stochastic inputs for | +-------------------+---------------------------------------------------------------------+ | | the linear covariance function | +-------------------+---------------------------------------------------------------------+ | gpExactSEard | GP model prediction with stochastic inputs for | +-------------------+---------------------------------------------------------------------+ | | the squared exponential covariance function | +-------------------+---------------------------------------------------------------------+
| LMGP-model evaluation:
+------------------+----------------------------------------------------------------+ | simulLMGPnaive | LMGP model simulation without the propagation of uncertainty | +==================+================================================================+ | simulLMGPmcmc | LMGP model simulation with Monte Carlo approximation | +------------------+----------------------------------------------------------------+ | trainLMGP | LMGP model training | +------------------+----------------------------------------------------------------+ | gpSD00 | - LMGP model prediction | +------------------+----------------------------------------------------------------+ | | - data likelihood and its derivatives | +------------------+----------------------------------------------------------------+
| Supporting functions:
+--------------------------+------------------------------------------------------------------------+ | add_noise_to_vector | adding white noise
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
