The `stats_arrays` package provides a standard NumPy array interface for defining uncertain parameters used in models, and classes for Monte Carlo sampling. It also plays well with others.
# Motivation
* Want a consistent interface to SciPy and NumPy statistical function
* Want to be able to quickly load and save many parameter uncertainty distribution definitions in a portable format
* Want to manipulate and switch parameter uncertainty distributions and variables
* Want simple Monte Carlo random number generators that return a vector of parameter values to be fed into uncertainty or sensitivity analysis
* Want something simple, extensible, documented and tested
The `stats_arrays package was originally developed for the [Brightway2 life cycle assessment framework](https://docs.brightway.dev/), but can be applied to any stochastic model.
# Example
```python
>>> from stats_arrays import *
>>> my_variables = UncertaintyBase.from_dicts(
... {'loc': 2, 'scale': 0.5, 'uncertainty_type': NormalUncertainty.id},
... {'loc': 1.5, 'minimum': 0, 'maximum': 10, 'uncertainty_type': TriangularUncertainty.id}
... )
>>> my_variables
array([(2.0, 0.5, nan, nan, nan, False, 3),
(1.5, nan, nan, 0.0, 10.0, False, 5)],
dtype=[('loc', '<f8'), ('scale', '<f8'), ('shape', '<f8'),
('minimum', '<f8'), ('maximum', '<f8'), ('negative', '?'),
('uncertainty_type', 'u1')])
>>> my_rng = MCRandomNumberGenerator(my_variables)
>>> my_rng.next()
array([ 2.74414022, 3.54748507])
>>> # can also be used as an interator
>>> zip(my_rng, xrange(10))
[(array([ 2.96893108, 2.90654471]), 0),
(array([ 2.31190619, 1.49471845]), 1),
(array([ 3.02026168, 3.33696367]), 2),
(array([ 2.04775418, 3.68356226]), 3),
(array([ 2.61976694, 7.0149952 ]), 4),
(array([ 1.79914025, 6.55264372]), 5),
(array([ 2.2389968 , 1.11165296]), 6),
(array([ 1.69236527, 3.24463981]), 7),
(array([ 1.77750176, 1.90119991]), 8),
(array([ 2.32664152, 0.84490754]), 9)]
```
# More
* Source code: https://github.com/brightway-lca/stats_arrays
* Online documentation: https://stats-arrays.readthedocs.io/en/latest/
Raw data
{
"_id": null,
"home_page": "https://github.com/brightway-lca/stats_arrays",
"name": "stats-arrays",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Chris Mutel",
"author_email": "cmutel@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/65/d9/1db2e34c526524b32e47778b7e9db205552c931e236082d14ac770d642e1/stats_arrays-0.6.6.tar.gz",
"platform": null,
"description": "The `stats_arrays` package provides a standard NumPy array interface for defining uncertain parameters used in models, and classes for Monte Carlo sampling. It also plays well with others.\n\n# Motivation\n\n* Want a consistent interface to SciPy and NumPy statistical function\n* Want to be able to quickly load and save many parameter uncertainty distribution definitions in a portable format\n* Want to manipulate and switch parameter uncertainty distributions and variables\n* Want simple Monte Carlo random number generators that return a vector of parameter values to be fed into uncertainty or sensitivity analysis\n* Want something simple, extensible, documented and tested\n\nThe `stats_arrays package was originally developed for the [Brightway2 life cycle assessment framework](https://docs.brightway.dev/), but can be applied to any stochastic model.\n\n# Example\n\n```python\n\n>>> from stats_arrays import *\n>>> my_variables = UncertaintyBase.from_dicts(\n... {'loc': 2, 'scale': 0.5, 'uncertainty_type': NormalUncertainty.id},\n... {'loc': 1.5, 'minimum': 0, 'maximum': 10, 'uncertainty_type': TriangularUncertainty.id}\n... )\n>>> my_variables\narray([(2.0, 0.5, nan, nan, nan, False, 3),\n (1.5, nan, nan, 0.0, 10.0, False, 5)],\n dtype=[('loc', '<f8'), ('scale', '<f8'), ('shape', '<f8'),\n ('minimum', '<f8'), ('maximum', '<f8'), ('negative', '?'),\n ('uncertainty_type', 'u1')])\n>>> my_rng = MCRandomNumberGenerator(my_variables)\n>>> my_rng.next()\narray([ 2.74414022, 3.54748507])\n>>> # can also be used as an interator\n>>> zip(my_rng, xrange(10))\n[(array([ 2.96893108, 2.90654471]), 0),\n (array([ 2.31190619, 1.49471845]), 1),\n (array([ 3.02026168, 3.33696367]), 2),\n (array([ 2.04775418, 3.68356226]), 3),\n (array([ 2.61976694, 7.0149952 ]), 4),\n (array([ 1.79914025, 6.55264372]), 5),\n (array([ 2.2389968 , 1.11165296]), 6),\n (array([ 1.69236527, 3.24463981]), 7),\n (array([ 1.77750176, 1.90119991]), 8),\n (array([ 2.32664152, 0.84490754]), 9)]\n\n```\n\n# More\n\n* Source code: https://github.com/brightway-lca/stats_arrays\n* Online documentation: https://stats-arrays.readthedocs.io/en/latest/\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "Standard NumPy array interface for defining uncertain parameters",
"version": "0.6.6",
"project_urls": {
"Homepage": "https://github.com/brightway-lca/stats_arrays"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c0ee486ba42dc037a0b23e3bd80fa8c9c6b98ccf67104cc3c91d04ad0bea1056",
"md5": "406e129756876d1c57f98bf09ef38286",
"sha256": "0d166af9ed9271934802fd4dd6a8c0567f64bc881b8fd203b6e661ef7d63360d"
},
"downloads": -1,
"filename": "stats_arrays-0.6.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "406e129756876d1c57f98bf09ef38286",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 26362,
"upload_time": "2023-10-18T06:53:32",
"upload_time_iso_8601": "2023-10-18T06:53:32.112543Z",
"url": "https://files.pythonhosted.org/packages/c0/ee/486ba42dc037a0b23e3bd80fa8c9c6b98ccf67104cc3c91d04ad0bea1056/stats_arrays-0.6.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "65d91db2e34c526524b32e47778b7e9db205552c931e236082d14ac770d642e1",
"md5": "2c77e4c6f43b331e93bad8554acb878b",
"sha256": "22a65d7163ebe2cfda3d4ab7824d71394aabf3f15eff85abfdb328f37e5fc40f"
},
"downloads": -1,
"filename": "stats_arrays-0.6.6.tar.gz",
"has_sig": false,
"md5_digest": "2c77e4c6f43b331e93bad8554acb878b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23107,
"upload_time": "2023-10-18T06:53:33",
"upload_time_iso_8601": "2023-10-18T06:53:33.487522Z",
"url": "https://files.pythonhosted.org/packages/65/d9/1db2e34c526524b32e47778b7e9db205552c931e236082d14ac770d642e1/stats_arrays-0.6.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-18 06:53:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "brightway-lca",
"github_project": "stats_arrays",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "nose",
"specs": [
[
">=",
"1.1"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.6.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.1.0"
]
]
}
],
"lcname": "stats-arrays"
}