\hypertarget{classPF}{
\section{PF Class Reference}
\label{classPF}\index{PF@{PF}}
}
Trivial particle filter with proposal density equal to parameter evolution model.  


{\tt \#include $<$libPF.h$>$}

Inheritance diagram for PF:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=62pt]{classPF__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for PF:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=92pt]{classPF__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classPF_e99f0d866721405dd281e315ecb690aa}{
\hyperlink{classPF_e99f0d866721405dd281e315ecb690aa}{PF} (const \hyperlink{classRV}{RV} \&rv0, \hyperlink{classmpdf}{mpdf} \&par0, \hyperlink{classmpdf}{mpdf} \&obs0, int n0)}
\label{classPF_e99f0d866721405dd281e315ecb690aa}

\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
\hypertarget{classPF_04d38fbcc0348b558212f530d9ec183e}{
void \hyperlink{classPF_04d38fbcc0348b558212f530d9ec183e}{set\_\-est} (const \hyperlink{classepdf}{epdf} \&epdf0)}
\label{classPF_04d38fbcc0348b558212f530d9ec183e}

\begin{CompactList}\small\item\em Set posterior density by sampling from epdf0. \item\end{CompactList}\item 
void \hyperlink{classPF_64f636bbd63bea9efd778214e6b631d3}{bayes} (const vec \&dt)
\begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\item 
\hypertarget{classPF_140a073d5236684078b09021892d3b20}{
vec $\ast$ \hyperlink{classPF_140a073d5236684078b09021892d3b20}{\_\-\_\-w} ()}
\label{classPF_140a073d5236684078b09021892d3b20}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classBM_0186270f75189677f390fe088a9947e9}{
virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)}
\label{classBM_0186270f75189677f390fe088a9947e9}

\begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item 
\hypertarget{classBM_8554809fec160bee279bcd5fa14ead5c}{
virtual const \hyperlink{classepdf}{epdf} \& \hyperlink{classBM_8554809fec160bee279bcd5fa14ead5c}{\_\-epdf} () const =0}
\label{classBM_8554809fec160bee279bcd5fa14ead5c}

\begin{CompactList}\small\item\em Returns a reference to the \hyperlink{classepdf}{epdf} representing posterior density on parameters. \item\end{CompactList}\item 
\hypertarget{classBM_db500c4836f883c175a3cf3ab5a3ce24}{
virtual const \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classBM_db500c4836f883c175a3cf3ab5a3ce24}{\_\-e} () const =0}
\label{classBM_db500c4836f883c175a3cf3ab5a3ce24}

\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 
virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const 
\item 
\hypertarget{classBM_cd0660f2a1a344b56ac39802708ff165}{
vec \hyperlink{classBM_cd0660f2a1a344b56ac39802708ff165}{logpred\_\-m} (const mat \&dt) const }
\label{classBM_cd0660f2a1a344b56ac39802708ff165}

\begin{CompactList}\small\item\em Matrix version of logpred. \item\end{CompactList}\item 
\hypertarget{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}{
virtual \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}{predictor} (const \hyperlink{classRV}{RV} \&\hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}) const }
\label{classBM_5594d68ee9aa6fc8c1e79019da5c9d56}

\begin{CompactList}\small\item\em Constructs a predictive density (marginal density on data). \item\end{CompactList}\item 
\hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{
const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const }
\label{classBM_126bd2595c48e311fc2a7ab72876092a}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{
double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const }
\label{classBM_87f4a547d2c29180be88175e5eab9c88}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{
void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)}
\label{classBM_1ffa9f23669aabecc3760c06c6987522}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false)
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}{
int \hyperlink{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}{n}}
\label{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}

\begin{CompactList}\small\item\em number of particles; \item\end{CompactList}\item 
\hypertarget{classPF_1a0a09e309da997f63ae8e30d1e9806b}{
\hyperlink{classeEmp}{eEmp} \hyperlink{classPF_1a0a09e309da997f63ae8e30d1e9806b}{est}}
\label{classPF_1a0a09e309da997f63ae8e30d1e9806b}

\begin{CompactList}\small\item\em posterior density \item\end{CompactList}\item 
\hypertarget{classPF_5c87aba508df321ff26536ced64dbb3a}{
vec \& \hyperlink{classPF_5c87aba508df321ff26536ced64dbb3a}{\_\-w}}
\label{classPF_5c87aba508df321ff26536ced64dbb3a}

\begin{CompactList}\small\item\em pointer into {\tt \hyperlink{classeEmp}{eEmp}} \item\end{CompactList}\item 
\hypertarget{classPF_cf7dad75e31215780a746c30e71ad9c5}{
Array$<$ vec $>$ \& \hyperlink{classPF_cf7dad75e31215780a746c30e71ad9c5}{\_\-samples}}
\label{classPF_cf7dad75e31215780a746c30e71ad9c5}

\begin{CompactList}\small\item\em pointer into {\tt \hyperlink{classeEmp}{eEmp}} \item\end{CompactList}\item 
\hypertarget{classPF_d92ac103f88f8c21e197e90af5695a09}{
\hyperlink{classmpdf}{mpdf} \& \hyperlink{classPF_d92ac103f88f8c21e197e90af5695a09}{par}}
\label{classPF_d92ac103f88f8c21e197e90af5695a09}

\begin{CompactList}\small\item\em Parameter evolution model. \item\end{CompactList}\item 
\hypertarget{classPF_dd0a687a4515333d6809147335854e77}{
\hyperlink{classmpdf}{mpdf} \& \hyperlink{classPF_dd0a687a4515333d6809147335854e77}{obs}}
\label{classPF_dd0a687a4515333d6809147335854e77}

\begin{CompactList}\small\item\em Observation model. \item\end{CompactList}\item 
\hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{
\hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}}
\label{classBM_af00f0612fabe66241dd507188cdbf88}

\begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item 
\hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{
double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}}
\label{classBM_5623fef6572a08c2b53b8c87b82dc979}

\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
\hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{
bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}}
\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}

\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}


\subsection{Detailed Description}
Trivial particle filter with proposal density equal to parameter evolution model. 

Posterior density is represented by a weighted empirical density ({\tt \hyperlink{classeEmp}{eEmp}} ). 

\subsection{Member Function Documentation}
\hypertarget{classPF_64f636bbd63bea9efd778214e6b631d3}{
\index{PF@{PF}!bayes@{bayes}}
\index{bayes@{bayes}!PF@{PF}}
\subsubsection[bayes]{\setlength{\rightskip}{0pt plus 5cm}void PF::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classPF_64f636bbd63bea9efd778214e6b631d3}


Incremental Bayes rule. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em dt}]vector of input data \end{description}
\end{Desc}


Implements \hyperlink{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}{BM}.

Reimplemented in \hyperlink{classMPF_55daf8e4b6553dd9f47c692de7931623}{MPF$<$ BM\_\-T $>$}.

References \_\-samples, \_\-w, est, mpdf::evallogcond(), n, obs, par, eEmp::resample(), and mpdf::samplecond().\hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{
\index{PF@{PF}!logpred@{logpred}}
\index{logpred@{logpred}!PF@{PF}}
\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{]}}}}
\label{classBM_8a8ce6df431689964c41cc6c849cfd06}


Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out. 

Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}.

Referenced by BM::logpred\_\-m().\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{
\index{PF@{PF}!\_\-copy\_\-@{\_\-copy\_\-}}
\index{\_\-copy\_\-@{\_\-copy\_\-}!PF@{PF}}
\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{]}}}}
\label{classBM_eb58c81d6a7b75b05fc6f276eed78887}


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; \} 

Reimplemented in \hyperlink{classARX_5de61fbd4f97fa3216760b1f733f5af0}{ARX}, and \hyperlink{classBMEF_97f5312efe4a5bedb86d2daec59d8651}{BMEF}.

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
work/git/mixpp/bdm/estim/\hyperlink{libPF_8h}{libPF.h}\item 
work/git/mixpp/bdm/estim/libPF.cpp\end{CompactItemize}
