Closed GordStephen closed 8 years ago
Nice improvements! You can't argue with faster and more accurate.
As in #49 I would suggest keeping stand alone filtering too. And maybe a selection of smoothing methods, but the default being what is fastest and most accurate.
Done in #52
As mentioned in #49, this provides performance advantages, particularily when working with large state vectors. Some unscientific benchmarks from my initial tests:
master
(RTS smoothing):DK Smoothing
For this small system the DK smoother is consistently a little faster, and also returns slightly better estimates (maybe from avoided numerical imprecisions from the matrix inversions?) which results in the lower negative-log-likelihood.
The performance gains become more apparent with larger state vectors:
master
:DK Smoothing