jacobnzw / ssmtoybox_old Goto Github PK
View Code? Open in Web Editor NEWSigma-Point Filters based on Bayesian Quadrature
Sigma-Point Filters based on Bayesian Quadrature
Generate documentation using Sphinx in PyCharm.
Use NumPy style docstrings. Sphinx converts them to reStructuredText using the napoleon extension (which handles NumPy and Google docstrings).
Do this in a separate branch, because I still don't know what the Sphinx quickstart utility will do to the directory structure.
Turn the following packages (directories) into modules (files):
inference
: Many classical filters (EKF,UKF, CKF, GHKF) contained in cubature.py
, extended.py
, gausshermite.py
, unscented.py
should be moved to ssinfer.py
, because they don't take up much space anyway. The files are mostly very short.
demos
package.models
: State-space models don't need to be separated into modules, because there isn't that many of them.
main()
has the same role as the code snippets in files containing the filters. Fusing the code and moving it into a demos
package is much more sensible.transforms
: The BQ transforms deserve their own package, because they tightly depend on bqmodel.py
and bqkernel.py
. The classical transforms can be moved from quad.py
and taylor.py
into mtran.py
.It might later turn out, that the demos
shouldn't be a package either :). Who knows?!
The above changes should result in the following project structure:
./bq
./demos
./docs
./tests
datagen.py
mtran.py
ssinf.py
ssmod.py
utils.py
Contents:
./bq
: BQ transforms, because they are more complex. Contents: bqmtran.py
, bqmod.py
, bqkern.py
./demos
: demos showcasing each filter, or comparing filter performance on each example./docs
: Sphinx generated documentation./tests
: all the current test files, test cases for each filter separately so that failures can be easily identified.datagen.py
: base classes with code for simulating continuous-time systems with any noise and specific systems in sub-classes. Rename to dsys.py
?mtran.py
: base classes for general moment transform and sigma-point transforms, sub-classes for the classical moment transforms such as Unscented, Taylor, Gauss-Hermite, fully-symmetric, Monte Carlo, spherical-radial.ssinf.py
: base classes, concrete inference algorithms (filters/smoothers) such as EKF, UKF, CKF, GHKF, GPQKF, TPQKF, filters for Student densities etc.ssmod.py
: base classes for various SSMs, concrete SSMs like demodulation, ungm, tracking, pendulum, oscillators, etc.utils.py
: functions for evaluating various performance metrics (RMSE, INC, NCI, NLL) and helper functions (variance bootstrapping etc.)A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.