Small fixes 2
This commit is contained in:
@@ -58,14 +58,17 @@ We compare our C++ implementation of the box filter based KDE approximation to t
|
|||||||
The \texttt{ks} packages provides a FFT-based BKDE implementation based on optimized C functions at its core.
|
The \texttt{ks} packages provides a FFT-based BKDE implementation based on optimized C functions at its core.
|
||||||
% Vergleich zu weighted average (in c++) um unseren großen Geschwindigkeitsvorteil zu zeigen.
|
% Vergleich zu weighted average (in c++) um unseren großen Geschwindigkeitsvorteil zu zeigen.
|
||||||
With state estimation problems in mind, we additionally provide a C++ implementation of a weighted average estimator.
|
With state estimation problems in mind, we additionally provide a C++ implementation of a weighted average estimator.
|
||||||
\commentByToni{Vielleicht sollten wir hier noch paar Worte über die Implementierung verlieren. Ist das alles std c++? nehmen wir iwas mega kraßes? usw. vielleicht im camera ready sogar nen link zum coder oder sowas.}
|
|
||||||
|
|
||||||
|
Our C++ implementation is based on algorithm~\ref{alg:boxKDE} with three filter iterations.
|
||||||
|
No special data structures are necessary, the grid is stored as a two-dimensional array in memory.
|
||||||
|
In addition, modern CPUs do benefit from the recursive computation scheme of the box filter, as the data exhibits a high degree of spatial locality in memory and the accesses are good predictable, .
|
||||||
|
%Furthermore, the computation is easily parallelized using SIMD instructions or threads.
|
||||||
|
|
||||||
The results for performance comparison are presented in plot \ref{fig:performance}.
|
The results for performance comparison are presented in plot \ref{fig:performance}.
|
||||||
% O(N) gut erkennbar für box KDE und weighted average
|
% O(N) gut erkennbar für box KDE und weighted average
|
||||||
The linear complexity \landau{N} of the boxKDE and the weighted average is clearly visible.
|
The linear complexity \landau{N} of the boxKDE and the weighted average is clearly visible.
|
||||||
% Gerade bei kleinen G bis 10^3 ist die box KDE schneller als R und fastKDE, aber das WA deutlich schneller als alle anderen
|
% Gerade bei kleinen G bis 10^3 ist die box KDE schneller als R und fastKDE, aber das WA deutlich schneller als alle anderen
|
||||||
Especially for small $G$ up to $10^3$ the boxKDE is much faster compared to KernSmooth R and fastKDE.
|
Especially for small $G$ up to $10^3$ the boxKDE is much faster compared to BKDE and fastKDE.
|
||||||
% Bei zunehmend größeren G wird der Abstand zwischen box KDE und WA größer.
|
% Bei zunehmend größeren G wird der Abstand zwischen box KDE und WA größer.
|
||||||
Nevertheless, the simple weighted average approach performs the fastest and with increasing $G$ the distance to the boxKDE grows constantly.
|
Nevertheless, the simple weighted average approach performs the fastest and with increasing $G$ the distance to the boxKDE grows constantly.
|
||||||
However, it is obvious that this comes with major disadvantages, like being prone to multimodalities, as discussed in section \ref{sec:intro}.
|
However, it is obvious that this comes with major disadvantages, like being prone to multimodalities, as discussed in section \ref{sec:intro}.
|
||||||
@@ -73,26 +76,25 @@ However, it is obvious that this comes with major disadvantages, like being pron
|
|||||||
|
|
||||||
|
|
||||||
% Auffällig ist der Stufenhafte Anstieg der Laufzeit bei der R Implementierung.
|
% Auffällig ist der Stufenhafte Anstieg der Laufzeit bei der R Implementierung.
|
||||||
Further looking at fig. \ref{fig:performance}, the runtime performance of the KernSmooth R approach is increasing in a stepwise manner with growing $G$.
|
Further looking at fig. \ref{fig:performance}, the runtime performance of the BKDE approach is increasing in a stepwise manner with growing $G$.
|
||||||
% Dies kommt durch die FFT. Der Input in für die FFT muss immer auf die nächste power of two gerundet werden.
|
% Dies kommt durch die FFT. Der Input in für die FFT muss immer auf die nächste power of two gerundet werden.
|
||||||
This behaviour is caused by the underlying FFT algorithm.
|
This behavior is caused by the underlying FFT algorithm.
|
||||||
% Daher wird die Laufzeit sprunghaft langsamer wenn auf eine neue power of two aufgefüllt wird, ansonsten bleibt sie konstant.
|
% Daher wird die Laufzeit sprunghaft langsamer wenn auf eine neue power of two aufgefüllt wird, ansonsten bleibt sie konstant.
|
||||||
The FFT approach requires the input to be always rounded up to a power of two, what then causes a constant runtime behaviour within the those boundaries and a strong performance deterioration at corresponding manifolds.
|
The FFT approach requires the input to be always rounded up to a power of two, what then causes a constant runtime behavior within those boundaries and a strong performance deterioration at corresponding manifolds.
|
||||||
% Der Abbruch bei G=4406^2 liegt daran, weil für größere Gs eine out of memory error ausgelöst wird.
|
% Der Abbruch bei G=4406^2 liegt daran, weil für größere Gs eine out of memory error ausgelöst wird.
|
||||||
The termination of KernSmooth R at $G=4406^2$ is caused by an out of memory error for even bigger $G$.
|
The termination of BKDE graph at $G=4406^2$ is caused by an out of memory error for even bigger $G$ in the \texttt{ks} package.
|
||||||
|
|
||||||
% Der Plot für den normalen Box Filter wurde aus Gründen der Übersichtlichkeit weggelassen.
|
% Der Plot für den normalen Box Filter wurde aus Gründen der Übersichtlichkeit weggelassen.
|
||||||
% Sowohl der box filter als auch der extended box filter haben ein sehr ähnliches Laufzeit Verhalten und somit einen sehr ähnlichen Kurvenverlauf.
|
% Sowohl der box filter als auch der extended box filter haben ein sehr ähnliches Laufzeit Verhalten und somit einen sehr ähnlichen Kurvenverlauf.
|
||||||
% Während die durschnittliche Laufzeit über alle Werte von G beim box filter bei 0.4092s liegt, benötigte der extended box filter im Durschnitt 0.4169s.
|
% Während die durschnittliche Laufzeit über alle Werte von G beim box filter bei 0.4092s liegt, benötigte der extended box filter im Durschnitt 0.4169s.
|
||||||
Both discussed Gaussian filter, namely box filter and extended box filter, yield a similar runtime behaviour and therefore a similar curve progression.
|
Both discussed Gaussian filter, namely box filter and extended box filter, yield a similar runtime behavior and therefore a similar curve progression.
|
||||||
While the average runtime over all values of $G$ for the standard box filter is \SI{0.4092}{\second}, the extended one provides an average of \SI{0.4169}{\second}.
|
While the average runtime over all values of $G$ for the standard box filter is \SI{0.4092}{\second}, the extended one provides an average of \SI{0.4169}{\second}.
|
||||||
To keep the arrangement of fig. \ref{fig:performance} clear, we only illustrated the results of an boxKDE with extended box filter.
|
To keep the arrangement of fig. \ref{fig:performance} clear, we only illustrated the results of an boxKDE with the regular box filter.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\commentByToni{die grafiken haben wir ja jetzt beschrieben, aber ein wenig diskussion in die tiefe fehlt mir trotzdem noch}
|
\commentByToni{die grafiken haben wir ja jetzt beschrieben, aber ein wenig diskussion in die tiefe fehlt mir trotzdem noch}
|
||||||
\commentByToni{also irgendwie kommt der exbox jetzt so plötzlich... der wurde vorher so dünn besprochen und jetzt ist er auf einmal voll im Fokus. wirkt komisch}
|
|
||||||
\commentByFrank{Farben (blue)(green) in den Bildunterschriften stimmen nicht mehr}
|
\commentByFrank{Farben (blue)(green) in den Bildunterschriften stimmen nicht mehr}
|
||||||
\commentByFrank{Fig4 (error over time) checken ob die beiden farbigen linien jetzt richtig rum sind. NIEMALS GENERIERTE TEX GRAFIKEN DIREKT EDITIEREN}
|
\commentByFrank{Fig4 (error over time) checken ob die beiden farbigen linien jetzt richtig rum sind. NIEMALS GENERIERTE TEX GRAFIKEN DIREKT EDITIEREN}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user