SkillAgentSearch skills...

GPdyn

Gaussian Process Model Dynamic System Identification Toolbox for Matlab

Install / Use

/learn @Dynamic-Systems-and-GP/GPdyn
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

.. 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

View on GitHub
GitHub Stars94
CategoryDevelopment
Updated6mo ago
Forks32

Languages

Matlab

Security Score

87/100

Audited on Sep 9, 2025

No findings