A number of example applications using dysii are available from this page. The Toy example is recommended for learning to use the library, while Double well is recommended as a template for more serious work, particularly where scalability is a requirement.
Toy
The toy example is a simple package demonstrating the use of dysii filters and smoothers on a linear dynamical system with noisy observations from a simulated data set. It serves as a good starting point for learning to use the library.
Double well
The double well example is a more complex package providing programs for experimentation, data simulation, filtering and smoothing using the dynamical system:
$$dx = 4x(1 – x^2),dt + \sigma_x\,dW\,,$$
observed with additional measurement noise:
$$y = x + \sigma_y \xi\,.$$
It serves as an excellent template for your own development using dysii, and represents current "best practice" use of the library, based on the author’s own experience, in a number of respects:
- Written for parallel computing.
- Scons build system; reusable for your own projects.
- Separate export of results; filtering and smoothing programs output raw serialization archives to avoid code clutter and preserve all information for later analysis. A separate program summarises these into plain text files for plotting etc.
- Model serialization; a separate program generates and serializes alternative model configurations for model comparison.
The program was used for empirical comparison of the kernel forward-backward and kernel two-filter smoothers against conventional techniques in the author’s PhD thesis. It is perhaps more complex than code need be for other applications, for example providing command line options for selecting from various filtering, smoothing and resampling methods, which may not be useful in general.
Note that there is no real-world data to accompany the model. Simulated data, provided by the bundled generate program, is used instead.
