divina documentationΒΆ
Date: Sep 11, 2021 Version:
Useful links: Binary Installers | Source Repository | Issues & Ideas | Q&A Support | Mailing List
divina
is an open source, BSD3-licensed library providing scalable and hyper-interpretable causal forecasting capabilities written in Python and consumable either via Bash CLI or the built-in web-app.
programming language.
The aim of divina
is twofold:
to reduce the complexity of configuration for causal forecasting at scale. this is accomplished by abstracting all configuration to a single JSON file that lets users configure new experiments easily and safely. Below is an example forecast definition.
{
"vision_definition": {
"time_index": "index",
"target": "passengers",
"time_validation_splits": ["1957-01-01"],
"time_horizons": [1],
"dataset_directory": "s3://divina-public/dataset",
"dataset_id": "airline_sales"
}
}
to deliver scalable and bidirectionally interpretable models that bring transparency and incremental control to the forecasting process. This is done using a variety of coefficient calculation tools for highly-parametric and non-parametric models, binning and interacting of features and and a set of interfaces allowing users to override individual model and forecast coefficients with domain knowledge.
In a minimal example, divina can be used to create a weather forecast using the below command and forecast definition
divina forecast forecast_definition.json --local
and will produce a local output structure as shown below:
divina-forecast
|- models
| |
| \- insample
| |
| \- model.joblib
|- predictions
| |
| \- insample
| |
| \- predictions_partition_0.parquet
\- validation
|
\- insample
|
\- metrics.json
In a more advanced configuration, divina can be used with the following command and forecast definition
to produce an s3 hosted output structure as shown below
###TODO visualization and interpretation interface