Module for statistical learning, with a particular emphasis on time-dependent modelling

Overview

PyPI version Gitter chat License

Operating system Build Status
Linux/Mac Linux/Mac Build
Windows Windows Build

tick

tick is a Python 3 module for statistical learning, with a particular emphasis on time-dependent modeling. It is distributed under the 3-Clause BSD license, see LICENSE.txt.

The project was started in 2016 by Emmanuel Bacry, Martin Bompaire, Stéphane Gaïffas and Søren Vinther Poulsen at the Datascience initiative of École Polytechnique, France. The list of contributors is available in CONTRIBUTORS.md.

Quick description

tick is a machine learning library for Python 3. The focus is on statistical learning for time dependent systems, such as point processes. Tick features also tools for generalized linear models and a generic optimization toolbox. The core of the library is an optimization module providing model computational classes, solvers and proximal operators for regularization. It comes also with inference and simulation tools intended for end-users who for example can easily:

  • Perform linear, logistic or Poisson regression
  • Simulate point Hawkes processes with standard or exotic kernels.
  • Infer Hawkes models with various assumptions on the kernels: exponential or sum of exponential kernels, linear combination of basis kernels, sparse interactions, etc.

A comprehensive list of examples can be found at

and the documentation is available at

The paper associated to this library has been published at

If you use tick in a scientific publication, we would appreciate citations.

intel logo

The tick library is released with the support of Intel®. It uses the Intel® Math Kernel Library (MKL) optimized for Intel® Xeon Phi™ and Intel® Xeon™ processors. tick runs efficiently on everything from desktop computers to powerful high-performance servers.

Use cases

tick is used for many industrial applications including:

  • A joint work with the French national social security (CNAMTS) to analyses a huge health-care database, that describes the medical care provided to most of the French citizens. For this project, tick is used to detect weak signals in pharmacovigilance, in order quantify the impact of drugs exposures to the occurrence of adverse events.

  • High-frequency order book modeling in finance, in order to understand the interactions between different event types and/or between different assets, leveraging the full time resolution available in the original data.

  • Analyze the propagation of information in social media. Thanks to a dataset collected during 2017's presidential French election campaign on Twitter, tick is used to recover, for each topic, the network across which information spreads inside the political sphere.

Quick setup

Requirements

tick currently works on Linux/OSX (Windows is experimental) systems and requires Python 3.5 or newer. Please have the required Python dependencies in your Python environment:

Install using pip

tick is available via pip. In your local Python environment (or global, with sudo rights), do:

pip install tick

Installation may take a few minutes to build and link C++ extensions. At this point tick should be ready to use available (if necessary, you can add tick to the PYTHONPATH as explained below).

Verify install

Run the following command and there should be no error

python3 -c "import tick;"

Source Installation

Please see the INSTALL document

Help and Support

Documentation

Documentation is available on

This documentation is built with Sphinx and can be compiled and used locally by running make html from within the doc directory. This obviously needs to have Sphinx installed. Several tutorials and code-samples are available in the documentation.

Communication

To reach the developers of tick, please join our community channel on Gitter (https://gitter.im/xdata-tick).

If you've found a bug that needs attention, please raise an issue here on Github. Please try to be as precise in the bug description as possible, such that the developers and other contributors can address the issue efficiently.

Citation

If you use tick in a scientific publication, we would appreciate citations. You can use the following bibtex entry:

@ARTICLE{2017arXiv170703003B,
  author = {{Bacry}, E. and {Bompaire}, M. and {Ga{\"i}ffas}, S. and {Poulsen}, S.},
  title = "{tick: a Python library for statistical learning, with
    a particular emphasis on time-dependent modeling}",
  journal = {ArXiv e-prints},
  eprint = {1707.03003},
  year = 2017,
  month = jul
}

Developers

Please see the CONTRIBUTING document

Comments
  • Installing errors in MacOs

    Installing errors in MacOs

    Hello,

    I ran command pip install tick on the terminal but was returned an error as in below picture: screenshot 2018-12-05 at 13 49 12

    Can you please help me to solve this issue?

    Thank you very much.

    opened by dangngohai 21
  • Discrepancy between in Tick/cereal/SWIG/Numpy

    Discrepancy between in Tick/cereal/SWIG/Numpy

    When upgrading from numpy 1.14 to 1.15 - our arrays are no longer considered equal when column major - or "as fortran arrays" in numpy

    It is currently uncertain where the issue lies - continuing on from https://github.com/numpy/numpy/issues/12077

    @mattip

    opened by PhilipDeegan 19
  • getting errors on install

    getting errors on install

    (venv) [andrewcz@andrewcz-pc tick]$ python3 setup.py build_ext --inplace bdist_wheel setup.py:199: DeprecationWarning: SO is deprecated, use EXT_SUFFIX sysconfig.get_config_var('SO')) running build_ext building 'tick.array.build._array' extension swigging lib/swig/array/array_module.i to lib/swig/array/array_module_wrap.cpp swig -python -py3 -c++ -modern -new_repr -Ilib/swig/base -Ilib/include -outdir tick/array/build -Isrc/swig/array -DDEBUG_COSTLY_THROW -o lib/swig/array/array_module_wrap.cpp lib/swig/array/array_module.i C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -fPIC

    compile options: '-Iinclude -Ilib/third_party/cereal/include -I/home/andrewcz/venv/lib/python3.7/site-packages/numpy/core/include -I/usr/include/python3.7m -c' extra options: '-D_FILE_OFFSET_BITS=64 -DPYTHON_LINK -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -Ilib/include -DTICK_SPARSE_INDICES_INT32 -std=c++11 -O2 -ffast-math -Wall -Werror -Wno-uninitialized -Isrc/swig/array -DDEBUG_COSTLY_THROW' gcc: lib/swig/array/array_module_wrap.cpp gcc: lib/cpp/array/alloc.cpp lib/swig/array/array_module_wrap.cpp: In function ‘void SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*, swig_type_info**, swig_type_info**)’: lib/swig/array/array_module_wrap.cpp:15019:22: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 10 bytes from a string of the same length [-Werror=stringop-truncation] strncpy(buff, "swig_ptr: ", 10); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors lib/swig/array/array_module_wrap.cpp: In function ‘void SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*, swig_type_info**, swig_type_info**)’: lib/swig/array/array_module_wrap.cpp:15019:22: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 10 bytes from a string of the same length [-Werror=stringop-truncation] strncpy(buff, "swig_ptr: ", 10); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors error: Command "gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -fPIC -Iinclude -Ilib/third_party/cereal/include -I/home/andrewcz/venv/lib/python3.7/site-packages/numpy/core/include -I/usr/include/python3.7m -c lib/swig/array/array_module_wrap.cpp -o build/temp.linux-x86_64-3.7/lib/swig/array/array_module_wrap.o -D_FILE_OFFSET_BITS=64 -DPYTHON_LINK -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -Ilib/include -DTICK_SPARSE_INDICES_INT32 -std=c++11 -O2 -ffast-math -Wall -Werror -Wno-uninitialized -Isrc/swig/array -DDEBUG_COSTLY_THROW" failed with exit status 1 (venv) [andrewcz@andrewcz-pc tick]$ python3 setup.py build_ext --inplace bdist_wheel

    apologies i am getting errors on the build

    opened by andrewcz 17
  • Problem with Colab

    Problem with Colab

    Hi, I want to install the “tick” package in colab and I’m having very bad errors. Do you know what is going wrong? Regards, Mojtaba Hayati.

    The error: Building wheels for collected packages: tick Building wheel for tick (setup.py) ... error ERROR: Failed building wheel for tick Running setup.py clean for tick Failed to build tick Installing collected packages: tick Running setup.py install for tick ... error ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-g33kshl0/tick/setup.py'"'"'; file='"'"'/tmp/pip-install-g33kshl0/tick/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-ta5ba2ty/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.

    opened by MojtabaHayati 14
  • Grand flattening and reorganization of `tick`

    Grand flattening and reorganization of `tick`

    Grand reorganization of tick

    A lot of features have been added and now tick is much more than a library that fits point processes. The main issue is that the tick.inference module contains a lot of methods that have nothing to do together. I suggest that we reorganize the things in big families of methods, putting together inference, simulation and models together in such families.

    This is a big change, that will pose problems with C++ includes. Several base class must be included in a tick.base module as soon as they are used in several modules. An example is ModelFirstOrder python class, or the Model C++ class, that are parent of almost all models in tick. Such classes will have to be in a tick.base.

    > TODO: list of all the things that go in `tick.base` and `tick.*.base` modules.
    

    Here is a first attempt of grand reorganization of tick. I've also renamed a lot of classes, so that inference and simulation classes names match...

    > TODO: Discuss and give your opinion about this here
    

    1. tick.linear_model

    Inference, simulation and models all belong to a common namespace

    • tick.linear_model.LinearRegression
    • tick.linear_model.LogisticRegression
    • tick.linear_model.PoissonRegression
    • tick.linear_model.SimuLinearRegression
    • tick.linear_model.SimuLogisticRegression
    • tick.linear_model.SimuPoissonRegression
    • tick.linear_model.ModelLeastSquares
    • tick.linear_model.ModelLogistic
    • tick.linear_model.ModelHinge
    • tick.linear_model.ModelSmoothedHinge
    • tick.linear_model.ModelQuadraticHinge
    • tick.linear_model.ModelPoisson

    2. tick.survival

    • tick.survival.nelson_aalen
    • tick.survival.kaplan_meier
    • tick.survival.CoxRegression
    • tick.survival.SimuCoxRegression
    • tick.survival.ModelCoxRegPartialLik
    • tick.survival.ModelSCCS

    We will put extra things here : Cox regression with the full likelihood, the SCCS model from Maryan, etc.

    3. tick.point_process

    • tick.point_process.HawkesExpKern
    • tick.point_process.HawkesSumExpKern
    • tick.point_process.HawkesEM
    • tick.point_process.HawkesADM4
    • tick.point_process.HawkesBasisKernels
    • tick.point_process.HawkesSumGaussians
    • tick.point_process.HawkesConditionalLaw
    • tick.point_process.SimuPoissonProcess
    • tick.point_process.SimuInhomogeneousPoisson
    • tick.point_process.SimuHawkes
    • tick.point_process.SimuHawkesExpKernels
    • tick.point_process.SimuHawkesSumExpKernels
    • tick.point_process.SimuHawkesMulti
    • tick.point_process.HawkesKernelExp
    • tick.point_process.HawkesKernelSumExp
    • tick.point_process.HawkesKernelPowerLaw
    • tick.point_process.HawkesKernelTimeFunc
    • tick.point_process.TimeFunction
    • tick.point_process.ModelHawkesFixedExpKernLogLik
    • tick.point_process.ModelHawkesFixedExpKernLeastSq
    • tick.point_process.ModelHawkesFixedSumExpKernLogLik
    • tick.point_process.ModelHawkesFixedSumExpKernLeastSq

    4. tick.robust

    Linear methods with a focus towards robust estimation and outliers detection

    • tick.robust.RobustLinearRegression
    • tick.robust.std_mad
    • tick.robust.std_iqr
    • tick.robust.ModelLinRegWithIntercepts
    • tick.robust.ModelHuber
    • tick.robust.ModelModifiedHuber
    • tick.robust.ModelAbsolute
    • tick.robust.ModelEpsilonInsensitive

    5. tick.prox

    This module contains all the proximal operators available in tick.

    • tick.prox.ProxZero
    • tick.prox.ProxL1
    • tick.prox.ProxL1w
    • tick.prox.ProxElasticNet
    • tick.prox.ProxL2Sq
    • tick.prox.ProxL2
    • tick.prox.ProxMulti
    • tick.prox.ProxNuclear
    • tick.prox.ProxPositive
    • tick.prox.ProxEquality
    • tick.prox.ProxSlope
    • tick.prox.ProxTV
    • tick.prox.ProxBinarsity
    • tick.prox.ProxGroupL1

    6. tick.solver

    This module contains all the solvers available in tick.

    • tick.solver.GD
    • tick.solver.AGD
    • tick.solver.BFGS
    • tick.solver.GFB
    • tick.solver.SCPG
    • tick.solver.SGD
    • tick.solver.AdaGrad
    • tick.solver.SVRG
    • tick.solver.SAGA
    • tick.solver.SDCA
    • tick.solver.History

    7. tick.plot

    This remains unchanged

    • tick.plot.plot_history
    • tick.plot.plot_hawkes_kernels
    • tick.plot.plot_hawkes_kernel_norms
    • tick.plot.plot_basis_kernels
    • tick.plot.plot_timefunction
    • tick.plot.plot_point_process
    • tick.plot.stems

    But we can move some of them elsewhere ? Since some plots are dedicated only to specific objects (such as Hawkes things...)

    8. tick.preprocessing

    This remains unchanged

    • tick.preprocessing.FeaturesBinarizer
    • tick.preprocessing.LongitudinalFeaturesProduct
    • tick.preprocessing.LongitudinalFeaturesLagger

    9. tick.metrics

    This remains unchanged

    • tick.metrics.support_fdp
    • tick.metrics.support_recall

    We'll add specific metrics for survival analysis here

    10. tick.simulation

    About this one : I don't know where to put these, now that all model simulation is moved in other modules. This could be base_simulation or tools, what do you think ?

    • tick.simulation.features_normal_cov_uniform
    • tick.simulation.features_normal_cov_toeplitz
    • tick.simulation.weights_sparse_exp
    • tick.simulation.weights_sparse_gauss

    11. tick.datasets

    Remains unchanged

    • tick.dataset.fetch_tick_dataset
    • tick.dataset.fetch_hawkes_bund_data

    12. tick.model_base

    • tick.model_base.model
    • tick.model_base.model_first_order
    • tick.model_base.model_generalized_linear
    • tick.model_base.model_generalized_linear_with_intercept
    • tick.model_base.model_labels_features
    • tick.model_base.model_lipschitz
    • tick.model_base.model_self_concordant
    • tick.model_base.model_second_order

    Proposal for the reorganization of the lib directory

    lib
    ├── CMakeLists.txt
    ├── Doxyfile
    ├── cpp
    │   ├── array
    │   │   ├── CMakeLists.txt
    │   │   └── alloc.cpp
    │   ├── array_test
    │   │   ├── CMakeLists.txt
    │   │   ├── array_test.cpp
    │   │   ├── performance_test.cpp
    │   │   ├── sbasearray_container.cpp
    │   │   ├── typemap_test.cpp
    │   │   └── varraycontainer.cpp
    │   ├── base
    │   │   ├── CMakeLists.txt
    │   │   ├── exceptions_test.cpp
    │   │   ├── interruption.cpp
    │   │   ├── math
    │   │   │   ├── normal_distribution.cpp
    │   │   │   └── t2exp.cpp
    │   │   ├── model
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── model_generalized_linear.cpp
    │   │   │   ├── model_labels_features.cpp
    │   │   │   └── model_lipschitz.cpp
    │   │   └── time_func.cpp
    │   ├── linear_model
    │   │   ├── CMakeLists.txt
    │   │   ├── linreg.cpp
    │   │   ├── logreg.cpp
    │   │   ├── model_hinge.cpp
    │   │   ├── model_quadratic_hinge.cpp
    │   │   ├── model_smoothed_hinge.cpp
    │   │   └── poisreg.cpp
    │   ├── hawkes
    │   │   ├── CMakeLists.txt
    │   │   ├── model
    │   │   │   ├── base
    │   │   │   │   ├── hawkes_fixed_kern_loglik.cpp
    │   │   │   │   ├── hawkes_list.cpp
    │   │   │   │   ├── hawkes_model.cpp
    │   │   │   │   └── hawkes_single.cpp
    │   │   │   └── variants
    │   │   │       ├── hawkes_fixed_expkern_leastsq_list.cpp
    │   │   │       ├── hawkes_fixed_expkern_loglik_list.cpp
    │   │   │       ├── hawkes_fixed_kern_loglik_list.cpp
    │   │   │       ├── hawkes_fixed_sumexpkern_leastsq_list.cpp
    │   │   │       ├── hawkes_fixed_sumexpkern_loglik_list.cpp
    │   │   │       └── hawkes_leastsq_list.cpp
    │   │   │   ├── hawkes_utils.cpp
    │   │   │   ├── hawkes_fixed_expkern_leastsq.cpp
    │   │   │   ├── hawkes_fixed_expkern_loglik.cpp
    │   │   │   ├── hawkes_fixed_sumexpkern_leastsq.cpp
    │   │   │   ├── hawkes_fixed_sumexpkern_loglik.cpp
    │   │   ├── inference
    │   │   │   ├── hawkes_adm4.cpp
    │   │   │   ├── hawkes_basis_kernels.cpp
    │   │   │   ├── hawkes_conditional_law.cpp
    │   │   │   ├── hawkes_em.cpp
    │   │   │   ├── hawkes_sumgaussians.cpp
    │   │   ├── simulation
    │   │   │   ├── hawkes_kernels
    │   │   │   │   ├── hawkes_kernel.cpp
    │   │   │   │   ├── hawkes_kernel_exp.cpp
    │   │   │   │   ├── hawkes_kernel_power_law.cpp
    │   │   │   │   ├── hawkes_kernel_sum_exp.cpp
    │   │   │   │   └── hawkes_kernel_time_func.cpp
    │   │   │   ├── hawkes_baselines
    │   │   │   │   ├── constant_baseline.cpp
    │   │   │   │   └── timefunction_baseline.cpp
    │   │   │   ├── hawkes.cpp
    │   │   │   ├── inhomogeneous_poisson.cpp
    │   │   │   ├── poisson.cpp
    │   │   │   ├── pp.cpp
    │   ├── preprocessing
    │   │   ├── CMakeLists.txt
    │   │   ├── longitudinal_features_lagger.cpp
    │   │   └── sparse_longitudinal_features_product.cpp
    │   ├── prox
    │   │   ├── CMakeLists.txt
    │   │   ├── prox.cpp
    │   │   ├── prox_binarsity.cpp
    │   │   ├── prox_elasticnet.cpp
    │   │   ├── prox_equality.cpp
    │   │   ├── prox_group_l1.cpp
    │   │   ├── prox_l1.cpp
    │   │   ├── prox_l1w.cpp
    │   │   ├── prox_l2.cpp
    │   │   ├── prox_l2sq.cpp
    │   │   ├── prox_multi.cpp
    │   │   ├── prox_positive.cpp
    │   │   ├── prox_separable.cpp
    │   │   ├── prox_slope.cpp
    │   │   ├── prox_sorted_l1.cpp
    │   │   ├── prox_tv.cpp
    │   │   ├── prox_with_groups.cpp
    │   │   └── prox_zero.cpp
    │   ├── random
    │   │   ├── CMakeLists.txt
    │   │   ├── rand.cpp
    │   │   └── test_rand.cpp
    │   ├── robust
    │   │   ├── model_absolute_regression.cpp
    │   │   ├── model_epsilon_insensitive.cpp
    │   │   ├── model_generalized_linear_with_intercepts.cpp
    │   │   ├── model_huber.cpp
    │   │   ├── model_linreg_with_intercepts.cpp
    │   │   └── model_modified_huber.cpp
    │   ├── solver
    │   │   ├── CMakeLists.txt
    │   │   ├── adagrad.cpp
    │   │   ├── saga.cpp
    │   │   ├── sdca.cpp
    │   │   ├── sgd.cpp
    │   │   ├── sto_solver.cpp
    │   │   └── svrg.cpp
    │   └── survival
    │       ├── coxreg_partial_lik.cpp
    │       └── sccs.cpp
    

    cpp-test, include and swig follow cpp structure

    enhancement 
    opened by stephanegaiffas 12
  • Add ConvSCCS model + refactoring of SCCS-related stuff (preprocessing, simulations, etc.)

    Add ConvSCCS model + refactoring of SCCS-related stuff (preprocessing, simulations, etc.)

    Add ConvSCCS model + refactoring of SCCS-related stuff (preprocessing, simulations, etc.) according to the paper

    Feature products are not shipped as a learner option for now, but it can be used independently.

    Most objects are not picklable for now, this should be fixed in another task to allow parallel CV and bootstrap.

    opened by MaryanMorel 11
  • Installation issues

    Installation issues

    When I try to import tick, it raises an ImportError saying "No module named '_array'!" If I trace "tick.base.array.build._array" there indeed is not any _array module.

    opened by ashishdandekar 11
  • Weird bug at python test time for LearnerSCCS

    Weird bug at python test time for LearnerSCCS

    test_LearnerSCCS_coefficient_groups (tick.survival.tests.convolutional_sccs_test.Test) ... libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: thread::join failed: No such process libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: thread::join failed: No such process libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: thread::join failed: No such process libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: thread::join failed: No such process

    bug duplicate future 
    opened by stephanegaiffas 9
  • Error when construct the disease network

    Error when construct the disease network

    Hi, When I want to build the disease network, I met a mistake. I have 291 kinds of diseases totally. However, nobody will have all the diseases. So there may be some [ ] in the events. And the tick can not handle this situation. (I used inference.HawkesExpKern) What should I do? Is it possible for Tick to solve the problem? Thanks,

    opened by tianjiu233 9
  • TICK-397 Building on windows

    TICK-397 Building on windows

    There's assumptions that MSVC is in use.

    Installing the requirements from pip is not so straight forward either and requires downloading some WHL files separately

    numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
    numpydoc-0.7.0-py2.py3-none-any.whl
    scipy-0.19.1-cp36-cp36m-win_amd64.whl
    

    Which I got from here: www.lfd.uci.edu/~gohlke/pythonlibs

    There's an issue linking libraries so it has to be done manually.

    I haven't tested linux and mac still work but I don't see why they wouldn't.

    Feel free to reject and do manually.

    Most notable change is probably in:

    tick/base/src/interruption.h
    

    As sharing static class members across DLLs is tricky, it's changed to a static method/member pair.

    Prebuilt windows libraries can be found on the windows branch of my fork under the "build" directory.

    enhancement wip 
    opened by PhilipDeegan 9
  • Problem with plot module

    Problem with plot module

    Hi ! here is the issue. Best Agathe

    In [1]: from tick import plot

    ImportError Traceback (most recent call last) in () ----> 1 from tick import plot

    ~/anaconda3/lib/python3.6/site-packages/tick/plot/init.py in () 8 plot_basis_kernels, plot_hawkes_baseline_and_kernels 9 from .plot_timefunction import plot_timefunction ---> 10 from .plot_point_processes import plot_point_process 11 12

    ~/anaconda3/lib/python3.6/site-packages/tick/plot/plot_point_processes.py in () 4 import numpy as np 5 ----> 6 from tick.hawkes.simulation.base import SimuPointProcess 7 8

    ~/anaconda3/lib/python3.6/site-packages/tick/hawkes/init.py in () 11 HawkesKernelSumExp, HawkesKernelTimeFunc 12 ) ---> 13 from .inference import ( 14 HawkesADM4, HawkesExpKern, HawkesSumExpKern, HawkesBasisKernels, 15 HawkesConditionalLaw, HawkesEM, HawkesSumGaussians, HawkesCumulantMatching

    ~/anaconda3/lib/python3.6/site-packages/tick/hawkes/inference/init.py in () 1 # License: BSD 3 clause 2 ----> 3 from .hawkes_adm4 import HawkesADM4 4 from .hawkes_basis_kernels import HawkesBasisKernels 5 from .hawkes_conditional_law import HawkesConditionalLaw

    ~/anaconda3/lib/python3.6/site-packages/tick/hawkes/inference/hawkes_adm4.py in () 4 5 from tick.hawkes import ModelHawkesExpKernLogLik, SimuHawkesExpKernels ----> 6 from tick.hawkes.inference.base import LearnerHawkesNoParam 7 from tick.hawkes.inference.build.hawkes_inference import ( 8 HawkesADM4 as _HawkesADM4

    ~/anaconda3/lib/python3.6/site-packages/tick/hawkes/inference/base/init.py in () 3 4 from .learner_hawkes_noparam import LearnerHawkesNoParam ----> 5 from .learner_hawkes_param import LearnerHawkesParametric

    ~/anaconda3/lib/python3.6/site-packages/tick/hawkes/inference/base/learner_hawkes_param.py in () 9 from tick.base_model import ModelLipschitz 10 from tick.hawkes import SimuHawkes ---> 11 from tick.plot import plot_point_process 12 from tick.prox import ProxElasticNet, ProxL1, ProxL2Sq, ProxPositive 13 from tick.solver import AGD, GD, SGD, SVRG, BFGS

    ImportError: cannot import name 'plot_point_process'

    opened by aguilloux 8
  • Hawkes Cumulant Matching - PyTorch implementation

    Hawkes Cumulant Matching - PyTorch implementation

    We give two implementations of HawkesCumulantMatching: one with tensorflow HawkesCumulantMatchingTf, and one with pytorch HawkesCumulantMatchingPyT.

    This draft PR incorporates https://github.com/X-DataInitiative/tick/pull/505

    opened by claudio-ICL 0
  • Hawkes cumulants - Tensorflow v1

    Hawkes cumulants - Tensorflow v1

    This PR proposes to break the class HawkesCumulantMatching in a base class with the general interface, and a derived class that implements the methods of the interface using tensorflow. A second derived class that will implement the same methods with pytorch is also prototyped. Moreover, this PR tries to migrate HawkesCumulantMatching to tensorflow v2 minimising the required changes: I used tf.compat.v1. Tests of the inference methodology are re-activated (no longer skipped by default).

    opened by claudio-ICL 6
  • State of Tick in (almost) 2023

    State of Tick in (almost) 2023

    Issues:

    • Sparse array serialization segfaults on various platforms with various versions of python
    • Various deprecation warnings for csc/csr_matrix
    • A number of tests are only failing on OSX

    Tests to be disabled generally:

    grep -A 1 -r "\.skip" .
    ./tick/survival/tests/convolutional_sccs_test.py:    @unittest.skip("issue with StratifiedKFold")
    ./tick/survival/tests/convolutional_sccs_test.py-    def test_LearnerSCCS_fit_KFold_CV(self):
    --
    ./tick/solver/tests/sdca_test.py:    @unittest.skip("Is failing by a small amount - to assess")
    ./tick/solver/tests/sdca_test.py-    def test_sdca_identity_poisreg(self):
    --
    ./tick/random/tests/random_test.py:    @unittest.skip("Needs checking with scipy benchmark")
    ./tick/random/tests/random_test.py-    def test_uniform_int_random(self):
    --
    ./tick/random/tests/random_test.py:    @unittest.skip("Needs some clarity around what we should assert")
    ./tick/random/tests/random_test.py-    def test_poisson_random(self):
    

    For the moment I will be configuring Github actions to only show the builds which do in fact finish. This is not ideal, but considering the state of things I think it's best to have something that we know consistently works for people to make PRs against. Once this is done I can try adding python3.10 on all platforms and checking if it builds ok.

    opened by PhilipDeegan 0
  • how to estimate the hawkes parameters with real world data?

    how to estimate the hawkes parameters with real world data?

    Hi!! I'm new to the Hawkes process and I can't seem to find an example of the real world data in the tick document. I can only see that you give certain parameters and simulate a series of data, then based on the simulated data, the tool infers the parameters of the process. I will be appreciated if you can fill me with the input data form and how to estimate the parameters based on it. Thanks!

    opened by viviananana 0
  • Cpptest build  fails

    Cpptest build fails

    Hi @PhilipDeegan

    I am trying to run the cpptest locally. I do python setup.py build_ext --inplace cpptest, but it seems that the test cannot be built. Attached is the printout. cpptest_error.txt

    Could you please help me with the cpp tests? How is one supposed to run them locally?

    opened by claudio-ICL 2
  • Poisson regression tests fail

    Poisson regression tests fail

    Hi @PhilipDeegan

    When I run python setup.py build_ext --inplace pytest, I get 5 failures and 1 error: please see below.

    Could you please explain why this is happening? Can I simply ignore those failures if I want to open a PR? I only intend to contribute to tick.hawkes and not to tick.linear_model.

    ======================================================================
    ERROR: tick.linear_model.tests.logistic_regression_test (unittest.loader._FailedTest)
    ----------------------------------------------------------------------
    ImportError: Failed to import test module: tick.linear_model.tests.logistic_regression_test
    Traceback (most recent call last):
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/unittest/loader.py", line 428, in _find_test_path
        module = self._get_module_from_name(name)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
        __import__(name)
      File "/home/claudio/projects/mytick/tick/linear_model/tests/logistic_regression_test.py", line 7, in <module>
        from sklearn.metrics.ranking import roc_auc_score
    ModuleNotFoundError: No module named 'sklearn.metrics.ranking'
    
    
    ======================================================================
    FAIL: test_predict (tick.linear_model.tests.linear_regression_test.Test)
    ...Test LinearRegression predict
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/claudio/projects/mytick/tick/linear_model/tests/linear_regression_test.py", line 370, in test_predict
        learner.predict(X_test), y_pred, decimal=4)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 1044, in assert_array_almost_equal
        precision=decimal)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 840, in assert_array_compare
        raise AssertionError(msg)
    AssertionError: 
    Arrays are not almost equal to 4 decimals
    
    Mismatched elements: 5 / 5 (100%)
    Max absolute difference: 7.92
    Max relative difference: 20.54
     x: array([-1.641 , -0.7238, -1.4996, -5.2949, -3.3918])
     y: array([ 0.084 , -1.4276, -3.1555,  2.6218,  0.3736])
    
    ======================================================================
    FAIL: test_score (tick.linear_model.tests.linear_regression_test.Test)
    ...Test LinearRegression predict
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/claudio/projects/mytick/tick/linear_model/tests/linear_regression_test.py", line 382, in test_score
        learner.score(X_test, y_test), 0.793774, places=4)
    AssertionError: 0.7932202816957551 != 0.793774 within 4 places
    
    ======================================================================
    FAIL: test_decision_function (tick.linear_model.tests.poisson_regression_test.Test)
    ...Test PoissonRegression decision function
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/claudio/projects/mytick/tick/linear_model/tests/poisson_regression_test.py", line 353, in test_decision_function
        learner.decision_function(X_test), y_pred, decimal=4)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 1044, in assert_array_almost_equal
        precision=decimal)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 840, in assert_array_compare
        raise AssertionError(msg)
    AssertionError: 
    Arrays are not almost equal to 4 decimals
    
    Mismatched elements: 5 / 5 (100%)
    Max absolute difference: 7.21
    Max relative difference: 27.47
     x: array([ 2.7299, 10.226 ,  7.4709,  1.4228,  6.4019])
     y: array([1.1448, 5.2194, 0.2624, 4.5525, 6.4168])
    
    ======================================================================
    FAIL: test_loglik (tick.linear_model.tests.poisson_regression_test.Test)
    ...Test PoissonRegression loglik function
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/claudio/projects/mytick/tick/linear_model/tests/poisson_regression_test.py", line 364, in test_loglik
        learner.loglik(X_test, y_test), 1.8254, decimal=4)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 1044, in assert_array_almost_equal
        precision=decimal)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 840, in assert_array_compare
        raise AssertionError(msg)
    AssertionError: 
    Arrays are not almost equal to 4 decimals
    
    Mismatched elements: 1 / 1 (100%)
    Max absolute difference: 0.19
    Max relative difference: 0.1
     x: array(2.0107)
     y: array(1.8254)
    
    ======================================================================
    FAIL: test_predict (tick.linear_model.tests.poisson_regression_test.Test)
    ...Test PoissonRegression predict
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/claudio/projects/mytick/tick/linear_model/tests/poisson_regression_test.py", line 341, in test_predict
        np.testing.assert_array_almost_equal(learner.predict(X_test), y_pred)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 1044, in assert_array_almost_equal
        precision=decimal)
      File "/home/claudio/anaconda3/envs/mytick/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 840, in assert_array_compare
        raise AssertionError(msg)
    AssertionError: 
    Arrays are not almost equal to 6 decimals
    
    Mismatched elements: 4 / 5 (80%)
    Max absolute difference: 7.
    Max relative difference: 2.
     x: array([ 3., 10.,  7.,  1.,  6.])
     y: array([1., 5., 0., 5., 6.])
    
    ----------------------------------------------------------------------
    
    opened by claudio-ICL 4
Releases(v0.6)
  • v0.6(Sep 11, 2019)

    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
    Source code(tar.gz)
    Source code(zip)
    tick-0.6.0.0-cp36-cp36m-macosx_10_12_x86_64.whl(7.01 MB)
    tick-0.6.0.0-cp36-cp36m-manylinux2010_x86_64.whl(10.07 MB)
    tick-0.6.0.0-cp36-cp36m-win_amd64.whl(8.42 MB)
    tick-0.6.0.0-cp37-cp37m-macosx_10_12_x86_64.whl(7.01 MB)
    tick-0.6.0.0-cp37-cp37m-manylinux2010_x86_64.whl(10.07 MB)
    tick-0.6.0.0-cp37-cp37m-win_amd64.whl(8.42 MB)
  • v0.5(Nov 14, 2018)

    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
    Source code(tar.gz)
    Source code(zip)
    tick-0.5.0.0-cp35-cp35m-macosx_10_12_x86_64.whl(6.74 MB)
    tick-0.5.0.0-cp35-cp35m-manylinux1_x86_64.whl(5.55 MB)
    tick-0.5.0.0-cp35-cp35m-win_amd64.whl(8.58 MB)
    tick-0.5.0.0-cp36-cp36m-macosx_10_12_x86_64.whl(6.74 MB)
    tick-0.5.0.0-cp36-cp36m-manylinux1_x86_64.whl(5.55 MB)
    tick-0.5.0.0-cp36-cp36m-win_amd64.whl(7.34 MB)
    tick-0.5.0.0.tar.gz(791.87 KB)
  • v0.4(Feb 2, 2018)

    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

    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.
    Source code(tar.gz)
    Source code(zip)
  • v0.3(Oct 26, 2017)

    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
    Source code(tar.gz)
    Source code(zip)
  • 0.2.1(Jul 26, 2017)

Owner
X - Data Science Initiative
X - Data Science Initiative
Summer: compartmental disease modelling in Python

Summer: compartmental disease modelling in Python Summer is a Python-based framework for the creation and execution of compartmental (or "state-based"

null 6 May 13, 2022
Python module for machine learning time series:

seglearn Seglearn is a python package for machine learning time series or sequences. It provides an integrated pipeline for segmentation, feature extr

David Burns 536 Dec 29, 2022
Kats is a toolkit to analyze time series data, a lightweight, easy-to-use, and generalizable framework to perform time series analysis.

Kats, a kit to analyze time series data, a lightweight, easy-to-use, generalizable, and extendable framework to perform time series analysis, from understanding the key statistics and characteristics, detecting change points and anomalies, to forecasting future trends.

Facebook Research 4.1k Dec 29, 2022
A data preprocessing package for time series data. Design for machine learning and deep learning.

A data preprocessing package for time series data. Design for machine learning and deep learning.

Allen Chiang 152 Jan 7, 2023
Python module for data science and machine learning users.

dsnk-distributions package dsnk distribution is a Python module for data science and machine learning that was created with the goal of reducing calcu

Emmanuel ASIFIWE 1 Nov 23, 2021
A machine learning toolkit dedicated to time-series data

tslearn The machine learning toolkit for time series analysis in Python Section Description Installation Installing the dependencies and tslearn Getti

null 2.3k Jan 5, 2023
A unified framework for machine learning with time series

Welcome to sktime A unified framework for machine learning with time series We provide specialized time series algorithms and scikit-learn compatible

The Alan Turing Institute 6k Jan 6, 2023
A machine learning toolkit dedicated to time-series data

tslearn The machine learning toolkit for time series analysis in Python Section Description Installation Installing the dependencies and tslearn Getti

null 2.3k Dec 29, 2022
Merlion: A Machine Learning Framework for Time Series Intelligence

Merlion is a Python library for time series intelligence. It provides an end-to-end machine learning framework that includes loading and transforming data, building and training models, post-processing model outputs, and evaluating model performance. I

Salesforce 2.8k Jan 5, 2023
A scikit-learn based module for multi-label et. al. classification

scikit-multilearn scikit-multilearn is a Python module capable of performing multi-label learning tasks. It is built on-top of various scientific Pyth

null 802 Jan 1, 2023
A Python Module That Uses ANN To Predict A Stocks Price And Also Provides Accurate Technical Analysis With Many High Potential Implementations!

Stox A Module to predict the "close price" for the next day and give "technical analysis". It uses a Neural Network and the LSTM algorithm to predict

Stox 31 Dec 16, 2022
Module is created to build a spam filter using Python and the multinomial Naive Bayes algorithm.

Naive-Bayes Spam Classificator Module is created to build a spam filter using Python and the multinomial Naive Bayes algorithm. Main goal is to code a

Viktoria Maksymiuk 1 Jun 27, 2022
Python module for performing linear regression for data with measurement errors and intrinsic scatter

Linear regression for data with measurement errors and intrinsic scatter (BCES) Python module for performing robust linear regression on (X,Y) data po

Rodrigo Nemmen 56 Sep 27, 2022
SIMD-accelerated bitwise hamming distance Python module for hexidecimal strings

hexhamming What does it do? This module performs a fast bitwise hamming distance of two hexadecimal strings. This looks like: DEADBEEF = 1101111010101

Michael Recachinas 12 Oct 14, 2022
Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.

Prophet: Automatic Forecasting Procedure Prophet is a procedure for forecasting time series data based on an additive model where non-linear trends ar

Facebook 15.4k Jan 7, 2023
Open source time series library for Python

PyFlux PyFlux is an open source time series library for Python. The library has a good array of modern time series models, as well as a flexible array

Ross Taylor 2k Jan 2, 2023
Probabilistic programming framework that facilitates objective model selection for time-varying parameter models.

Time series analysis today is an important cornerstone of quantitative science in many disciplines, including natural and life sciences as well as eco

Christoph Mark 129 Dec 24, 2022
Automatic extraction of relevant features from time series:

tsfresh This repository contains the TSFRESH python package. The abbreviation stands for "Time Series Feature extraction based on scalable hypothesis

Blue Yonder GmbH 7k Jan 6, 2023
Real-time stream processing for python

Streamz Streamz helps you build pipelines to manage continuous streams of data. It is simple to use in simple cases, but also supports complex pipelin

Python Streamz 1.1k Dec 28, 2022