Skip to main content

Hestia's Distribution library

Project description

Hestia Data Utils

Utils library to manipulate distributions on the Hestia platform

Install

  1. pip install hestia_earth.distribution
  2. Optional: to generate distribution files, please install pymc 4.

Usage

By default, all output files will be stored under ./data folder. You can set the env variable DISTRIBUTION_DATA_FOLDER to store in a different folder.

To get posterior distribution:

from hestia_earth.distribution.posterior_yield import get_post_ensemble, get_post

# get a single posterior distribution, run:
mu_ensemble, sd_ensemble = get_post_ensemble('GADM-GBR', 'wheatGrain')

# Or, if only instrested in the mean of the mu and sd values, run:
mu, sd = get_post('GADM-GBR', 'wheatGrain')

Advance Usage

You can clone this repository to use the commands below.

Generate prior distribution

To generate yield prior file for all products:

python generate_prior_yield.py --overwrite

For more information, run python generate_prior_yield.py --help.

Generate likelihood data

In order to generate likelihood data (a spreadsheet of crop yield and fertiliser data) for a specific product and a specific country, run:

python generate_likelihood.py --product-id="wheatGrain" --country-id="GADM-GBR" --limit=1000

For more information, run python generate_likelihood.py --help.

Generate posterior distribution

  • In order to generate posterior distribution (for Bayesian statistics) for a specific country, run:
python generate_posterior_yield.py --country-id="GADM-GBR"

or to generate the fertiliser usage:

python generate_posterior_fert.py --country-id="GADM-GBR"

or to generate the pesticide usage:

python generate_posterior_pest.py --country-id="GADM-GBR"

Note: all commands above will update the same CSV file so they must not be run at the same time.

Plotting

Prior Yield

To plot prior distribution by product by country:

python plot_prior_yield.py --country-id='GADM-GBR' --product-id='wheatGrain' --output-file='prior.png'

To plot FAO annual yield data, change --type parameter to one of the four options: fao_per_country, fao_per_product, fao_per_country_per_product, world_mu_signma. Example:

python plot_prior_yield.py --country-id='GADM-GBR' --output-file='fao-yield-gbr-allProducts.png' --type='fao_per_country'

For more information, run python plot_prior_yield.py --help.

Cycle Yield

To plot the bivariate distribution of yield data for Wheat, grain in United Kingdom:

python plot_cycle_yield.py --product-id=wheatGrain" --country-id="GADM-GBR" --limit=100

This will take a sample size of 100 and create a result.png file with the distribution.

For more information, run python plot_cycle_yield.py --help.

Posterior Yield

In order to plot the posterior distribution for a specific product and a specific country, run:

python plot_posterior_yield.py --country-id="GADM-GBR" --product-id="wheatGrain" --output-file="post.png"

For more information, run python plot_posterior_yield.py --help.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hestia-earth-distribution-0.0.13.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hestia_earth_distribution-0.0.13-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

Details for the file hestia-earth-distribution-0.0.13.tar.gz.

File metadata

File hashes

Hashes for hestia-earth-distribution-0.0.13.tar.gz
Algorithm Hash digest
SHA256 8edfec92b99a6993d700f918811b4a8f65b9f887ac32edb8b224127b21e661d5
MD5 0d91e3471c955c5c2809ae50370e0b80
BLAKE2b-256 f3c2ffa2fb9bc646412064758027ce2d317ebaf57fc577e8b1cf25c12e9a5cf0

See more details on using hashes here.

File details

Details for the file hestia_earth_distribution-0.0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for hestia_earth_distribution-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 843560d05e30c17a9170ba42bfb4b29ff9b94cf1e24c466077a3615011d26ad3
MD5 3861b4acde0455c257c9de86f7759af0
BLAKE2b-256 54bcf21c9285ea44395e6e8c736d1a1c044d28c41cc33bfc90652115a6a114f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page