Releases: X-DataInitiative/tick
Tick 0.6
New release of tick : Tick 0.6
Highlights:
- Python 3.7 pip wheels
- batch and stream parallel kfold and bootstrap
New features
- adding features relatively to the binacox model
- Add/fix serialization for proxs
- Serialization/comparaison for hawkes and survival models
- Add fetch url dataset helper
Compilation improvements
- allow benchmarking without gtest
- Now using SWIG 4
- Re-organize benchmarks
- Check for MKL, don't use if not found
Fixes
- Block the command "pytest" from setup.py on Windows as it has thread spawning issues
- Add "stdlib.h" for the "exit" function which is needed for some distros
- fix memory leak in deserializing sparsearray
- load dep libs if not loaded with previous python imports
- Replace 'SO' with 'EXT_SUFFIX', 'SO' is deprecated
- Werror fixes
- Fix memory leak when shared_ptrs are invovled
- change comb import to new non deprecated version
- Update SimuSCCS doc
- Main thread hangs when interrupted, exit is required
- ModelHawkes.init to set default dtype as hawkes models are not templated
Tick 0.5
New release of tick : Tick 0.5
This new release of tick
adds many new features and bugs corrections.
Highlights:
- Pip wheels for Windows (which can now be installed with
pip install tick
) - Single (32 bits) and double (64 bits) precisions in the C++ code base to allow faster computations at the expense of precision
- Atomic solvers for multicore optimization with variance reduced stochastic gradient descent (ASVRG, ASAGA)
New features
- Added optional rotation of x_ticklabels for plot_hawkes_kernel_norms
- Add linear system solver to array
- Sparse/Dense column major arrays
- Added ability to choose custom node names in plot_point_process
- Finalize serializing sparse features on models with test
- Allow serialization of ModelLabelsFeatureswith sparse features
- SAGA uses AtomicSAGA C++ if threads > 1
- Record history in C++ to allow sto solvers to be quicker
- Atomic solvers
- allow MKL in source build if available
- Allow debug pyenv
- Make ASVRG converge more properly with several threads
- Added a new example for 2d linear regression
- Fix reference counting for deserialized sparsearrays
- Atomic Prox/Model
- Compute metrics (such a objective) only if they will be recorded.
- Add atomics arrays
- Add new float tests on array serialization
- ModelHawkesExpKernLogLik fit operation order for end_times
- Python serialization of cereal objects through SWIG
- Add ConvSCCS learner
- add serialization to solvers - include gtests
- add serialization and comparison functions to prox module
- add serialization and comparison functions to models
- add appveyor CI
- template coxreg in survival module to support float type
- add single template parameter to solvers to support float types
- Add single template parameter to prox module to allow use of float types
- Launch C++ benchmarks and save plot results to files
- Add single template parameter to base/linear/robust models to support float types
- Make least sq weights computation faster
Compilation improvements
- Also add a contain method Split out common test functions for array gtests
- Rearrange vector operations for simple updates
- GCC 4.8 has problems with lambdas, switching to function version
- C++ google tests working on appveyor
- Set swig to use relative paths and just use a single -Ilib/swig for search path
- Remove requirement for cereal JSON archives in Python/etc
- Quicker builds on appveyor - stops 1 hour timeout
- testing docker and python 3.7 on travis
- quicker mac builds on travis
- Add tensorflow installation in docker file (to be compliant with HawkesCumulantMatching)
- Addition of examples for yapf - and include cpp-tests in clang format (requires >= clang6)
- Remove duplicate variable 'positive' from ProxWithGroups
- remove DBL_* in templated code and replace with std numeric_limits
- module reformatting to minimise changes from future changes
- code cleaning - remove superfluous virtual and minimize get_class_name using RTTI
Fixes
- corrections for deserializing third party CSR matrices
- drop gtests from appveyor - times out - investigate cmake
- Disable doctest on 3.7 because google_analytics fails in sphynx
- Repair array memory check
- Virtual destructors add for clang v6 Werror
- add float types Fixes #185
- numpydoc 0.8.0 import changes for docscrape
- go through common cereal path to ignore warnings within cereal for Werror
- Fix kaplan_meier and nelson_aalen
- Bugfix Too many open files exception in Hawkes simulations
- skip tests requiring tensorflow if not found
- reintroduce Werror and work around failures in cereal
- fix hawkes imports symbols on windows
- fix windows in appveyor
- remove recursive import
- Lower precision to ensure model hinge test will pass
- Fix documentation building on Travis
Documentation
- add badges for appveyor builds and gitter chat
Tick 0.4
New release of tick : Tick 0.4
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
- Allow Hawkes processes to deal with sparse realizations (empty numpy arrays)
- Plot of Hawkes process estimated intensity
- 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.
Tick 0.3
New release of tick : Tick 0.3
Tick is now usable on windows systems: it can be compiled from the source code, so installation on windows is now "almost" easily (although pip is not working on windows yet).
This new version introduces also a large number of new features and fixes, listed below.
New features
- Score metric to Hawkes EM, with exp kernels and ADM4
- A bunch of new models for linear supervised learning (several Hinge loss, Huber, for classification and regression, etc.)
- Computation of the exact Hawkes log-likelihood
- Asynchronous SVRG - gives SVRG a multi-threaded option
- The SAGA solver
- Sum of exponential kernels for log-likelihood Hawkes model
- Strong improvement of SVRG for sparse data: fully sparse updates
- Hawkes Model with least squares can be serialized
- Refactoring of FeaturesBinarizer blocks properties
- SDCA now supports Poisson regression with identity link
- Robust inference : tick.inference.RobustLinearRegression, and some metrics and robust standard deviation estimates
- Hessian for hawkes exponential kernels likelihood
- ProxL2 and ProxGroupL1, new C++ class ProxWithGroups class
- Allow simulation of point processes with thresholded negative intensties
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
- Ensure all python tests are run and corrected some unittests
- Fixes unit tests on windows
- Removing -Werror because our dependency cereal raises a Warning
- Set default values for base array 2d n_cols and n_rows
- Moved safe_array tests in Models instead of Learners
- Modified the tick.plot.stems function to handle better matplotlib and bokeh rendering and remove warnings due to the new version of bokeh
- Extra tests for GLM models : with intercept VS hard-coded intercept
Documentation
- Intel® partnership
- Documentation page to use tick in R
- Fork me ribbon on the doc's main front page
- Improvement of the solvers docstrings, with preciese descriptions of the iterations and more mathematical details
- Update and reorganization of the models documentation
- Merge DOC and doc folders and rename doc_cpp folder
- Split README.md into other smaller files