Here, we use the {\tt ARX} class to estimate parameters and structure. ARX model is defined as follows: \[ y_t = \theta' \psi_t + \rho e_t \] where $y_t$ is the system output, $[\theta,\rho]$ is vector of unknown parameters, $\psi_t$ is an vector of data-dependent regressors, and noise $e_t$ is assumed to be Normal distributed $\mathcal{N}(0,1)$.

Special cases include:...\hypertarget{arx_math}{}\section{Mathematical background:}\label{arx_math}
This particular model belongs to the exponential family, hence it has conjugate distribution of the Gauss-inverse-Wishart form (class egiw). See, \mbox{[}reference\mbox{]} for details.

For this model, structure estimation is a form of model selection procedure. Specifically, we compare hypotheses that the data were generated by the full model with hypotheses that some regressors in vector $\psi$ are redundant. The number of possible hypotheses is then the number of all possible combinations of all regressors.\hypertarget{arx_soft}{}\section{Software implementation:}\label{arx_soft}
Estimation with this class of model is perfromed by class ARX which is derived from class BMEF (estimation of exponential family). The posterior density ( ARX::\_\-epdf() ) is class egiw, which represents Gauss-inverse-Wishart density.

Structure estimation is implemented in method ARX::structure\_\-est() which uses brute force tree search approach.\hypertarget{arx_exa}{}\section{Examples of Use:}\label{arx_exa}
There are many ways how to use the object.\begin{itemize}
\item Pure C++, as it is used in unit testing of the class arx, \hyperlink{arx__test_8cpp}{arx\_\-test.cpp}\item C++ application with UI configuration file, arx\_\-test\_\-ui\item Matlab interface, arx\_\-matlab \end{itemize}
