root/doc/latex/classbdm_1_1ARX.tex @ 271

Revision 271, 15.3 kB (checked in by smidl, 16 years ago)

Next major revision

RevLine 
[261]1\hypertarget{classbdm_1_1ARX}{
2\section{bdm::ARX Class Reference}
3\label{classbdm_1_1ARX}\index{bdm::ARX@{bdm::ARX}}
4}
5{\tt \#include $<$arx.h$>$}
6
[271]7Inheritance diagram for bdm::ARX::\begin{figure}[H]
[261]8\begin{center}
9\leavevmode
[271]10\includegraphics[height=4cm]{classbdm_1_1ARX}
[261]11\end{center}
12\end{figure}
[270]13
14
15\subsection{Detailed Description}
16Linear Autoregressive model with Gaussian noise.
17
18Regression 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 {\tt 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). \]
19
[271]20See \hyperlink{tut_arx}{Theory of ARX model estimation} for mathematical treatment.
21
22The easiest way how to use the class is:
23
24\begin{DocInclude}\begin{verbatim}#include <estim/arx.h>
25using namespace bdm;
26       
27// estimation of AR(0) model
28int main() {
29        //prior
30        mat V0 = 0.00001*eye(2); V0(0,0)= 0.1; //
31        ARX Ar;
32        Ar.set_statistics(1, V0); //nu is default (set to have finite moments)
33                                                          // forgetting is default: 1.0
34        mat Data = concat_vertical( randn(1,100), ones(1,100) );
35        Ar.bayesB( Data);
36                       
37        cout << "Expected value of Theta is: " << Ar.posterior().mean() <<endl;
38}
39\end{verbatim}
40\end{DocInclude}
41 \subsection*{Public Member Functions}
[261]42\begin{CompactItemize}
43\item 
[271]44\hypertarget{classbdm_1_1ARX_539f9d0127423c94b912708d390e67b8}{
45void \hyperlink{classbdm_1_1ARX_539f9d0127423c94b912708d390e67b8}{set\_\-statistics} (const \hyperlink{classbdm_1_1BMEF}{BMEF} $\ast$BM0)}
46\label{classbdm_1_1ARX_539f9d0127423c94b912708d390e67b8}
47
48\begin{CompactList}\small\item\em Set sufficient statistics. \item\end{CompactList}\item 
49\hypertarget{classbdm_1_1BMEF_5912dbcf28ae711e30b08c2fa766a3e6}{
50\hyperlink{classbdm_1_1BMEF}{BMEF} $\ast$ \hyperlink{classbdm_1_1BMEF_5912dbcf28ae711e30b08c2fa766a3e6}{\_\-copy\_\-} (bool changerv=false)}
51\label{classbdm_1_1BMEF_5912dbcf28ae711e30b08c2fa766a3e6}
52
53\begin{CompactList}\small\item\em Flatten the posterior as if to keep nu0 data. \item\end{CompactList}\end{CompactItemize}
54\begin{Indent}{\bf Constructors}\par
55\begin{CompactItemize}
56\item 
[270]57\hypertarget{classbdm_1_1ARX_43ed6114f04a3a8756fe2b42eaa35f98}{
[271]58\textbf{ARX} (const double frg0=1.0)}
[270]59\label{classbdm_1_1ARX_43ed6114f04a3a8756fe2b42eaa35f98}
[261]60
[271]61\item 
[261]62\hypertarget{classbdm_1_1ARX_73a55a3d66bfbeeee4df6c2ae40920ed}{
[271]63\textbf{ARX} (const \hyperlink{classbdm_1_1ARX}{ARX} \&A0)}
[261]64\label{classbdm_1_1ARX_73a55a3d66bfbeeee4df6c2ae40920ed}
65
[271]66\item 
67\hyperlink{classbdm_1_1ARX}{ARX} $\ast$ \hyperlink{classbdm_1_1ARX_60c40b5c6abc4c7e464b4ccae64a5a61}{\_\-copy\_\-} ()
68\item 
69\hypertarget{classbdm_1_1ARX_7aef6fe827f15427d534e6fb2c220e04}{
70void \textbf{set\_\-parameters} (double frg0)}
71\label{classbdm_1_1ARX_7aef6fe827f15427d534e6fb2c220e04}
[261]72
[271]73\item 
74\hypertarget{classbdm_1_1ARX_f859f53eab269845a9064bbd92f841af}{
75void \textbf{set\_\-statistics} (int dimx0, const \hyperlink{classldmat}{ldmat} V0, double nu0=-1.0)}
76\label{classbdm_1_1ARX_f859f53eab269845a9064bbd92f841af}
[261]77
[271]78\end{CompactItemize}
79\end{Indent}
80\begin{Indent}{\bf Mathematical operations}\par
81\begin{CompactItemize}
82\item 
[261]83\hypertarget{classbdm_1_1ARX_17e7fe14654ab3c449846c3f43e66169}{
84void \hyperlink{classbdm_1_1ARX_17e7fe14654ab3c449846c3f43e66169}{bayes} (const vec \&dt, const double w)}
85\label{classbdm_1_1ARX_17e7fe14654ab3c449846c3f43e66169}
86
[271]87\begin{CompactList}\small\item\em Weighted Bayes $ dt = [y_t psi_t] $. \item\end{CompactList}\item 
[261]88void \hyperlink{classbdm_1_1ARX_8bdf2974052e8ce74eb0d4f3791c58a3}{bayes} (const vec \&dt)
89\begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\item 
90double \hyperlink{classbdm_1_1ARX_080a7e531e3aa06694112863b15bc6a4}{logpred} (const vec \&dt) const
91\item 
92\hypertarget{classbdm_1_1ARX_e86ab499b116b837d3163ec852961eca}{
93void \hyperlink{classbdm_1_1ARX_e86ab499b116b837d3163ec852961eca}{flatten} (const \hyperlink{classbdm_1_1BMEF}{BMEF} $\ast$B)}
94\label{classbdm_1_1ARX_e86ab499b116b837d3163ec852961eca}
95
96\begin{CompactList}\small\item\em Flatten the posterior according to the given \hyperlink{classbdm_1_1BMEF}{BMEF} (of the same type!). \item\end{CompactList}\item 
[270]97\hypertarget{classbdm_1_1ARX_749827323c034f11bec61b6e2fc3d42a}{
98\hyperlink{classbdm_1_1enorm}{enorm}$<$ \hyperlink{classldmat}{ldmat} $>$ $\ast$ \hyperlink{classbdm_1_1ARX_749827323c034f11bec61b6e2fc3d42a}{epredictor} (const vec \&rgr) const }
99\label{classbdm_1_1ARX_749827323c034f11bec61b6e2fc3d42a}
[261]100
101\begin{CompactList}\small\item\em Conditioned version of the predictor. \item\end{CompactList}\item 
[270]102\hypertarget{classbdm_1_1ARX_4cdf5e2a7d3480ec31f6247ed4289b15}{
103\hyperlink{classbdm_1_1enorm}{enorm}$<$ \hyperlink{classldmat}{ldmat} $>$ $\ast$ \hyperlink{classbdm_1_1ARX_4cdf5e2a7d3480ec31f6247ed4289b15}{epredictor} () const }
104\label{classbdm_1_1ARX_4cdf5e2a7d3480ec31f6247ed4289b15}
[261]105
[271]106\begin{CompactList}\small\item\em Predictor for empty regressor. \item\end{CompactList}\item 
[270]107\hyperlink{classbdm_1_1mlnorm}{mlnorm}$<$ \hyperlink{classldmat}{ldmat} $>$ $\ast$ \hyperlink{classbdm_1_1ARX_74fe8ae2d88bee8639510fd0eaf73513}{predictor} () const
[261]108\begin{CompactList}\small\item\em conditional version of the predictor \item\end{CompactList}\item 
[270]109\hypertarget{classbdm_1_1ARX_c6a2428a46407fe45b4c7a99069c0801}{
110\hyperlink{classbdm_1_1mlstudent}{mlstudent} $\ast$ \textbf{predictor\_\-student} () const }
111\label{classbdm_1_1ARX_c6a2428a46407fe45b4c7a99069c0801}
[261]112
113\item 
114ivec \hyperlink{classbdm_1_1ARX_16b02ae03316751664c22d59d90c1e34}{structure\_\-est} (\hyperlink{classbdm_1_1egiw}{egiw} Eg0)
[271]115\begin{CompactList}\small\item\em Brute force structure estimation. \item\end{CompactList}\end{CompactItemize}
116\end{Indent}
117\begin{Indent}{\bf Access attributes}\par
118\begin{CompactItemize}
119\item 
[261]120\hypertarget{classbdm_1_1ARX_ab2c55205a324e9d698fbd8ac229ad4f}{
[270]121const \hyperlink{classbdm_1_1egiw}{egiw} $\ast$ \textbf{\_\-e} () const }
[261]122\label{classbdm_1_1ARX_ab2c55205a324e9d698fbd8ac229ad4f}
123
[270]124\item 
[271]125\hypertarget{classbdm_1_1ARX_5a96a50d212648f049122a31d9553618}{
126const \hyperlink{classbdm_1_1egiw}{egiw} \& \textbf{posterior} () const }
127\label{classbdm_1_1ARX_5a96a50d212648f049122a31d9553618}
[270]128
[271]129\end{CompactItemize}
130\end{Indent}
131\begin{Indent}{\bf Connection}\par
132\begin{CompactItemize}
133\item 
134\hypertarget{classbdm_1_1ARX_df3dc1b90efc0cc54a3a6e5e858542d1}{
135void \textbf{set\_\-drv} (const \hyperlink{classbdm_1_1RV}{RV} \&drv0)}
136\label{classbdm_1_1ARX_df3dc1b90efc0cc54a3a6e5e858542d1}
137
138\item 
139\hypertarget{classbdm_1_1ARX_7b96872783ab72e135b7b9ee26ef0577}{
140\hyperlink{classbdm_1_1RV}{RV} \& \textbf{get\_\-yrv} ()}
141\label{classbdm_1_1ARX_7b96872783ab72e135b7b9ee26ef0577}
142
143\end{CompactItemize}
144\end{Indent}
[270]145\begin{Indent}{\bf Mathematical operations}\par
146\begin{CompactItemize}
147\item 
[261]148\hypertarget{classbdm_1_1BM_1dee3fddaf021e62d925289660a707dc}{
149virtual void \hyperlink{classbdm_1_1BM_1dee3fddaf021e62d925289660a707dc}{bayesB} (const mat \&Dt)}
150\label{classbdm_1_1BM_1dee3fddaf021e62d925289660a707dc}
151
152\begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item 
153\hypertarget{classbdm_1_1BM_0e8ebe61fb14990abe1254bd3dda5fae}{
154vec \hyperlink{classbdm_1_1BM_0e8ebe61fb14990abe1254bd3dda5fae}{logpred\_\-m} (const mat \&dt) const }
155\label{classbdm_1_1BM_0e8ebe61fb14990abe1254bd3dda5fae}
156
[270]157\begin{CompactList}\small\item\em Matrix version of logpred. \item\end{CompactList}\end{CompactItemize}
158\end{Indent}
159\begin{Indent}{\bf Access to attributes}\par
160\begin{CompactItemize}
161\item 
[269]162\hypertarget{classbdm_1_1BM_ff2d8755ba0b3def927d31305c03b09c}{
[270]163const \hyperlink{classbdm_1_1RV}{RV} \& \textbf{\_\-drv} () const }
[269]164\label{classbdm_1_1BM_ff2d8755ba0b3def927d31305c03b09c}
165
[270]166\item 
[271]167\hypertarget{classbdm_1_1BM_b38d92f17620813ad872d86e01a26e5e}{
168void \textbf{set\_\-rv} (const \hyperlink{classbdm_1_1RV}{RV} \&rv)}
169\label{classbdm_1_1BM_b38d92f17620813ad872d86e01a26e5e}
[269]170
[270]171\item 
[261]172\hypertarget{classbdm_1_1BM_5be65d37dedfe33a3671e7065f523a70}{
[270]173double \textbf{\_\-ll} () const }
[261]174\label{classbdm_1_1BM_5be65d37dedfe33a3671e7065f523a70}
175
[270]176\item 
[261]177\hypertarget{classbdm_1_1BM_236b3abbcc93594fc97cd86d82c1a83f}{
[270]178void \textbf{set\_\-evalll} (bool evl0)}
[261]179\label{classbdm_1_1BM_236b3abbcc93594fc97cd86d82c1a83f}
180
[270]181\end{CompactItemize}
182\end{Indent}
[261]183\subsection*{Protected Attributes}
184\begin{CompactItemize}
185\item 
[271]186\hypertarget{classbdm_1_1ARX_8e68db2a218d54b09304cad6c0a897d9}{
187int \hyperlink{classbdm_1_1ARX_8e68db2a218d54b09304cad6c0a897d9}{dimx}}
188\label{classbdm_1_1ARX_8e68db2a218d54b09304cad6c0a897d9}
189
190\begin{CompactList}\small\item\em size of output variable (needed in regressors) \item\end{CompactList}\item 
191\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1ARX_363aaa55b2ab3eec602510cdf53e84ef}{\_\-yrv}
192\item 
[261]193\hypertarget{classbdm_1_1ARX_11474a627367f81b76830cb8477cf026}{
194\hyperlink{classbdm_1_1egiw}{egiw} \hyperlink{classbdm_1_1ARX_11474a627367f81b76830cb8477cf026}{est}}
195\label{classbdm_1_1ARX_11474a627367f81b76830cb8477cf026}
196
197\begin{CompactList}\small\item\em Posterior estimate of $\theta,r$ in the form of Normal-inverse Wishart density. \item\end{CompactList}\item 
198\hypertarget{classbdm_1_1ARX_de5b7d83ff5d3f5af2f80068db0abdfd}{
199\hyperlink{classldmat}{ldmat} \& \hyperlink{classbdm_1_1ARX_de5b7d83ff5d3f5af2f80068db0abdfd}{V}}
200\label{classbdm_1_1ARX_de5b7d83ff5d3f5af2f80068db0abdfd}
201
202\begin{CompactList}\small\item\em cached value of est.V \item\end{CompactList}\item 
203\hypertarget{classbdm_1_1ARX_740b0582f180ba13cae91d66e9bdb67f}{
204double \& \hyperlink{classbdm_1_1ARX_740b0582f180ba13cae91d66e9bdb67f}{nu}}
205\label{classbdm_1_1ARX_740b0582f180ba13cae91d66e9bdb67f}
206
207\begin{CompactList}\small\item\em cached value of est.nu \item\end{CompactList}\item 
208\hypertarget{classbdm_1_1BMEF_1331865e10fb1ccef65bb4c47fa3be64}{
209double \hyperlink{classbdm_1_1BMEF_1331865e10fb1ccef65bb4c47fa3be64}{frg}}
210\label{classbdm_1_1BMEF_1331865e10fb1ccef65bb4c47fa3be64}
211
212\begin{CompactList}\small\item\em forgetting factor \item\end{CompactList}\item 
213\hypertarget{classbdm_1_1BMEF_06e7b3ac03e10017d4288c76888e2865}{
214double \hyperlink{classbdm_1_1BMEF_06e7b3ac03e10017d4288c76888e2865}{last\_\-lognc}}
215\label{classbdm_1_1BMEF_06e7b3ac03e10017d4288c76888e2865}
216
217\begin{CompactList}\small\item\em cached value of lognc() in the previous step (used in evaluation of {\tt ll} ) \item\end{CompactList}\item 
[269]218\hypertarget{classbdm_1_1BM_c400357e37d27a4834b2b1d9211009ed}{
219\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1BM_c400357e37d27a4834b2b1d9211009ed}{drv}}
220\label{classbdm_1_1BM_c400357e37d27a4834b2b1d9211009ed}
221
222\begin{CompactList}\small\item\em Random variable of the data (optional). \item\end{CompactList}\item 
[261]223\hypertarget{classbdm_1_1BM_4064b6559d962633e4372b12f4cd204a}{
224double \hyperlink{classbdm_1_1BM_4064b6559d962633e4372b12f4cd204a}{ll}}
225\label{classbdm_1_1BM_4064b6559d962633e4372b12f4cd204a}
226
227\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
228\hypertarget{classbdm_1_1BM_faff0ad12556fe7dc0e2807d4fd938ee}{
229bool \hyperlink{classbdm_1_1BM_faff0ad12556fe7dc0e2807d4fd938ee}{evalll}}
230\label{classbdm_1_1BM_faff0ad12556fe7dc0e2807d4fd938ee}
231
232\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save computational time. \item\end{CompactList}\end{CompactItemize}
233
234
235\subsection{Member Function Documentation}
[271]236\hypertarget{classbdm_1_1ARX_60c40b5c6abc4c7e464b4ccae64a5a61}{
237\index{bdm::ARX@{bdm::ARX}!\_\-copy\_\-@{\_\-copy\_\-}}
238\index{\_\-copy\_\-@{\_\-copy\_\-}!bdm::ARX@{bdm::ARX}}
239\subsubsection[\_\-copy\_\-]{\setlength{\rightskip}{0pt plus 5cm}{\bf ARX} $\ast$ bdm::ARX::\_\-copy\_\- ()\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
240\label{classbdm_1_1ARX_60c40b5c6abc4c7e464b4ccae64a5a61}
241
242
243Copy function required in vectors, Arrays of \hyperlink{classbdm_1_1BM}{BM} etc. Have to be DELETED manually! Prototype:
244
245\begin{Code}\begin{verbatim} BM* _copy_(){return new BM(*this);} 
246\end{verbatim}
247\end{Code}
248
249 
250
251Reimplemented from \hyperlink{classbdm_1_1BM_c0f027ff91d8459937c6f60ff8e553ff}{bdm::BM}.\hypertarget{classbdm_1_1ARX_8bdf2974052e8ce74eb0d4f3791c58a3}{
[261]252\index{bdm::ARX@{bdm::ARX}!bayes@{bayes}}
253\index{bayes@{bayes}!bdm::ARX@{bdm::ARX}}
254\subsubsection[bayes]{\setlength{\rightskip}{0pt plus 5cm}void bdm::ARX::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual\mbox{]}}}}
255\label{classbdm_1_1ARX_8bdf2974052e8ce74eb0d4f3791c58a3}
256
257
258Incremental Bayes rule.
259
260\begin{Desc}
261\item[Parameters:]
262\begin{description}
263\item[{\em dt}]vector of input data \end{description}
264\end{Desc}
265
266
267Reimplemented from \hyperlink{classbdm_1_1BMEF_c287f4c0c1ea31b91572ec45351838f1}{bdm::BMEF}.
268
269References bayes().\hypertarget{classbdm_1_1ARX_080a7e531e3aa06694112863b15bc6a4}{
270\index{bdm::ARX@{bdm::ARX}!logpred@{logpred}}
271\index{logpred@{logpred}!bdm::ARX@{bdm::ARX}}
272\subsubsection[logpred]{\setlength{\rightskip}{0pt plus 5cm}double bdm::ARX::logpred (const vec \& {\em dt}) const\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
273\label{classbdm_1_1ARX_080a7e531e3aa06694112863b15bc6a4}
274
275
276Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out.
277
278Reimplemented from \hyperlink{classbdm_1_1BM_50257e0c1e5b5c73153ea6e716ad8ae0}{bdm::BM}.
279
[270]280References bdm::egiw::\_\-nu(), bdm::egiw::\_\-V(), est, bdm::BM::evalll, bdm::BMEF::frg, bdm::BMEF::last\_\-lognc, bdm::egiw::lognc(), nu, ldmat::opupdt(), bdm::egiw::pow(), and V.\hypertarget{classbdm_1_1ARX_74fe8ae2d88bee8639510fd0eaf73513}{
281\index{bdm::ARX@{bdm::ARX}!predictor@{predictor}}
282\index{predictor@{predictor}!bdm::ARX@{bdm::ARX}}
283\subsubsection[predictor]{\setlength{\rightskip}{0pt plus 5cm}{\bf mlnorm}$<$ {\bf ldmat} $>$ $\ast$ bdm::ARX::predictor () const\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
284\label{classbdm_1_1ARX_74fe8ae2d88bee8639510fd0eaf73513}
285
286
287conditional version of the predictor
288
289
290
291$<$----------- TODO
292
293Reimplemented from \hyperlink{classbdm_1_1BM_598b25e3f3d96a5bc00a5faeb5b3c912}{bdm::BM}.
294
295References bdm::epdf::dimension(), est, bdm::egiw::mean\_\-mat(), ldmat::rows(), bdm::mlnorm$<$ sq\_\-T $>$::set\_\-parameters(), and V.\hypertarget{classbdm_1_1ARX_16b02ae03316751664c22d59d90c1e34}{
[261]296\index{bdm::ARX@{bdm::ARX}!structure\_\-est@{structure\_\-est}}
297\index{structure\_\-est@{structure\_\-est}!bdm::ARX@{bdm::ARX}}
298\subsubsection[structure\_\-est]{\setlength{\rightskip}{0pt plus 5cm}ivec bdm::ARX::structure\_\-est ({\bf egiw} {\em Eg0})}}
299\label{classbdm_1_1ARX_16b02ae03316751664c22d59d90c1e34}
300
301
302Brute force structure estimation.
303
304\begin{Desc}
305\item[Returns:]indeces of accepted regressors. \end{Desc}
306
307
[271]308References bdm::epdf::dimension(), est, and bdm::egiw::lognc().
[261]309
[271]310\subsection{Member Data Documentation}
311\hypertarget{classbdm_1_1ARX_363aaa55b2ab3eec602510cdf53e84ef}{
312\index{bdm::ARX@{bdm::ARX}!\_\-yrv@{\_\-yrv}}
313\index{\_\-yrv@{\_\-yrv}!bdm::ARX@{bdm::ARX}}
314\subsubsection[\_\-yrv]{\setlength{\rightskip}{0pt plus 5cm}{\bf RV} {\bf bdm::ARX::\_\-yrv}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
315\label{classbdm_1_1ARX_363aaa55b2ab3eec602510cdf53e84ef}
316
317
318description of modelled data $ y_t $ in the likelihood function Do NOT access directly, only via {\tt get\_\-yrv()}.
319
[261]320The documentation for this class was generated from the following files:\begin{CompactItemize}
321\item 
322\hyperlink{arx_8h}{arx.h}\item 
323bdm/estim/arx.cpp\end{CompactItemize}
Note: See TracBrowser for help on using the browser.