1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
2 | <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
---|
3 | <title>mixpp: arx.h Source File</title> |
---|
4 | <link href="doxygen.css" rel="stylesheet" type="text/css"> |
---|
5 | <link href="tabs.css" rel="stylesheet" type="text/css"> |
---|
6 | </head><body> |
---|
7 | <!-- Generated by Doxygen 1.5.6 --> |
---|
8 | <div class="navigation" id="top"> |
---|
9 | <div class="tabs"> |
---|
10 | <ul> |
---|
11 | <li><a href="index.html"><span>Main Page</span></a></li> |
---|
12 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
---|
13 | <li><a href="modules.html"><span>Modules</span></a></li> |
---|
14 | <li><a href="namespaces.html"><span>Namespaces</span></a></li> |
---|
15 | <li><a href="classes.html"><span>Classes</span></a></li> |
---|
16 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
---|
17 | </ul> |
---|
18 | </div> |
---|
19 | <h1>arx.h</h1><a href="arx_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 |
---|
20 | <a name="l00013"></a>00013 <span class="preprocessor">#ifndef AR_H</span> |
---|
21 | <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define AR_H</span> |
---|
22 | <a name="l00015"></a>00015 <span class="preprocessor"></span> |
---|
23 | <a name="l00016"></a>00016 <span class="preprocessor">#include "../stat/libFN.h"</span> |
---|
24 | <a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libEF.h"</span> |
---|
25 | <a name="l00018"></a>00018 |
---|
26 | <a name="l00019"></a>00019 <span class="keyword">namespace </span>bdm{ |
---|
27 | <a name="l00020"></a>00020 |
---|
28 | <a name="l00035"></a><a class="code" href="classbdm_1_1ARX.html">00035</a> <span class="keyword">class </span><a class="code" href="classbdm_1_1ARX.html" title="Linear Autoregressive model with Gaussian noise.">ARX</a>: <span class="keyword">public</span> <a class="code" href="classbdm_1_1BMEF.html" title="Estimator for Exponential family.">BMEF</a> { |
---|
29 | <a name="l00036"></a>00036 <span class="keyword">protected</span>: |
---|
30 | <a name="l00038"></a><a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026">00038</a> <a class="code" href="classbdm_1_1egiw.html" title="Gauss-inverse-Wishart density stored in LD form.">egiw</a> <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>; |
---|
31 | <a name="l00040"></a><a class="code" href="classbdm_1_1ARX.html#de5b7d83ff5d3f5af2f80068db0abdfd">00040</a> <a class="code" href="classldmat.html" title="Matrix stored in LD form, (commonly known as UD).">ldmat</a> &<a class="code" href="classbdm_1_1ARX.html#de5b7d83ff5d3f5af2f80068db0abdfd" title="cached value of est.V">V</a>; |
---|
32 | <a name="l00042"></a><a class="code" href="classbdm_1_1ARX.html#740b0582f180ba13cae91d66e9bdb67f">00042</a> <span class="keywordtype">double</span> &<a class="code" href="classbdm_1_1ARX.html#740b0582f180ba13cae91d66e9bdb67f" title="cached value of est.nu">nu</a>; |
---|
33 | <a name="l00043"></a>00043 <span class="keyword">public</span>: |
---|
34 | <a name="l00045"></a><a class="code" href="classbdm_1_1ARX.html#43ed6114f04a3a8756fe2b42eaa35f98">00045</a> <a class="code" href="classbdm_1_1ARX.html#43ed6114f04a3a8756fe2b42eaa35f98" title="Full constructor.">ARX</a> ( <span class="keyword">const</span> <span class="keywordtype">double</span> frg0=1.0 ) : <a class="code" href="classbdm_1_1BMEF.html" title="Estimator for Exponential family.">BMEF</a> ( frg0 ),<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a> (), <a class="code" href="classbdm_1_1ARX.html#de5b7d83ff5d3f5af2f80068db0abdfd" title="cached value of est.V">V</a> ( <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>._V() ), <a class="code" href="classbdm_1_1ARX.html#740b0582f180ba13cae91d66e9bdb67f" title="cached value of est.nu">nu</a> ( <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>._nu() ) |
---|
35 | <a name="l00046"></a>00046 {<a class="code" href="classbdm_1_1BMEF.html#06e7b3ac03e10017d4288c76888e2865" title="cached value of lognc() in the previous step (used in evaluation of ll )">last_lognc</a>=<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#41d72ba7b2abc8a9a4209ffa98ed5633" title="logarithm of the normalizing constant, ">lognc</a>();}; |
---|
36 | <a name="l00047"></a>00047 |
---|
37 | <a name="l00049"></a><a class="code" href="classbdm_1_1ARX.html#73a55a3d66bfbeeee4df6c2ae40920ed">00049</a> <a class="code" href="classbdm_1_1ARX.html#43ed6114f04a3a8756fe2b42eaa35f98" title="Full constructor.">ARX</a> ( <span class="keyword">const</span> <a class="code" href="classbdm_1_1ARX.html" title="Linear Autoregressive model with Gaussian noise.">ARX</a> &A0 ) : <a class="code" href="classbdm_1_1BMEF.html" title="Estimator for Exponential family.">BMEF</a> (),<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a> ( A0.<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a> ), <a class="code" href="classbdm_1_1ARX.html#de5b7d83ff5d3f5af2f80068db0abdfd" title="cached value of est.V">V</a> ( <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>._V() ), <a class="code" href="classbdm_1_1ARX.html#740b0582f180ba13cae91d66e9bdb67f" title="cached value of est.nu">nu</a> ( <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>._nu() ) {}; |
---|
38 | <a name="l00050"></a>00050 |
---|
39 | <a name="l00052"></a>00052 <a class="code" href="classbdm_1_1ARX.html" title="Linear Autoregressive model with Gaussian noise.">ARX</a>* <a class="code" href="classbdm_1_1ARX.html#60c40b5c6abc4c7e464b4ccae64a5a61" title="Auxiliary function.">_copy_</a>(); |
---|
40 | <a name="l00053"></a>00053 |
---|
41 | <a name="l00054"></a>00054 <span class="comment">// //! Set parameters given by moments, \c mu (mean of theta), \c R (mean of R) and \c C (variance of theta)</span> |
---|
42 | <a name="l00055"></a>00055 <span class="comment">// void set_parameters ( const vec &mu, const mat &R, const mat &C, double dfm){};</span> |
---|
43 | <a name="l00057"></a><a class="code" href="classbdm_1_1ARX.html#cab0a1de5355b1027d24fd3d4862c9b0">00057</a> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1ARX.html#cab0a1de5355b1027d24fd3d4862c9b0" title="Set sufficient statistics.">set_parameters</a> ( <span class="keyword">const</span> <a class="code" href="classldmat.html" title="Matrix stored in LD form, (commonly known as UD).">ldmat</a> &V0, <span class="keyword">const</span> <span class="keywordtype">double</span> &nu0 ) |
---|
44 | <a name="l00058"></a>00058 {<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#15792f3112e5cf67d572f491b09324c8">_V</a>() =V0;<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#a025ee710274ca142dd0ae978735ad4a">_nu</a>() =nu0;<a class="code" href="classbdm_1_1BMEF.html#06e7b3ac03e10017d4288c76888e2865" title="cached value of lognc() in the previous step (used in evaluation of ll )">last_lognc</a>=<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#41d72ba7b2abc8a9a4209ffa98ed5633" title="logarithm of the normalizing constant, ">lognc</a>();} |
---|
45 | <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1ARX.html#539f9d0127423c94b912708d390e67b8" title="get statistics from another model">set_statistics</a> ( <span class="keyword">const</span> <a class="code" href="classbdm_1_1BMEF.html" title="Estimator for Exponential family.">BMEF</a>* BM0 ); |
---|
46 | <a name="l00061"></a><a class="code" href="classbdm_1_1ARX.html#1974409e022ea1efb3404b5c2fde66ad">00061</a> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1ARX.html#1974409e022ea1efb3404b5c2fde66ad" title="Returns sufficient statistics.">get_parameters</a> ( mat &V0, <span class="keywordtype">double</span> &nu0 ) {V0=<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#15792f3112e5cf67d572f491b09324c8">_V</a>().<a class="code" href="classldmat.html#2c1ebc071de4bafbba55b80afd8a7e8e" title="Conversion to full matrix.">to_mat</a>(); nu0=<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#a025ee710274ca142dd0ae978735ad4a">_nu</a>();} |
---|
47 | <a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1ARX.html#17e7fe14654ab3c449846c3f43e66169" title="Here .">bayes</a> ( <span class="keyword">const</span> vec &dt, <span class="keyword">const</span> <span class="keywordtype">double</span> w ); |
---|
48 | <a name="l00064"></a><a class="code" href="classbdm_1_1ARX.html#8bdf2974052e8ce74eb0d4f3791c58a3">00064</a> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1ARX.html#17e7fe14654ab3c449846c3f43e66169" title="Here .">bayes</a> ( <span class="keyword">const</span> vec &dt ) {<a class="code" href="classbdm_1_1ARX.html#17e7fe14654ab3c449846c3f43e66169" title="Here .">bayes</a> ( dt,1.0 );}; |
---|
49 | <a name="l00065"></a>00065 <span class="keyword">const</span> <a class="code" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>& _epdf()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>;} |
---|
50 | <a name="l00066"></a>00066 <span class="keywordtype">double</span> <a class="code" href="classbdm_1_1ARX.html#080a7e531e3aa06694112863b15bc6a4">logpred</a> ( <span class="keyword">const</span> vec &dt ) <span class="keyword">const</span>; |
---|
51 | <a name="l00067"></a><a class="code" href="classbdm_1_1ARX.html#e86ab499b116b837d3163ec852961eca">00067</a> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1ARX.html#e86ab499b116b837d3163ec852961eca" title="Flatten the posterior according to the given BMEF (of the same type!).">flatten</a> (<span class="keyword">const</span> <a class="code" href="classbdm_1_1BMEF.html" title="Estimator for Exponential family.">BMEF</a>* B ) { |
---|
52 | <a name="l00068"></a>00068 <span class="keyword">const</span> <a class="code" href="classbdm_1_1ARX.html" title="Linear Autoregressive model with Gaussian noise.">ARX</a>* A=<span class="keyword">dynamic_cast<</span><span class="keyword">const </span><a class="code" href="classbdm_1_1ARX.html" title="Linear Autoregressive model with Gaussian noise.">ARX</a>*<span class="keyword">></span>(B); |
---|
53 | <a name="l00069"></a>00069 <span class="comment">// nu should be equal to B.nu</span> |
---|
54 | <a name="l00070"></a>00070 <a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#8e610e95401a11baf34f65e16ecd87be" title="Power of the density, used e.g. to flatten the density.">pow</a> ( A-><a class="code" href="classbdm_1_1ARX.html#740b0582f180ba13cae91d66e9bdb67f" title="cached value of est.nu">nu</a>/<a class="code" href="classbdm_1_1ARX.html#740b0582f180ba13cae91d66e9bdb67f" title="cached value of est.nu">nu</a>); |
---|
55 | <a name="l00071"></a>00071 <span class="keywordflow">if</span>(<a class="code" href="classbdm_1_1BM.html#faff0ad12556fe7dc0e2807d4fd938ee" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>){<a class="code" href="classbdm_1_1BMEF.html#06e7b3ac03e10017d4288c76888e2865" title="cached value of lognc() in the previous step (used in evaluation of ll )">last_lognc</a>=<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a>.<a class="code" href="classbdm_1_1egiw.html#41d72ba7b2abc8a9a4209ffa98ed5633" title="logarithm of the normalizing constant, ">lognc</a>();} |
---|
56 | <a name="l00072"></a>00072 } |
---|
57 | <a name="l00074"></a>00074 <a class="code" href="classbdm_1_1enorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm<ldmat></a>* <a class="code" href="classbdm_1_1ARX.html#4cdf5e2a7d3480ec31f6247ed4289b15" title="Constructs a predictive density .">epredictor</a>( <span class="keyword">const</span> vec &rgr) <span class="keyword">const</span>; |
---|
58 | <a name="l00075"></a><a class="code" href="classbdm_1_1ARX.html#4cdf5e2a7d3480ec31f6247ed4289b15">00075</a> <a class="code" href="classbdm_1_1enorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm<ldmat></a>* <a class="code" href="classbdm_1_1ARX.html#4cdf5e2a7d3480ec31f6247ed4289b15" title="Constructs a predictive density .">epredictor</a>()<span class="keyword"> const </span>{it_assert_debug(rv0.count()==<a class="code" href="classbdm_1_1ARX.html#de5b7d83ff5d3f5af2f80068db0abdfd" title="cached value of est.V">V</a>.<a class="code" href="group__math.html#g96dfb21865db4f5bd36fa70f9b0b1163" title="access function">rows</a>()-1,<span class="stringliteral">"Regressor is not only 1"</span>);<span class="keywordflow">return</span> <a class="code" href="classbdm_1_1ARX.html#4cdf5e2a7d3480ec31f6247ed4289b15" title="Constructs a predictive density .">epredictor</a>(vec_1(1.0));} |
---|
59 | <a name="l00077"></a>00077 <a class="code" href="classbdm_1_1mlnorm.html" title="Normal distributed linear function with linear function of mean value;.">mlnorm<ldmat></a>* <a class="code" href="classbdm_1_1ARX.html#74fe8ae2d88bee8639510fd0eaf73513" title="conditional version of the predictor">predictor</a>() <span class="keyword">const</span>; |
---|
60 | <a name="l00078"></a>00078 <a class="code" href="classbdm_1_1mlstudent.html">mlstudent</a>* predictor_student() <span class="keyword">const</span>; |
---|
61 | <a name="l00080"></a>00080 ivec <a class="code" href="classbdm_1_1ARX.html#16b02ae03316751664c22d59d90c1e34" title="Brute force structure estimation.">structure_est</a> ( <a class="code" href="classbdm_1_1egiw.html" title="Gauss-inverse-Wishart density stored in LD form.">egiw</a> Eg0 ); |
---|
62 | <a name="l00081"></a>00081 <span class="keyword">const</span> <a class="code" href="classbdm_1_1egiw.html" title="Gauss-inverse-Wishart density stored in LD form.">egiw</a>* _e()<span class="keyword"> const </span>{<span class="keywordflow">return</span> &<a class="code" href="classbdm_1_1ARX.html#11474a627367f81b76830cb8477cf026" title="Posterior estimate of in the form of Normal-inverse Wishart density.">est</a> ;}; |
---|
63 | <a name="l00082"></a>00082 }; |
---|
64 | <a name="l00083"></a>00083 |
---|
65 | <a name="l00084"></a>00084 } |
---|
66 | <a name="l00085"></a>00085 |
---|
67 | <a name="l00086"></a>00086 <span class="preprocessor">#endif // AR_H</span> |
---|
68 | <a name="l00087"></a>00087 <span class="preprocessor"></span> |
---|
69 | <a name="l00088"></a>00088 |
---|
70 | </pre></div></div> |
---|
71 | <hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 11 23:33:54 2009 for mixpp by |
---|
72 | <a href="http://www.doxygen.org/index.html"> |
---|
73 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> |
---|
74 | </body> |
---|
75 | </html> |
---|