A package for selecting ensemble members using entropy theory
Project description
ebemse | Entropy-Based Ensemble Members SElection
ebemse is a Python library for the selection of a set of mutually exclusive, collectivelly exaustive (MECE) ensemble members.
The library implements the approach presented by Darbandsari and Coulibaly (2021) as step that antecedes the further merging of a set of ensemble forecasts.
Installing
The library can be installed using the traditional pip:
pip install ebemse
And is listed on the Python Package Index (pypi) at .
Using
Suppose you have a file named example.csv
with the following content:
Date, Memb_A, Memb_B, ..., Memb_Z, Obsv
2020/05/15, 1.12, 1.05, ..., 0.5, 1.01
2020/05/16, 1.15, 1.12, ..., 0.9, 1.10
2020/05/17, 1.13, 1.32, ..., 1.1, 1.29
... ... ... ..., ..., ...
2020/11/30, 1.22, 0.95, ..., 0.3, 0.87
In which the columns starting with "Memb_" hold the realization of one ensemble member for the time interval and "Obsv" holds the observed values for the same time interval.
If your our objective is to select a MECE set considering obaservations, it can be done using the standard parameters by:
import pandas as pd
import ebemse
# read file
data_ensemble = pd.read_csv("example.csv").to_dict('list')
data_obsv = data_ensemble["Obsv"]
del data_ensemble["Obsv"], data_ensemble["Date"]
# perform selection
selected_members = ebemse.select_ensemble_members(data_ensemble, data_obsv)
The variable selected_members
will be a dictionary with the following keys and values:
- history: dictionary with the following additional information related with the selection process:
- total_correlation: list of floats
- joint_entropy: list of floats
- transinformation: list of floats or
None
- selected_members: list of string with the labels of the selected elements
- original_ensemble_joint_entropy: float
Further information
select_ensemble_members()
Arguments:
- all_ensemble_members: dict
- observations: Union[list, tuple, np.array, None] (default: None)
- n_bins: Union[int, None] (default: 10)
- bin_by: str (default: "quantile_individual")
- beta_threshold: float (default: 0.9)
- n_processes: int (default: 1)
- minimum_n_members: int (default: 2)
- verbose: bool (default: False)
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 Distributions
Built Distribution
File details
Details for the file ebemse-0.1-py3-none-any.whl
.
File metadata
- Download URL: ebemse-0.1-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/3.10.0 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61d53276e64507b63ccb76f6f14de2d25b539d6e9aeb762d843dda51d10f8307 |
|
MD5 | 43dabd726d55fa36d0be6827b4e99aaf |
|
BLAKE2b-256 | 3e92cd744d849c389a64b19169440938f6d6280d4bc6dabe4f3dabc274019ede |