This commit is contained in:
toni
2018-02-20 15:52:47 +01:00
6 changed files with 108 additions and 68 deletions

View File

@@ -1,21 +1,34 @@
\section{Experiments}
We now empirically evaluate the accuracy of our method and compare its runtime performance with other state of the art approaches.
To conclude our findings we present a real world example from a indoor localisation system.
All tests are performed on a Intel Core \mbox{i5-7600K} CPU with a frequency of $4.5 \text{GHz}$, which supports the AVX2 instruction set, hence 256-bit wide SIMD registers are available.
We compare our C++ implementation of the box filter based KDE to the KernSmooth R package and the \qq{FastKDE} implementation \cite{oBrien2016fast}.
The KernSmooth packages provides a FFT-based BKDE implementation based on optimized C functions at its core.
\subsection{Error}
In order to quantity the accuracy of our method the mean integrated squared error (MISE) is used.
The ground truth is given as a synthetic data set drawn from a mixture normal density.
Clearly, the choice of the ground truth distribution affects the resulting error.
However, as our method approximates the KDE it is only of interest to evaluate the closeness to the KDE and not to the ground truth itself.
\subsection{Mean Integrated Squared Error}
We now empirically evaluate the accuracy of our method, using the mean integrated squared error (MISE).
The ground truth is given as $N=1000$ synthetic samples drawn from a bivariate mixture normal density $f$
\begin{equation}
\begin{split}
\bm{X} \sim &\G{\VecTwo{0}{0}}{0.5\bm{I}} + \G{\VecTwo{3}{0}}{\bm{I}} \\
&+ \G{\VecTwo{0}{3}}{\bm{I}} + \G{\VecTwo{-3}{0} }{\bm{I}} + \G{\VecTwo{0}{-3}}{\bm{I}}
\end{split}
\end{equation}
where the majority of the probability mass lies in the range $[-6; 6]^2$.
Clearly, the structure of the ground truth affects the error in the estimate, but as our method approximates the KDE only the closeness to the KDE is of interest.
Therefore, the particular choice of the ground truth is only of minor importance here.
At first we evaluate the accuracy of our method as a function of the bandwidth $h$ in comparison to the exact KDE and the BKDE.
Both the BKDE and the extended box filter estimate resemble the error curve of the KDE quite well and stable.
They are rather close to each other, with a tendency to diverge for larger $h$.
In contrast, the error curve of the box filter estimate has noticeable jumps at $h=(0.4; 0.252; 0.675; 0.825)$.
These jumps are caused by the rounding of the integer-valued box width given by \eqref{eq:boxidealwidth}.
As the extend box filter is able to approximate an exact $\sigma$, it lacks these discontinues.
The exact KDE, evaluated at $50^2$ points, is compared to the BKDE, box filter, and extended box filter approximation, which are evaluated at a smaller grid with $30^2$ points.
The MISE between $f$ and the estimates as a function of $h$ are evaluated, and the resulting plot is given in figure~\ref{fig:evalBandwidth}.
\begin{figure}
\label{fig:evalBandwidth}
\end{figure}
Other test cases of theoretical relevance are error as a function of the grid size $G$ and the sample size $N$.
However, both cases do not give a deeper insight of the error behaviour of our method, as it closely mimics the error curve of the KDE and only confirm the theoretical expectations.
% kde, box filter, exbox in abhänigkeit von h (bild)
% sample size und grid size text
@@ -23,5 +36,8 @@ At first we evaluate the accuracy of our method as a function of the bandwidth $
\subsection{Performance}
All tests are performed on a Intel Core \mbox{i5-7600K} CPU with a frequency of $4.5 \text{GHz}$, which supports the AVX2 instruction set, hence 256-bit wide SIMD registers are available.
We compare our C++ implementation of the box filter based KDE to the KernSmooth R package and the \qq{FastKDE} implementation \cite{oBrien2016fast}.
The KernSmooth packages provides a FFT-based BKDE implementation based on optimized C functions at its core.
\input{chapters/realworld}