divina documentation — Python documentation

# 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:

1. 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"
        }
    }

2. 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