1 | \hypertarget{classKalman}{ |
---|
2 | \section{Kalman$<$ sq\_\-T $>$ Class Template Reference} |
---|
3 | \label{classKalman}\index{Kalman@{Kalman}} |
---|
4 | } |
---|
5 | \hyperlink{classKalman}{Kalman} filter with covariance matrices in square root form. |
---|
6 | |
---|
7 | |
---|
8 | {\tt \#include $<$libKF.h$>$} |
---|
9 | |
---|
10 | Inheritance diagram for Kalman$<$ sq\_\-T $>$:\nopagebreak |
---|
11 | \begin{figure}[H] |
---|
12 | \begin{center} |
---|
13 | \leavevmode |
---|
14 | \includegraphics[width=400pt]{classKalman__inherit__graph} |
---|
15 | \end{center} |
---|
16 | \end{figure} |
---|
17 | Collaboration diagram for Kalman$<$ sq\_\-T $>$:\nopagebreak |
---|
18 | \begin{figure}[H] |
---|
19 | \begin{center} |
---|
20 | \leavevmode |
---|
21 | \includegraphics[width=79pt]{classKalman__coll__graph} |
---|
22 | \end{center} |
---|
23 | \end{figure} |
---|
24 | \subsection*{Public Member Functions} |
---|
25 | \begin{CompactItemize} |
---|
26 | \item |
---|
27 | \hypertarget{classKalman_3d56b0a97b8c1e25fdd3b10eef3c2ad3}{ |
---|
28 | \hyperlink{classKalman_3d56b0a97b8c1e25fdd3b10eef3c2ad3}{Kalman} (\hyperlink{classRV}{RV} rvx0, \hyperlink{classRV}{RV} rvy0, \hyperlink{classRV}{RV} rvu0)} |
---|
29 | \label{classKalman_3d56b0a97b8c1e25fdd3b10eef3c2ad3} |
---|
30 | |
---|
31 | \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item |
---|
32 | \hypertarget{classKalman_ce38e31810aea4db45a83ad05eaba009}{ |
---|
33 | \hyperlink{classKalman_ce38e31810aea4db45a83ad05eaba009}{Kalman} (const \hyperlink{classKalman}{Kalman}$<$ sq\_\-T $>$ \&K0)} |
---|
34 | \label{classKalman_ce38e31810aea4db45a83ad05eaba009} |
---|
35 | |
---|
36 | \begin{CompactList}\small\item\em Copy constructor. \item\end{CompactList}\item |
---|
37 | \hypertarget{classKalman_239b28a0380946f5749b2f8d2807f93a}{ |
---|
38 | void \hyperlink{classKalman_239b28a0380946f5749b2f8d2807f93a}{set\_\-parameters} (const mat \&A0, const mat \&B0, const mat \&C0, const mat \&D0, const sq\_\-T \&R0, const sq\_\-T \&Q0)} |
---|
39 | \label{classKalman_239b28a0380946f5749b2f8d2807f93a} |
---|
40 | |
---|
41 | \begin{CompactList}\small\item\em Set parameters with check of relevance. \item\end{CompactList}\item |
---|
42 | \hypertarget{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}{ |
---|
43 | void \hyperlink{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}{set\_\-est} (const vec \&mu0, const sq\_\-T \&P0)} |
---|
44 | \label{classKalman_80bcf29466d9a9dd2b8f74699807d0c0} |
---|
45 | |
---|
46 | \begin{CompactList}\small\item\em Set estimate values, used e.g. in initialization. \item\end{CompactList}\item |
---|
47 | \hypertarget{classKalman_7750ffd73f261828a32c18aaeb65c75c}{ |
---|
48 | void \hyperlink{classKalman_7750ffd73f261828a32c18aaeb65c75c}{bayes} (const vec \&dt)} |
---|
49 | \label{classKalman_7750ffd73f261828a32c18aaeb65c75c} |
---|
50 | |
---|
51 | \begin{CompactList}\small\item\em Here dt = \mbox{[}yt;ut\mbox{]} of appropriate dimensions. \item\end{CompactList}\item |
---|
52 | \hypertarget{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{ |
---|
53 | const \hyperlink{classepdf}{epdf} \& \hyperlink{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{\_\-epdf} () const } |
---|
54 | \label{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe} |
---|
55 | |
---|
56 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
57 | \hypertarget{classKalman_11f82ef04e3dbc54bd1d3d89edb6aa07}{ |
---|
58 | const \hyperlink{classenorm}{enorm}$<$ sq\_\-T $>$ $\ast$ \hyperlink{classKalman_11f82ef04e3dbc54bd1d3d89edb6aa07}{\_\-e} () const } |
---|
59 | \label{classKalman_11f82ef04e3dbc54bd1d3d89edb6aa07} |
---|
60 | |
---|
61 | \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 |
---|
62 | \hypertarget{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{ |
---|
63 | mat \& \hyperlink{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{\_\-\_\-K} ()} |
---|
64 | \label{classKalman_980fcd41c6c548c5da7b8b67c8e6da79} |
---|
65 | |
---|
66 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
67 | \hypertarget{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{ |
---|
68 | vec \hyperlink{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{\_\-dP} ()} |
---|
69 | \label{classKalman_ac9540f3850b74d89a5fe4db6fc358ce} |
---|
70 | |
---|
71 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
72 | \hypertarget{classBM_0186270f75189677f390fe088a9947e9}{ |
---|
73 | virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)} |
---|
74 | \label{classBM_0186270f75189677f390fe088a9947e9} |
---|
75 | |
---|
76 | \begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item |
---|
77 | virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const |
---|
78 | \item |
---|
79 | \hypertarget{classBM_cd0660f2a1a344b56ac39802708ff165}{ |
---|
80 | vec \hyperlink{classBM_cd0660f2a1a344b56ac39802708ff165}{logpred\_\-m} (const mat \&dt) const } |
---|
81 | \label{classBM_cd0660f2a1a344b56ac39802708ff165} |
---|
82 | |
---|
83 | \begin{CompactList}\small\item\em Matrix version of logpred. \item\end{CompactList}\item |
---|
84 | \hypertarget{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}{ |
---|
85 | virtual \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}{predictor} (const \hyperlink{classRV}{RV} \&\hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}) const } |
---|
86 | \label{classBM_5594d68ee9aa6fc8c1e79019da5c9d56} |
---|
87 | |
---|
88 | \begin{CompactList}\small\item\em Constructs a predictive density (marginal density on data). \item\end{CompactList}\item |
---|
89 | \hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{ |
---|
90 | const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const } |
---|
91 | \label{classBM_126bd2595c48e311fc2a7ab72876092a} |
---|
92 | |
---|
93 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
94 | \hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{ |
---|
95 | double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const } |
---|
96 | \label{classBM_87f4a547d2c29180be88175e5eab9c88} |
---|
97 | |
---|
98 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
99 | \hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{ |
---|
100 | void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)} |
---|
101 | \label{classBM_1ffa9f23669aabecc3760c06c6987522} |
---|
102 | |
---|
103 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
104 | virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false) |
---|
105 | \end{CompactItemize} |
---|
106 | \subsection*{Protected Attributes} |
---|
107 | \begin{CompactItemize} |
---|
108 | \item |
---|
109 | \hypertarget{classKalman_7501230c2fafa3655887d2da23b3184c}{ |
---|
110 | \hyperlink{classRV}{RV} \hyperlink{classKalman_7501230c2fafa3655887d2da23b3184c}{rvy}} |
---|
111 | \label{classKalman_7501230c2fafa3655887d2da23b3184c} |
---|
112 | |
---|
113 | \begin{CompactList}\small\item\em Indetifier of output rv. \item\end{CompactList}\item |
---|
114 | \hypertarget{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{ |
---|
115 | \hyperlink{classRV}{RV} \hyperlink{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{rvu}} |
---|
116 | \label{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498} |
---|
117 | |
---|
118 | \begin{CompactList}\small\item\em Indetifier of exogeneous rv. \item\end{CompactList}\item |
---|
119 | \hypertarget{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{ |
---|
120 | int \hyperlink{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{dimx}} |
---|
121 | \label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb} |
---|
122 | |
---|
123 | \begin{CompactList}\small\item\em cache of rv.count() \item\end{CompactList}\item |
---|
124 | \hypertarget{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{ |
---|
125 | int \hyperlink{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{dimy}} |
---|
126 | \label{classKalman_ba17b956df1e38b31fbbc299c8213b6a} |
---|
127 | |
---|
128 | \begin{CompactList}\small\item\em cache of rvy.count() \item\end{CompactList}\item |
---|
129 | \hypertarget{classKalman_b0153795a1444b6968a86409c778d9ce}{ |
---|
130 | int \hyperlink{classKalman_b0153795a1444b6968a86409c778d9ce}{dimu}} |
---|
131 | \label{classKalman_b0153795a1444b6968a86409c778d9ce} |
---|
132 | |
---|
133 | \begin{CompactList}\small\item\em cache of rvu.count() \item\end{CompactList}\item |
---|
134 | \hypertarget{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{ |
---|
135 | mat \hyperlink{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{A}} |
---|
136 | \label{classKalman_5e02efe86ee91e9c74b93b425fe060b9} |
---|
137 | |
---|
138 | \begin{CompactList}\small\item\em Matrix A. \item\end{CompactList}\item |
---|
139 | \hypertarget{classKalman_dc87704284a6c0bca13bf51f4345a50a}{ |
---|
140 | mat \hyperlink{classKalman_dc87704284a6c0bca13bf51f4345a50a}{B}} |
---|
141 | \label{classKalman_dc87704284a6c0bca13bf51f4345a50a} |
---|
142 | |
---|
143 | \begin{CompactList}\small\item\em Matrix B. \item\end{CompactList}\item |
---|
144 | \hypertarget{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{ |
---|
145 | mat \hyperlink{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{C}} |
---|
146 | \label{classKalman_86a805cd6515872d1132ad0d6eb5dc13} |
---|
147 | |
---|
148 | \begin{CompactList}\small\item\em Matrix C. \item\end{CompactList}\item |
---|
149 | \hypertarget{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{ |
---|
150 | mat \hyperlink{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{D}} |
---|
151 | \label{classKalman_d69f774ba3335c970c1c5b1d182f4dd1} |
---|
152 | |
---|
153 | \begin{CompactList}\small\item\em Matrix D. \item\end{CompactList}\item |
---|
154 | \hypertarget{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{ |
---|
155 | sq\_\-T \hyperlink{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{Q}} |
---|
156 | \label{classKalman_9b69015c800eb93f3ee49da23a6f55d9} |
---|
157 | |
---|
158 | \begin{CompactList}\small\item\em Matrix Q in square-root form. \item\end{CompactList}\item |
---|
159 | \hypertarget{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{ |
---|
160 | sq\_\-T \hyperlink{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{R}} |
---|
161 | \label{classKalman_11d171dc0e0ab111c56a70f98b97b3ec} |
---|
162 | |
---|
163 | \begin{CompactList}\small\item\em Matrix R in square-root form. \item\end{CompactList}\item |
---|
164 | \hypertarget{classKalman_5568c74bac67ae6d3b1061dba60c9424}{ |
---|
165 | \hyperlink{classenorm}{enorm}$<$ sq\_\-T $>$ \hyperlink{classKalman_5568c74bac67ae6d3b1061dba60c9424}{est}} |
---|
166 | \label{classKalman_5568c74bac67ae6d3b1061dba60c9424} |
---|
167 | |
---|
168 | \begin{CompactList}\small\item\em posterior density on \$x\_\-t\$ \item\end{CompactList}\item |
---|
169 | \hypertarget{classKalman_e580ab06483952bd03f2e651763e184f}{ |
---|
170 | \hyperlink{classenorm}{enorm}$<$ sq\_\-T $>$ \hyperlink{classKalman_e580ab06483952bd03f2e651763e184f}{fy}} |
---|
171 | \label{classKalman_e580ab06483952bd03f2e651763e184f} |
---|
172 | |
---|
173 | \begin{CompactList}\small\item\em preditive density on \$y\_\-t\$ \item\end{CompactList}\item |
---|
174 | \hypertarget{classKalman_d422f51467c7a06174af2476d2826132}{ |
---|
175 | mat \hyperlink{classKalman_d422f51467c7a06174af2476d2826132}{\_\-K}} |
---|
176 | \label{classKalman_d422f51467c7a06174af2476d2826132} |
---|
177 | |
---|
178 | \begin{CompactList}\small\item\em placeholder for \hyperlink{classKalman}{Kalman} gain \item\end{CompactList}\item |
---|
179 | \hypertarget{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{ |
---|
180 | vec \& \hyperlink{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{\_\-yp}} |
---|
181 | \label{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd} |
---|
182 | |
---|
183 | \begin{CompactList}\small\item\em cache of fy.mu \item\end{CompactList}\item |
---|
184 | \hypertarget{classKalman_45c9f928d2d62e0c884900fb3380f904}{ |
---|
185 | sq\_\-T \& \hyperlink{classKalman_45c9f928d2d62e0c884900fb3380f904}{\_\-Ry}} |
---|
186 | \label{classKalman_45c9f928d2d62e0c884900fb3380f904} |
---|
187 | |
---|
188 | \begin{CompactList}\small\item\em cache of fy.R \item\end{CompactList}\item |
---|
189 | \hypertarget{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{ |
---|
190 | vec \& \hyperlink{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{\_\-mu}} |
---|
191 | \label{classKalman_fe803a81d2d847b0b1db3c6b29c18061} |
---|
192 | |
---|
193 | \begin{CompactList}\small\item\em cache of est.mu \item\end{CompactList}\item |
---|
194 | \hypertarget{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{ |
---|
195 | sq\_\-T \& \hyperlink{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{\_\-P}} |
---|
196 | \label{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf} |
---|
197 | |
---|
198 | \begin{CompactList}\small\item\em cache of est.R \item\end{CompactList}\item |
---|
199 | \hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{ |
---|
200 | \hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}} |
---|
201 | \label{classBM_af00f0612fabe66241dd507188cdbf88} |
---|
202 | |
---|
203 | \begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item |
---|
204 | \hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{ |
---|
205 | double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}} |
---|
206 | \label{classBM_5623fef6572a08c2b53b8c87b82dc979} |
---|
207 | |
---|
208 | \begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item |
---|
209 | \hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{ |
---|
210 | bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}} |
---|
211 | \label{classBM_bf6fb59b30141074f8ee1e2f43d03129} |
---|
212 | |
---|
213 | \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} |
---|
214 | |
---|
215 | |
---|
216 | \subsection{Detailed Description} |
---|
217 | \subsubsection*{template$<$class sq\_\-T$>$ class Kalman$<$ sq\_\-T $>$} |
---|
218 | |
---|
219 | \hyperlink{classKalman}{Kalman} filter with covariance matrices in square root form. |
---|
220 | |
---|
221 | Parameter evolution model:\[ x_t = A x_{t-1} + B u_t + Q^{1/2} e_t \] Observation model: \[ y_t = C x_{t-1} + C u_t + Q^{1/2} w_t. \] Where \$e\_\-t\$ and \$w\_\-t\$ are independent vectors Normal(0,1)-distributed disturbances. |
---|
222 | |
---|
223 | \subsection{Member Function Documentation} |
---|
224 | \hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{ |
---|
225 | \index{Kalman@{Kalman}!logpred@{logpred}} |
---|
226 | \index{logpred@{logpred}!Kalman@{Kalman}} |
---|
227 | \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{]}}}} |
---|
228 | \label{classBM_8a8ce6df431689964c41cc6c849cfd06} |
---|
229 | |
---|
230 | |
---|
231 | Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out. |
---|
232 | |
---|
233 | Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}. |
---|
234 | |
---|
235 | Referenced by BM::logpred\_\-m().\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{ |
---|
236 | \index{Kalman@{Kalman}!\_\-copy\_\-@{\_\-copy\_\-}} |
---|
237 | \index{\_\-copy\_\-@{\_\-copy\_\-}!Kalman@{Kalman}} |
---|
238 | \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{]}}}} |
---|
239 | \label{classBM_eb58c81d6a7b75b05fc6f276eed78887} |
---|
240 | |
---|
241 | |
---|
242 | 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; \} |
---|
243 | |
---|
244 | Reimplemented in \hyperlink{classARX_5de61fbd4f97fa3216760b1f733f5af0}{ARX}, and \hyperlink{classBMEF_97f5312efe4a5bedb86d2daec59d8651}{BMEF}. |
---|
245 | |
---|
246 | The documentation for this class was generated from the following file:\begin{CompactItemize} |
---|
247 | \item |
---|
248 | work/git/mixpp/bdm/estim/\hyperlink{libKF_8h}{libKF.h}\end{CompactItemize} |
---|