ARMAView

class ARMAView : public tsa::BaseView

ARMA view: container for (vectorial) ARMA processes.

A view for ARMA parametrization. It defines a general (V)ARMA process, which can be written as

\[ \sum_{k=0}^{p} A^{(k)} \vec{y}_{n-k} = \sum_{k=0}^{q} B^{(k)} \vec{x}_{n-k} \]
where A,B are square matrix of dimension d equal to the dimension of the input and output vectors x,y. If the order of the part MA q is equal to zero the process is an AR process. If the order of the AR part p is equal to zero the process is an MA process. Note that the matrix \(A^{(0)}\) is assumed to be the identity.

Setters

inline void SetAR(int i, double v, unsigned int channel = 0)

This method sets the value of the AR[i] coefficient for one of the channels. It is assumed that the VARMA process is diagonal, which means that there is and independent ARMA process for each channel.

Parameters:
  • i – the index of the AR part

  • v – the new value of AR[i]

  • channel – the channel

inline void SetMA(int i, double v, unsigned int channel = 0)

This method sets the value of the MA[i] coefficient for one of the channels. It is assumed that the VARMA process is diagonal, which means that there is and independent ARMA process for each channel.

Parameters:
  • i – the index of the MA part

  • v – the new value of MA[i]

  • channel – the channel

inline void SetVAR(int i, double v, unsigned int channel1, unsigned int channel2)

This method sets the value of the \(A^{(i)}_{jk}\) coefficient for the VARMA process

Parameters:
  • i – the index of the VAR coefficient

  • v – the new value of \(A^{(i)}_{jk}\)

  • channel1 – the first channel (index j)

  • channel2 – the se channel (index k)

inline void SetVMA(int i, double v, unsigned int channel1, unsigned int channel2)

This method sets the value of the \(B^{(i)}_{jk}\) coefficient for the VARMA process

Parameters:
  • i – the index of the VAR coefficient

  • v – the new value of \(B^{(i)}_{jk}\)

  • channel1 – the first channel (index j)

  • channel2 – the se channel (index k)

inline void SetOrder(unsigned int maxP, unsigned int maxQ)

This methods sets the order (p,q) of the (V)ARMA process

Parameters:
  • maxP – the order of the AR part of the process

  • maxQ – the order of the MA part of the process

inline void SetChannels(unsigned int channels)

This method sets the dimension of the VARMA process

Parameters:

channels – the dimension of the VARMA process

Getters

inline const double &GetAR(int i, unsigned int channel = 0) const

This method gives the value of the AR[i] coefficient for one of the channels. It is assumed that the VARMA process is diagonal, which means that there is and independent ARMA process for each channel.

Parameters:
  • i – the index of the AR coefficient

  • channel – the channel

Returns:

the value of the AR[i] coefficient

inline const double &GetMA(int i, unsigned int channel = 0) const

This method gives the value of the MA[i] coefficient for one of the channels. It is assumed that the VARMA process is diagonal, which means that there is and independent ARMA process for each channel.

Parameters:
  • i – the index of the MA coefficient

  • channel – the channel

Returns:

the value of the MA[i] coefficient

inline const double &GetVAR(int i, unsigned int channel1, unsigned int channel2) const

This method gives the value of the \(A^{(i)}_{jk}\) coefficient for the VARMA process

Parameters:
  • i – the index of the VAR coefficient

  • channel1 – the first channel (index j)

  • channel2 – the se channel (index k)

Returns:

the value of the coefficient \(A^{(i)}_{jk}\)

inline const double &GetVMA(int i, unsigned int channel1, unsigned int channel2) const

This method gives the value of the \(B^{(i)}_{jk}\) coefficient for the VARMA process

Parameters:
  • i – the index of the VMA coefficient

  • channel1 – the first channel (index j)

  • channel2 – the se channel (index k)

Returns:

the value of the coefficient \(B^{(i)}_{jk}\)

inline unsigned int GetArOrder() const

Get the order of the AR part of the process.

Returns:

the order of the AR part of the process

inline unsigned int GetMaOrder() const

Get the order of the MA part of the process.

Returns:

the order of the MA part of the process

inline unsigned int GetChannels() const

Get the dimension of the VARMA process.

Returns:

the dimension of the VARMA process

Public Functions

inline ARMAView(unsigned int maxP, unsigned int maxQ, int channels = 1)

Constructor

Parameters:
  • maxP – the order of the AR part

  • maxQ – the order of the MA part

  • channels – the dimension of

inline ARMAView(const ARMAView &from)

Copy constructor

Parameters:

from – The instance that must be copied

inline ~ARMAView()

Destructor

inline void Load(const char *filename, const char *fmt = "txt")
inline void Save(const char *filename, const char *fmt = "txt")
inline void xml_serialize(eternity::xml_archive &xml, const char *prefix)