[172] | 1 | \hypertarget{classPF}{ |
---|
[8] | 2 | \section{PF Class Reference} |
---|
| 3 | \label{classPF}\index{PF@{PF}} |
---|
[172] | 4 | } |
---|
[32] | 5 | Trivial particle filter with proposal density equal to parameter evolution model. |
---|
[8] | 6 | |
---|
| 7 | |
---|
| 8 | {\tt \#include $<$libPF.h$>$} |
---|
| 9 | |
---|
[19] | 10 | Inheritance diagram for PF:\nopagebreak |
---|
| 11 | \begin{figure}[H] |
---|
[8] | 12 | \begin{center} |
---|
| 13 | \leavevmode |
---|
[91] | 14 | \includegraphics[width=62pt]{classPF__inherit__graph} |
---|
[8] | 15 | \end{center} |
---|
| 16 | \end{figure} |
---|
[19] | 17 | Collaboration diagram for PF:\nopagebreak |
---|
| 18 | \begin{figure}[H] |
---|
| 19 | \begin{center} |
---|
| 20 | \leavevmode |
---|
[91] | 21 | \includegraphics[width=92pt]{classPF__coll__graph} |
---|
[19] | 22 | \end{center} |
---|
| 23 | \end{figure} |
---|
[8] | 24 | \subsection*{Public Member Functions} |
---|
| 25 | \begin{CompactItemize} |
---|
| 26 | \item |
---|
[172] | 27 | \hypertarget{classPF_e99f0d866721405dd281e315ecb690aa}{ |
---|
| 28 | \hyperlink{classPF_e99f0d866721405dd281e315ecb690aa}{PF} (const \hyperlink{classRV}{RV} \&rv0, \hyperlink{classmpdf}{mpdf} \&par0, \hyperlink{classmpdf}{mpdf} \&obs0, int n0)} |
---|
| 29 | \label{classPF_e99f0d866721405dd281e315ecb690aa} |
---|
[8] | 30 | |
---|
[33] | 31 | \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item |
---|
[172] | 32 | \hypertarget{classPF_04d38fbcc0348b558212f530d9ec183e}{ |
---|
| 33 | void \hyperlink{classPF_04d38fbcc0348b558212f530d9ec183e}{set\_\-est} (const \hyperlink{classepdf}{epdf} \&epdf0)} |
---|
| 34 | \label{classPF_04d38fbcc0348b558212f530d9ec183e} |
---|
[28] | 35 | |
---|
[33] | 36 | \begin{CompactList}\small\item\em Set posterior density by sampling from epdf0. \item\end{CompactList}\item |
---|
[172] | 37 | void \hyperlink{classPF_64f636bbd63bea9efd778214e6b631d3}{bayes} (const vec \&dt) |
---|
[28] | 38 | \begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\item |
---|
[172] | 39 | \hypertarget{classBM_0186270f75189677f390fe088a9947e9}{ |
---|
| 40 | virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)} |
---|
| 41 | \label{classBM_0186270f75189677f390fe088a9947e9} |
---|
[28] | 42 | |
---|
| 43 | \begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item |
---|
[172] | 44 | \hypertarget{classBM_8554809fec160bee279bcd5fa14ead5c}{ |
---|
| 45 | virtual const \hyperlink{classepdf}{epdf} \& \hyperlink{classBM_8554809fec160bee279bcd5fa14ead5c}{\_\-epdf} () const =0} |
---|
| 46 | \label{classBM_8554809fec160bee279bcd5fa14ead5c} |
---|
[28] | 47 | |
---|
[172] | 48 | \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 |
---|
| 49 | virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const |
---|
| 50 | \item |
---|
[180] | 51 | \hypertarget{classBM_cd0660f2a1a344b56ac39802708ff165}{ |
---|
| 52 | vec \hyperlink{classBM_cd0660f2a1a344b56ac39802708ff165}{logpred\_\-m} (const mat \&dt) const } |
---|
| 53 | \label{classBM_cd0660f2a1a344b56ac39802708ff165} |
---|
| 54 | |
---|
| 55 | \begin{CompactList}\small\item\em Matrix version of logpred. \item\end{CompactList}\item |
---|
| 56 | \hypertarget{classBM_a627c5a79cc6f5221b7e09675525e032}{ |
---|
| 57 | virtual \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classBM_a627c5a79cc6f5221b7e09675525e032}{predictor} (const \hyperlink{classRV}{RV} \&\hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv})} |
---|
| 58 | \label{classBM_a627c5a79cc6f5221b7e09675525e032} |
---|
| 59 | |
---|
| 60 | \begin{CompactList}\small\item\em Constructs a predictive density (marginal density on data). \item\end{CompactList}\item |
---|
[172] | 61 | \hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{ |
---|
| 62 | const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const } |
---|
| 63 | \label{classBM_126bd2595c48e311fc2a7ab72876092a} |
---|
[33] | 64 | |
---|
| 65 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
[172] | 66 | \hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{ |
---|
| 67 | double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const } |
---|
| 68 | \label{classBM_87f4a547d2c29180be88175e5eab9c88} |
---|
[33] | 69 | |
---|
[172] | 70 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
| 71 | \hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{ |
---|
| 72 | void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)} |
---|
| 73 | \label{classBM_1ffa9f23669aabecc3760c06c6987522} |
---|
| 74 | |
---|
| 75 | \begin{CompactList}\small\item\em access function \item\end{CompactList}\item |
---|
| 76 | virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false) |
---|
| 77 | \end{CompactItemize} |
---|
[32] | 78 | \subsection*{Protected Attributes} |
---|
[28] | 79 | \begin{CompactItemize} |
---|
| 80 | \item |
---|
[172] | 81 | \hypertarget{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}{ |
---|
| 82 | int \hyperlink{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}{n}} |
---|
| 83 | \label{classPF_2c2f44ed7a4eaa42e07bdb58d503f280} |
---|
[32] | 84 | |
---|
| 85 | \begin{CompactList}\small\item\em number of particles; \item\end{CompactList}\item |
---|
[172] | 86 | \hypertarget{classPF_1a0a09e309da997f63ae8e30d1e9806b}{ |
---|
| 87 | \hyperlink{classeEmp}{eEmp} \hyperlink{classPF_1a0a09e309da997f63ae8e30d1e9806b}{est}} |
---|
| 88 | \label{classPF_1a0a09e309da997f63ae8e30d1e9806b} |
---|
[32] | 89 | |
---|
| 90 | \begin{CompactList}\small\item\em posterior density \item\end{CompactList}\item |
---|
[172] | 91 | \hypertarget{classPF_5c87aba508df321ff26536ced64dbb3a}{ |
---|
| 92 | vec \& \hyperlink{classPF_5c87aba508df321ff26536ced64dbb3a}{\_\-w}} |
---|
| 93 | \label{classPF_5c87aba508df321ff26536ced64dbb3a} |
---|
[32] | 94 | |
---|
[172] | 95 | \begin{CompactList}\small\item\em pointer into {\tt \hyperlink{classeEmp}{eEmp}} \item\end{CompactList}\item |
---|
| 96 | \hypertarget{classPF_cf7dad75e31215780a746c30e71ad9c5}{ |
---|
| 97 | Array$<$ vec $>$ \& \hyperlink{classPF_cf7dad75e31215780a746c30e71ad9c5}{\_\-samples}} |
---|
| 98 | \label{classPF_cf7dad75e31215780a746c30e71ad9c5} |
---|
[32] | 99 | |
---|
[172] | 100 | \begin{CompactList}\small\item\em pointer into {\tt \hyperlink{classeEmp}{eEmp}} \item\end{CompactList}\item |
---|
| 101 | \hypertarget{classPF_d92ac103f88f8c21e197e90af5695a09}{ |
---|
| 102 | \hyperlink{classmpdf}{mpdf} \& \hyperlink{classPF_d92ac103f88f8c21e197e90af5695a09}{par}} |
---|
| 103 | \label{classPF_d92ac103f88f8c21e197e90af5695a09} |
---|
[32] | 104 | |
---|
| 105 | \begin{CompactList}\small\item\em Parameter evolution model. \item\end{CompactList}\item |
---|
[172] | 106 | \hypertarget{classPF_dd0a687a4515333d6809147335854e77}{ |
---|
| 107 | \hyperlink{classmpdf}{mpdf} \& \hyperlink{classPF_dd0a687a4515333d6809147335854e77}{obs}} |
---|
| 108 | \label{classPF_dd0a687a4515333d6809147335854e77} |
---|
[32] | 109 | |
---|
| 110 | \begin{CompactList}\small\item\em Observation model. \item\end{CompactList}\item |
---|
[172] | 111 | \hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{ |
---|
| 112 | \hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}} |
---|
| 113 | \label{classBM_af00f0612fabe66241dd507188cdbf88} |
---|
[32] | 114 | |
---|
| 115 | \begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item |
---|
[172] | 116 | \hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{ |
---|
| 117 | double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}} |
---|
| 118 | \label{classBM_5623fef6572a08c2b53b8c87b82dc979} |
---|
[28] | 119 | |
---|
| 120 | \begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item |
---|
[172] | 121 | \hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{ |
---|
| 122 | bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}} |
---|
| 123 | \label{classBM_bf6fb59b30141074f8ee1e2f43d03129} |
---|
[28] | 124 | |
---|
[172] | 125 | \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} |
---|
[8] | 126 | |
---|
| 127 | |
---|
| 128 | \subsection{Detailed Description} |
---|
[32] | 129 | Trivial particle filter with proposal density equal to parameter evolution model. |
---|
[8] | 130 | |
---|
[172] | 131 | Posterior density is represented by a weighted empirical density ({\tt \hyperlink{classeEmp}{eEmp}} ). |
---|
[8] | 132 | |
---|
[19] | 133 | \subsection{Member Function Documentation} |
---|
[172] | 134 | \hypertarget{classPF_64f636bbd63bea9efd778214e6b631d3}{ |
---|
[19] | 135 | \index{PF@{PF}!bayes@{bayes}} |
---|
| 136 | \index{bayes@{bayes}!PF@{PF}} |
---|
[172] | 137 | \subsubsection[bayes]{\setlength{\rightskip}{0pt plus 5cm}void PF::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}} |
---|
| 138 | \label{classPF_64f636bbd63bea9efd778214e6b631d3} |
---|
[19] | 139 | |
---|
| 140 | |
---|
| 141 | Incremental Bayes rule. |
---|
| 142 | |
---|
| 143 | \begin{Desc} |
---|
| 144 | \item[Parameters:] |
---|
| 145 | \begin{description} |
---|
[28] | 146 | \item[{\em dt}]vector of input data \end{description} |
---|
[19] | 147 | \end{Desc} |
---|
| 148 | |
---|
| 149 | |
---|
[172] | 150 | Implements \hyperlink{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}{BM}. |
---|
[32] | 151 | |
---|
[172] | 152 | Reimplemented in \hyperlink{classMPF_55daf8e4b6553dd9f47c692de7931623}{MPF$<$ BM\_\-T $>$}. |
---|
[32] | 153 | |
---|
[172] | 154 | References \_\-samples, \_\-w, est, mpdf::evalcond(), n, obs, par, eEmp::resample(), and mpdf::samplecond().\hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{ |
---|
| 155 | \index{PF@{PF}!logpred@{logpred}} |
---|
| 156 | \index{logpred@{logpred}!PF@{PF}} |
---|
| 157 | \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{]}}}} |
---|
| 158 | \label{classBM_8a8ce6df431689964c41cc6c849cfd06} |
---|
[91] | 159 | |
---|
[172] | 160 | |
---|
| 161 | Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out. |
---|
| 162 | |
---|
[180] | 163 | Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}. |
---|
| 164 | |
---|
| 165 | Referenced by BM::logpred\_\-m().\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{ |
---|
[172] | 166 | \index{PF@{PF}!\_\-copy\_\-@{\_\-copy\_\-}} |
---|
| 167 | \index{\_\-copy\_\-@{\_\-copy\_\-}!PF@{PF}} |
---|
| 168 | \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{]}}}} |
---|
| 169 | \label{classBM_eb58c81d6a7b75b05fc6f276eed78887} |
---|
| 170 | |
---|
| 171 | |
---|
| 172 | 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; \} |
---|
| 173 | |
---|
[180] | 174 | Reimplemented in \hyperlink{classARX_5de61fbd4f97fa3216760b1f733f5af0}{ARX}. |
---|
[172] | 175 | |
---|
[180] | 176 | Referenced by MixEF::init(). |
---|
[172] | 177 | |
---|
[8] | 178 | The documentation for this class was generated from the following files:\begin{CompactItemize} |
---|
| 179 | \item |
---|
[172] | 180 | work/git/mixpp/bdm/estim/\hyperlink{libPF_8h}{libPF.h}\item |
---|
[145] | 181 | work/git/mixpp/bdm/estim/libPF.cpp\end{CompactItemize} |
---|