HIT Toolbox

The Hybrid Identification Toolbox (HIT) is a free MatLab toolbox for regression with Piece-Wise Affine (PWA) maps and identification of Piece-Wise AutoRegressive Exogenous (PWARX) models. HIT implements the clustering-based algorithms documented in some of my papers (see  Bibliography.txt in the root directory of HIT).
Its development has been supported by the EU projects HYGEIA and HYCON.

16 Jan.2006: HIT 1.00 - .zip package. Required software: MatLab >= 6.5.

Installation and first steps

HIT uses the Multi Parametric Toolbox (MPT) developed at ETH (Zurich, Switzerland) for handling polytopes and solving LP/QP problems.
From 06/12/2005, HIT is shipped as part of MPT, thus it is automatically installed if you download  MPT >= 2.5.

For a stand-alone installation of HIT, unzip it and add its path (and the path of the subdirectories as well) to the matlabpath.
Then, try out the examples in the /examples directory. The code of the examples is well commented and you won't have any difficulty in adapting them for solving your problems.
In the /doc directory there is the html documentation of HIT and a manual (in pdf).

Main features of HIT

• Clustering algorithms: weighted K-means and single-linkage
• Pattern recognition algorithms:
• Linear Support Vector Classifiers (SVC)
• Multicategory Robust Linear Programmng (MRLP)
• Proximal Support Vector Classifiers (PSVC)
• Continuous and discontinuous PWA/PWARX models
• Post-processing: optional re-classification of outliers

Problems solved by HIT

• Regression problem: reconstruct a PWA map from noisy samples. In this case, one is not dealing with a dynamical system (with inputs and outputs) but just with a static map that is sampled. HIT returns a data-based PWA approximation of the map (see the examples ex_approx_1d.m and ex_cake1.m. - the second example shows how to approximate discontinuous PWA maps). The approximation has idmodes.s modes (in HITs jargon, a "mode" is an affine hyperplane + the region where it is valid).
• Identification problem: reconstruct a PWARX hybrid system from noisy inputs and outputs (see for instance ex_pwarx_2d_3modes.m). PWARX systems are multi-input/single-output descriptions of hybrid systems. Thus no state appears. But they can be re-written as PWA system pretty much the same way ARX models can be re-written as linear systems in the state-space form.

The PWARX systems used in the HIT toolbox are in the form

y(k)=idmodes.par{i}* [x(k)' 1]' if x(k) \in \idmodes.regions(i)

where x(k)=[y(k-1) ... y(k-na) u'(k-1) ... u'(k-nb)] is the vector of regressors and the integers na and nb are the system order. If you want to write a PWARX model in the PWA form you have to interpret x(k) as a state, y(k) as an output and find the matrices A_i, b_i, f_i, C_i, D_i, g_i that given a sequence u(k) produce the same output of the PWARX model.

Citation info

BibTeX entry:

@MISC{HIT,
author = {G. Ferrari-Trecate},
title = {{Hybrid Identification Toolbox (HIT)}},
year = {2005},
}

Acknowledgments

See the file Acknowledgments.txt in the root directory of HIT.