ARX Class Reference

Linear Autoregressive model with Gaussian noise. More...

#include <arx.h>

Inheritance diagram for ARX:

Inheritance graph
[legend]
Collaboration diagram for ARX:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ARX (const RV &rv, const mat &V0, const double &nu0, const double frg0=1.0)
 Full constructor.
 ARX (const ARX &A0)
 Copy constructor.
ARX_copy_ (bool changerv=false)
 Auxiliary function.
void set_parameters (const ldmat &V0, const double &nu0)
 Set sufficient statistics.
void set_statistics (const BMEF *BM0)
 get statistics from another model
void get_parameters (mat &V0, double &nu0)
 Returns sufficient statistics.
void bayes (const vec &dt, const double w)
 Here $dt = [y_t psi_t] $.
void bayes (const vec &dt)
 Incremental Bayes rule.
const epdf_epdf () const
 Returns a pointer to the epdf representing posterior density on parameters. Use with care!
double logpred (const vec &dt) const
void flatten (const BMEF *B)
 Flatten the posterior according to the given BMEF (of the same type!).
enorm< ldmat > * predictor (const RV &rv)
 Constructs a predictive density (marginal density on data).
ivec structure_est (egiw Eg0)
 Brute force structure estimation.
virtual void flatten (double nu0)
 Flatten the posterior as if to keep nu0 data.
virtual void bayesB (const mat &Dt)
 Batch Bayes rule (columns of Dt are observations).
vec logpred_m (const mat &dt) const
 Matrix version of logpred.
const RV_rv () const
 access function
double _ll () const
 access function
void set_evalll (bool evl0)
 access function

Protected Attributes

egiw est
 Posterior estimate of $\theta,r$ in the form of Normal-inverse Wishart density.
ldmatV
 cached value of est.V
double & nu
 cached value of est.nu
double frg
 forgetting factor
double last_lognc
 cached value of lognc() in the previous step (used in evaluation of ll )
RV rv
 Random variable of the posterior.
double ll
 Logarithm of marginalized data likelihood.
bool evalll
 If true, the filter will compute likelihood of the data record and store it in ll . Set to false if you want to save computational time.


Detailed Description

Linear Autoregressive model with Gaussian noise.

Regression of the following kind:

\[ y_t = \theta_1 \psi_1 + \theta_2 + \psi_2 +\ldots + \theta_n \psi_n + r e_t \]

where unknown parameters rv are $[\theta r]$, regression vector $\psi=\psi(y_{1:t},u_{1:t})$ is a known function of past outputs and exogeneous variables $u_t$. Distrubances $e_t$ are supposed to be normally distributed:

\[ e_t \sim \mathcal{N}(0,1). \]

Extension for time-variant parameters $\theta_t,r_t$ may be achived using exponential forgetting (Kulhavy and Zarrop, 1993). In such a case, the forgetting factor frg $\in <0,1>$ should be given in the constructor. Time-invariant parameters are estimated for frg = 1.


Member Function Documentation

void ARX::bayes ( const vec &  dt  )  [inline, virtual]

Incremental Bayes rule.

Parameters:
dt vector of input data

Reimplemented from BMEF.

References bayes().

double ARX::logpred ( const vec &  dt  )  const [virtual]

Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out.

Reimplemented from BM.

References egiw::_nu(), egiw::_V(), est, BM::evalll, BMEF::frg, BMEF::last_lognc, egiw::lognc(), nu, ldmat::opupdt(), egiw::pow(), and V.

ivec ARX::structure_est ( egiw  Eg0  ) 

Brute force structure estimation.

Returns:
indeces of accepted regressors.

References RV::count(), est, egiw::lognc(), and BM::rv.


The documentation for this class was generated from the following files:

Generated on Wed Oct 15 15:57:12 2008 for mixpp by  doxygen 1.5.6