Package for causal, scalable forecasting
Project description
divina: scalable and hyper-interpretable causal forecasting toolkit
What is it?
divina is a Python package that provides scalable, interpretable and accurate forecasting capabilities designed to make causal forecasting modular, efficient and simple. It aims to be reduce the challenge of causal forecasting on datasets of any size to experiment configuration via JSON and, if the extensive set of pre-implemented models is insufficient, custom ensemble design via scikit-learn. More specifically, divina aims to raise the standard of functionality in forecasting by implementing two-way interpretability interfaces for all models.
Main Features
Here are just a few of the things that pandas does well:
- Easy construction of parquet-based datasets that allow for efficient, scalable modelling and dynamic, JSON-driven definition of multi-dataset experiments.
- Abstraction of granular experiment configuration such as cross-validation, regularization and metric selection to a single, simple JSON-based configuration file with sensible defaults.
- Automatic persistence of all experiment artifacts, including models, predictions and validation metrics, to s3 for posterity, traceability and easy integration.
- A user-centric, two-way interpretation interface that allows for granular interpretation of models and predictions while also allowing domain experts to override factors.
Where to get it
The source code is currently hosted on GitHub at: https://github.com/secrettoad/divina
Binary installers for the latest released version are available at the Python Package Index (PyPI)
pip install divina
Dependencies
- dask - Adds support for arbitrarily large datasets via remote, parallelized compute
- dask-ml - Provides distributed-optimized implementations of many popular models
- s3fs - Allows for easy and efficient access to S3
- pyarrow - Enabled persistence of datasets as storage and compute efficent parquet files
License
Documentation
Robust documentation is currently in the works.
Background
Work on divina
started at Coysu Consulting (a technology consulting firm) in 2020 and
has been under active development since then.
Getting Help
For usage questions, the best place to go to is StackOverflow.
Discussion and Development
Most development discussions take place on GitHub in this repo.
Contributing to divina
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
If you are simply looking to start working with the divina codebase, navigate to the GitHub "issues" tab and start looking through interesting issues.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for divina-2021.8.2.dev99-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d45f5fa33b80d5082a04e6ab39fa4bb0bb35aab18fcc9fd056c554baaff73d2 |
|
MD5 | 2aabd7b7b8f2df3596fd4f1ecf7743aa |
|
BLAKE2b-256 | 8b9431e1b69a9727b2a785a4c954aa3065057a81e81b09acd52af9f9f6e2a183 |