This new release of tick is mostly a profound reorganization of the library: the previous modules
- `tick.optim`
- `tick.inference`
have been removed, and dispatched in several new modules:
- `tick.hawkes`: inference and simulation of Hawkes processes, with both parametric and non-parametric estimation techniques and flexible tools for simulation.
- `tick.linear_model`: inference and simulation of linear models, including among others linear, logistic and Poisson regression, with a large set of penalization techniques and solvers.
- `tick.robust`: tools for robust inference. It features tools for outliers detection and models such as Huber regression, among others robust losses.
- `tick.survival`: inference and simulation for survival analysis, including Cox regression with several penalizations.
- `tick.prox`: proximal operators for penalization of models weights. Such an operator can be used with (almost) any model and any solver.
- `tick.solver`: a module that provides a bunch of state-of-the-art optimization algorithms, including both batch and stochastic solvers
This strong reorganization of the python modules leads to significant improvements in readability and use of the library. The internals of the library have been reorganized as well: all the C++ code is not in the `/lib` folder, and follows the standard organization of a C++ library: cpp files, cpp tests, headers, and swig files are in separate folders `lib/cpp`, `lib/cpp-test`, `lib/include` and `lib/swig`. Also, `tick` can be compiled now using the `mkn` tool, which makes compilation orders of magnitude faster if used with `ccache` (see the documentation about this). The documentation has been reorganized accordingly, and improved in many ways.
This new version introduces also a some new features and fixes, listed below.
New features
- [Add Barzilai Borwein step choice for SVRG](https://x-datainitiative.github.io/tick/auto_examples/plot_svrg_with_auto_step.html)
- Allow Hawkes processes to deal with sparse realizations (empty numpy arrays)
- [Plot of Hawkes process estimated intensity](https://x-datainitiative.github.io/tick/auto_examples/plot_hawkes_estimated_intensity.html)
- Support serialization and deserialization of SparseArray2d
- Add typemap out for SparseArray2d
Compilation improvements
- Support for mkn build tool - general compilation/swig execution/google tests faster and better (in particular with ccache)
- better builds on windows : mkn support for Anaconda python and MSVC
- Anaconda on windows - C++ compilation check for cBLAS - fixes for mkn/gtests
Fixes
- Fix macos builds on travis
- Fix to display code that was actually used to generate documentation
Documentation
- Because of the overall re-organization of the library the documentation has been completely reorganized and improved in many places.