[172] | 1 | \hypertarget{classEKFfull}{ |
---|
[99] | 2 | \section{EKFfull Class Reference} |
---|
| 3 | \label{classEKFfull}\index{EKFfull@{EKFfull}} |
---|
[172] | 4 | } |
---|
| 5 | Extended \hyperlink{classKalman}{Kalman} Filter in full matrices. |
---|
[99] | 6 | |
---|
| 7 | |
---|
| 8 | {\tt \#include $<$libKF.h$>$} |
---|
| 9 | |
---|
| 10 | Inheritance diagram for EKFfull:\nopagebreak |
---|
| 11 | \begin{figure}[H] |
---|
| 12 | \begin{center} |
---|
| 13 | \leavevmode |
---|
[140] | 14 | \includegraphics[width=102pt]{classEKFfull__inherit__graph} |
---|
[99] | 15 | \end{center} |
---|
| 16 | \end{figure} |
---|
| 17 | Collaboration diagram for EKFfull:\nopagebreak |
---|
| 18 | \begin{figure}[H] |
---|
| 19 | \begin{center} |
---|
| 20 | \leavevmode |
---|
| 21 | \includegraphics[height=400pt]{classEKFfull__coll__graph} |
---|
| 22 | \end{center} |
---|
| 23 | \end{figure} |
---|
| 24 | \subsection*{Public Member Functions} |
---|
| 25 | \begin{CompactItemize} |
---|
| 26 | \item |
---|
[172] | 27 | \hypertarget{classEKFfull_67ac4de96fd025197da767fe0472c7f7}{ |
---|
| 28 | \hyperlink{classEKFfull_67ac4de96fd025197da767fe0472c7f7}{EKFfull} (\hyperlink{classRV}{RV} rvx, \hyperlink{classRV}{RV} rvy, \hyperlink{classRV}{RV} rvu)} |
---|
| 29 | \label{classEKFfull_67ac4de96fd025197da767fe0472c7f7} |
---|
[99] | 30 | |
---|
| 31 | \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item |
---|
[172] | 32 | \hypertarget{classEKFfull_fc753106e0d4cf68e4f2160fd54458c0}{ |
---|
| 33 | void \hyperlink{classEKFfull_fc753106e0d4cf68e4f2160fd54458c0}{set\_\-parameters} (\hyperlink{classdiffbifn}{diffbifn} $\ast$pfxu, \hyperlink{classdiffbifn}{diffbifn} $\ast$phxu, const mat Q0, const mat R0)} |
---|
| 34 | \label{classEKFfull_fc753106e0d4cf68e4f2160fd54458c0} |
---|
[99] | 35 | |
---|
| 36 | \begin{CompactList}\small\item\em Set nonlinear functions for mean values and covariance matrices. \item\end{CompactList}\item |
---|
[172] | 37 | \hypertarget{classEKFfull_8ca46f177e395fa714bbd8bd29ea43e0}{ |
---|
| 38 | void \hyperlink{classEKFfull_8ca46f177e395fa714bbd8bd29ea43e0}{bayes} (const vec \&dt)} |
---|
| 39 | \label{classEKFfull_8ca46f177e395fa714bbd8bd29ea43e0} |
---|
[99] | 40 | |
---|
[172] | 41 | \begin{CompactList}\small\item\em Here dt = \mbox{[}yt;ut\mbox{]} of appropriate dimensions. \item\end{CompactList}\item |
---|
| 42 | \hypertarget{classEKFfull_7bb76ea74c144ea0b36db99f94750b7b}{ |
---|
| 43 | void \hyperlink{classEKFfull_7bb76ea74c144ea0b36db99f94750b7b}{set\_\-est} (vec mu0, mat P0)} |
---|
| 44 | \label{classEKFfull_7bb76ea74c144ea0b36db99f94750b7b} |
---|
[99] | 45 | |
---|
| 46 | \begin{CompactList}\small\item\em set estimates \item\end{CompactList}\item |
---|
[172] | 47 | \hypertarget{classEKFfull_170a748ad944bdebb0b3073463876abe}{ |
---|
| 48 | const \hyperlink{classepdf}{epdf} \& \hyperlink{classEKFfull_170a748ad944bdebb0b3073463876abe}{\_\-epdf} () const } |
---|
| 49 | \label{classEKFfull_170a748ad944bdebb0b3073463876abe} |
---|
[99] | 50 | |
---|
| 51 | \begin{CompactList}\small\item\em dummy! \item\end{CompactList}\item |
---|
[210] | 52 | \hypertarget{classEKFfull_820987401e922a03c7d36013e42d8c48}{ |
---|
| 53 | const \hyperlink{classenorm}{enorm}$<$ \hyperlink{classfsqmat}{fsqmat} $>$ $\ast$ \hyperlink{classEKFfull_820987401e922a03c7d36013e42d8c48}{\_\-e} () const } |
---|
| 54 | \label{classEKFfull_820987401e922a03c7d36013e42d8c48} |
---|
| 55 | |
---|
| 56 | \begin{CompactList}\small\item\em Returns a pointer to the \hyperlink{classepdf}{epdf} representing posterior density on parameters. Use with care! \item\end{CompactList}\item |
---|
[219] | 57 | \hypertarget{classEKFfull_31f310660d78999286d2a4e9267e85fb}{ |
---|
| 58 | const mat \textbf{\_\-R} ()} |
---|
| 59 | \label{classEKFfull_31f310660d78999286d2a4e9267e85fb} |
---|
| 60 | |
---|
| 61 | \item |
---|
[172] | 62 | \hypertarget{classBM_0186270f75189677f390fe088a9947e9}{ |
---|
| 63 | virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)} |
---|
| 64 | \label{classBM_0186270f75189677f390fe088a9947e9} |
---|
[99] | 65 | |
---|
| 66 | \begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item |
---|
[172] | 67 | virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const |
---|
| 68 | \item |
---|
[180] | 69 | \hypertarget{classBM_cd0660f2a1a344b56ac39802708ff165}{ |
---|
| 70 | vec \hyperlink{classBM_cd0660f2a1a344b56ac39802708ff165}{logpred\_\-m} (const mat \&dt) const } |
---|
| 71 | \label{classBM_cd0660f2a1a344b56ac39802708ff165} |
---|
| 72 | |
---|
| 73 | \begin{CompactList}\small\item\em Matrix version of logpred. \item\end{CompactList}\item |
---|
[210] | 74 | \hypertarget{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}{ |
---|
| 75 | virtual \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}{predictor} (const \hyperlink{classRV}{RV} \&\hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}) const } |
---|
| 76 | \label{classBM_5594d68ee9aa6fc8c1e79019da5c9d56} |
---|
[180] | 77 | |
---|
| 78 | \begin{CompactList}\small\item\em Constructs a predictive density (marginal density on data). \item\end{CompactList}\item |
---|
[172] | 79 | \hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{ |
---|
| 80 | const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const } |
---|
| 81 | \label{classBM_126bd2595c48e311fc2a7ab72876092a} |
---|
[99] | 82 | |
---|
| 83 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
[172] | 84 | \hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{ |
---|
| 85 | double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const } |
---|
| 86 | \label{classBM_87f4a547d2c29180be88175e5eab9c88} |
---|
[99] | 87 | |
---|
[172] | 88 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
| 89 | \hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{ |
---|
| 90 | void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)} |
---|
| 91 | \label{classBM_1ffa9f23669aabecc3760c06c6987522} |
---|
| 92 | |
---|
| 93 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
| 94 | virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false) |
---|
| 95 | \end{CompactItemize} |
---|
[99] | 96 | \subsection*{Public Attributes} |
---|
| 97 | \begin{CompactItemize} |
---|
| 98 | \item |
---|
[172] | 99 | \hypertarget{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a}{ |
---|
| 100 | vec \hyperlink{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a}{mu}} |
---|
| 101 | \label{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a} |
---|
[99] | 102 | |
---|
| 103 | \begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\item |
---|
[172] | 104 | \hypertarget{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}{ |
---|
| 105 | mat \hyperlink{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}{P}} |
---|
| 106 | \label{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc} |
---|
[99] | 107 | |
---|
| 108 | \begin{CompactList}\small\item\em Variance of the posterior density. \item\end{CompactList}\item |
---|
[172] | 109 | \hypertarget{classKalmanFull_c17d69e125acd2673e6688fd86dd3f84}{ |
---|
| 110 | bool \textbf{evalll}} |
---|
| 111 | \label{classKalmanFull_c17d69e125acd2673e6688fd86dd3f84} |
---|
[99] | 112 | |
---|
| 113 | \item |
---|
[172] | 114 | \hypertarget{classKalmanFull_3aa4bf6128980d0627413dcf9cd07308}{ |
---|
| 115 | double \textbf{ll}} |
---|
| 116 | \label{classKalmanFull_3aa4bf6128980d0627413dcf9cd07308} |
---|
[99] | 117 | |
---|
| 118 | \end{CompactItemize} |
---|
| 119 | \subsection*{Protected Attributes} |
---|
| 120 | \begin{CompactItemize} |
---|
| 121 | \item |
---|
[172] | 122 | \hypertarget{classKalmanFull_c5353e66238ed717dba79e0499118226}{ |
---|
| 123 | int \textbf{dimx}} |
---|
| 124 | \label{classKalmanFull_c5353e66238ed717dba79e0499118226} |
---|
[99] | 125 | |
---|
| 126 | \item |
---|
[172] | 127 | \hypertarget{classKalmanFull_761fadcc12dd4cb83bb8b5e27db01947}{ |
---|
| 128 | int \textbf{dimy}} |
---|
| 129 | \label{classKalmanFull_761fadcc12dd4cb83bb8b5e27db01947} |
---|
[99] | 130 | |
---|
| 131 | \item |
---|
[172] | 132 | \hypertarget{classKalmanFull_609a4a0fcde78fd7aac2f01b34e952c9}{ |
---|
| 133 | int \textbf{dimu}} |
---|
| 134 | \label{classKalmanFull_609a4a0fcde78fd7aac2f01b34e952c9} |
---|
[99] | 135 | |
---|
| 136 | \item |
---|
[172] | 137 | \hypertarget{classKalmanFull_554de4c953761380cd5a14a02542e007}{ |
---|
| 138 | mat \textbf{A}} |
---|
| 139 | \label{classKalmanFull_554de4c953761380cd5a14a02542e007} |
---|
[99] | 140 | |
---|
| 141 | \item |
---|
[172] | 142 | \hypertarget{classKalmanFull_ac7ade2a603a1b05419e36c5aae21755}{ |
---|
| 143 | mat \textbf{B}} |
---|
| 144 | \label{classKalmanFull_ac7ade2a603a1b05419e36c5aae21755} |
---|
[99] | 145 | |
---|
| 146 | \item |
---|
[172] | 147 | \hypertarget{classKalmanFull_5a9a8326ae17b519109fcdad59ea74a3}{ |
---|
| 148 | mat \textbf{C}} |
---|
| 149 | \label{classKalmanFull_5a9a8326ae17b519109fcdad59ea74a3} |
---|
[99] | 150 | |
---|
| 151 | \item |
---|
[172] | 152 | \hypertarget{classKalmanFull_8f992a2d6b66d2e8bd9174b28cc0f074}{ |
---|
| 153 | mat \textbf{D}} |
---|
| 154 | \label{classKalmanFull_8f992a2d6b66d2e8bd9174b28cc0f074} |
---|
[99] | 155 | |
---|
| 156 | \item |
---|
[172] | 157 | \hypertarget{classKalmanFull_bbd2dab10da47237a5f0d9e55fd61f24}{ |
---|
| 158 | mat \textbf{R}} |
---|
| 159 | \label{classKalmanFull_bbd2dab10da47237a5f0d9e55fd61f24} |
---|
[99] | 160 | |
---|
| 161 | \item |
---|
[172] | 162 | \hypertarget{classKalmanFull_a8777c1fe67763395d3ddeb326239851}{ |
---|
| 163 | mat \textbf{Q}} |
---|
| 164 | \label{classKalmanFull_a8777c1fe67763395d3ddeb326239851} |
---|
[99] | 165 | |
---|
| 166 | \item |
---|
[172] | 167 | \hypertarget{classKalmanFull_905823cf4157a11b8b824e45809dac55}{ |
---|
| 168 | mat \textbf{\_\-Pp}} |
---|
| 169 | \label{classKalmanFull_905823cf4157a11b8b824e45809dac55} |
---|
[99] | 170 | |
---|
| 171 | \item |
---|
[172] | 172 | \hypertarget{classKalmanFull_b1b946b3a43f7d86cf4b6dc0dd6e3210}{ |
---|
| 173 | mat \textbf{\_\-Ry}} |
---|
| 174 | \label{classKalmanFull_b1b946b3a43f7d86cf4b6dc0dd6e3210} |
---|
[99] | 175 | |
---|
| 176 | \item |
---|
[172] | 177 | \hypertarget{classKalmanFull_c7d915386a9d60b1bc309ae9166764f6}{ |
---|
| 178 | mat \textbf{\_\-iRy}} |
---|
| 179 | \label{classKalmanFull_c7d915386a9d60b1bc309ae9166764f6} |
---|
[99] | 180 | |
---|
| 181 | \item |
---|
[172] | 182 | \hypertarget{classKalmanFull_4c8354ea4801529f3071189ddd10d760}{ |
---|
| 183 | mat \textbf{\_\-K}} |
---|
| 184 | \label{classKalmanFull_4c8354ea4801529f3071189ddd10d760} |
---|
[99] | 185 | |
---|
| 186 | \item |
---|
[172] | 187 | \hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{ |
---|
| 188 | \hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}} |
---|
| 189 | \label{classBM_af00f0612fabe66241dd507188cdbf88} |
---|
[99] | 190 | |
---|
| 191 | \begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item |
---|
[172] | 192 | \hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{ |
---|
| 193 | double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}} |
---|
| 194 | \label{classBM_5623fef6572a08c2b53b8c87b82dc979} |
---|
[99] | 195 | |
---|
| 196 | \begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item |
---|
[172] | 197 | \hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{ |
---|
| 198 | bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}} |
---|
| 199 | \label{classBM_bf6fb59b30141074f8ee1e2f43d03129} |
---|
[99] | 200 | |
---|
[172] | 201 | \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} |
---|
[99] | 202 | \subsection*{Friends} |
---|
| 203 | \begin{CompactItemize} |
---|
| 204 | \item |
---|
[172] | 205 | \hypertarget{classKalmanFull_86ba216243ed95bb46d80d88775d16af}{ |
---|
| 206 | std::ostream \& \hyperlink{classKalmanFull_86ba216243ed95bb46d80d88775d16af}{operator$<$$<$} (std::ostream \&os, const \hyperlink{classKalmanFull}{KalmanFull} \&kf)} |
---|
| 207 | \label{classKalmanFull_86ba216243ed95bb46d80d88775d16af} |
---|
[99] | 208 | |
---|
| 209 | \begin{CompactList}\small\item\em print elements of KF \item\end{CompactList}\end{CompactItemize} |
---|
| 210 | |
---|
| 211 | |
---|
| 212 | \subsection{Detailed Description} |
---|
[172] | 213 | Extended \hyperlink{classKalman}{Kalman} Filter in full matrices. |
---|
[99] | 214 | |
---|
| 215 | An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean. |
---|
| 216 | |
---|
[172] | 217 | \subsection{Member Function Documentation} |
---|
| 218 | \hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{ |
---|
| 219 | \index{EKFfull@{EKFfull}!logpred@{logpred}} |
---|
| 220 | \index{logpred@{logpred}!EKFfull@{EKFfull}} |
---|
| 221 | \subsubsection[logpred]{\setlength{\rightskip}{0pt plus 5cm}virtual double BM::logpred (const vec \& {\em dt}) const\hspace{0.3cm}{\tt \mbox{[}inline, virtual, inherited\mbox{]}}}} |
---|
| 222 | \label{classBM_8a8ce6df431689964c41cc6c849cfd06} |
---|
| 223 | |
---|
| 224 | |
---|
| 225 | Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out. |
---|
| 226 | |
---|
[180] | 227 | Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}. |
---|
| 228 | |
---|
| 229 | Referenced by BM::logpred\_\-m().\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{ |
---|
[172] | 230 | \index{EKFfull@{EKFfull}!\_\-copy\_\-@{\_\-copy\_\-}} |
---|
| 231 | \index{\_\-copy\_\-@{\_\-copy\_\-}!EKFfull@{EKFfull}} |
---|
| 232 | \subsubsection[\_\-copy\_\-]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf BM}$\ast$ BM::\_\-copy\_\- (bool {\em changerv} = {\tt false})\hspace{0.3cm}{\tt \mbox{[}inline, virtual, inherited\mbox{]}}}} |
---|
| 233 | \label{classBM_eb58c81d6a7b75b05fc6f276eed78887} |
---|
| 234 | |
---|
| 235 | |
---|
| 236 | Copy function required in vectors, Arrays of \hyperlink{classBM}{BM} etc. Have to be DELETED manually! Prototype: BM$\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-()}\{\hyperlink{classBM}{BM} Tmp$\ast$=new Tmp(this$\ast$); return Tmp; \} |
---|
| 237 | |
---|
[210] | 238 | Reimplemented in \hyperlink{classARX_5de61fbd4f97fa3216760b1f733f5af0}{ARX}, and \hyperlink{classBMEF_97f5312efe4a5bedb86d2daec59d8651}{BMEF}. |
---|
[172] | 239 | |
---|
[99] | 240 | The documentation for this class was generated from the following files:\begin{CompactItemize} |
---|
| 241 | \item |
---|
[172] | 242 | work/git/mixpp/bdm/estim/\hyperlink{libKF_8h}{libKF.h}\item |
---|
[145] | 243 | work/git/mixpp/bdm/estim/libKF.cpp\end{CompactItemize} |
---|