gaussianansatz


Namegaussianansatz JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryTensorflow package for building neural networks capable of frequentist inference and uncertainty estimation
upload_time2023-04-17 20:13:02
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMIT
keywords frequentist inference jet physics uncertainty estimation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Gaussian Ansatz (v0.0.1)

[![GitHub Project](https://img.shields.io/badge/GitHub--blue?style=social&logo=GitHub)](https://github.com/rikab/GaussianAnsatz)
<!-- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7689890.svg)](https://doi.org/10.5281/zenodo.7689890) -->


The `Gaussian Ansatz` is a machine learning framework for performing frequentist inference, complete with local uncertainty estimation, as described in ["Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics" (arxiv:2205.03413)](https://arxiv.org/abs/2205.03413). These models can be used to quickly estimate local resolutions of an inference $z$ given a measurement $x$, even if $x$ is very high-dimensional.




## Installation

### From PyPI

In your Python environment run

```
python -m pip install GaussianAnsatz
```

### From this repository locally

In your Python environment from the top level of this repository run

```
python -m pip install .
```

### From GitHub

In your Python environment run

```
python -m pip install "GaussianAnsatz @ git+https://github.com/rikab/GaussianAnsatz.git"
```

## Example Usage

For an example of how to use the Gaussian Ansatz, see the notebook `examples/minimal_working_example.ipynb`. This notebook contains example code for loading data, using pre-built DNN Gaussian Ansatz, pre-training and training, and extracting inferences with uncertainty estimates.

Additional, more complicated examples can be found in the `JEC` subfolder. The files here correspond exactly to the jet energy studies, as described in ["Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics" (arxiv:2205.03413)](https://arxiv.org/abs/2205.03413)

## Dependencies

To use the `Gaussian Ansatz`, the following packages must be installed as prerequisites:

- [Tensorflow](https://github.com/tensorflow/tensorflow): A standard tensor operation library.
- [Energyflow](https://energyflow.network/): A suite of particle physics tools, including Energy Flow Networks and Particle FLow Networks
- Standard python packages: [numpy](https://numpy.org/), [scipy](https://scipy.org/), [matplotlib](https://matplotlib.org/)

## Citation

If you use the `Gaussian Ansatz`, please cite both the corresponding paper, "Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics"?:



    @article{Gambhir:2022gua,
    author = "Gambhir, Rikab and Nachman, Benjamin and Thaler, Jesse",
    title = "{Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics}",
    eprint = "2205.03413",
    archivePrefix = "arXiv",
    primaryClass = "hep-ph",
    reportNumber = "MIT-CTP 5431",
    doi = "10.1103/PhysRevLett.129.082001",
    journal = "Phys. Rev. Lett.",
    volume = "129",
    number = "8",
    pages = "082001",
    year = "2022"
}


## Changelog

- v0.0.1: 17 April 2023. Now pip-installable!
- v0.0.0: 6 May 2022. Public release.

Based on the work in ["Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics" (arxiv:2205.03413)](https://arxiv.org/abs/2205.03413)

Bugs, Fixes, Ideas, or Questions? Contact me at rikab@mit.edu

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "gaussianansatz",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "frequentist inference,jet physics,uncertainty estimation",
    "author": "",
    "author_email": "Rikab Gambhir <rikab@mit.edu>",
    "download_url": "https://files.pythonhosted.org/packages/41/a5/4919677df37b3c17ba48812f2d76dcb200520f7358adc80237a96bd2297f/gaussianansatz-0.0.1.tar.gz",
    "platform": null,
    "description": "# Gaussian Ansatz (v0.0.1)\n\n[![GitHub Project](https://img.shields.io/badge/GitHub--blue?style=social&logo=GitHub)](https://github.com/rikab/GaussianAnsatz)\n<!-- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7689890.svg)](https://doi.org/10.5281/zenodo.7689890) -->\n\n\nThe `Gaussian Ansatz` is a machine learning framework for performing frequentist inference, complete with local uncertainty estimation, as described in [\"Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics\" (arxiv:2205.03413)](https://arxiv.org/abs/2205.03413). These models can be used to quickly estimate local resolutions of an inference $z$ given a measurement $x$, even if $x$ is very high-dimensional.\n\n\n\n\n## Installation\n\n### From PyPI\n\nIn your Python environment run\n\n```\npython -m pip install GaussianAnsatz\n```\n\n### From this repository locally\n\nIn your Python environment from the top level of this repository run\n\n```\npython -m pip install .\n```\n\n### From GitHub\n\nIn your Python environment run\n\n```\npython -m pip install \"GaussianAnsatz @ git+https://github.com/rikab/GaussianAnsatz.git\"\n```\n\n## Example Usage\n\nFor an example of how to use the Gaussian Ansatz, see the notebook `examples/minimal_working_example.ipynb`. This notebook contains example code for loading data, using pre-built DNN Gaussian Ansatz, pre-training and training, and extracting inferences with uncertainty estimates.\n\nAdditional, more complicated examples can be found in the `JEC` subfolder. The files here correspond exactly to the jet energy studies, as described in [\"Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics\" (arxiv:2205.03413)](https://arxiv.org/abs/2205.03413)\n\n## Dependencies\n\nTo use the `Gaussian Ansatz`, the following packages must be installed as prerequisites:\n\n- [Tensorflow](https://github.com/tensorflow/tensorflow): A standard tensor operation library.\n- [Energyflow](https://energyflow.network/): A suite of particle physics tools, including Energy Flow Networks and Particle FLow Networks\n- Standard python packages: [numpy](https://numpy.org/), [scipy](https://scipy.org/), [matplotlib](https://matplotlib.org/)\n\n## Citation\n\nIf you use the `Gaussian Ansatz`, please cite both the corresponding paper, \"Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics\"?:\n\n\n\n    @article{Gambhir:2022gua,\n    author = \"Gambhir, Rikab and Nachman, Benjamin and Thaler, Jesse\",\n    title = \"{Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics}\",\n    eprint = \"2205.03413\",\n    archivePrefix = \"arXiv\",\n    primaryClass = \"hep-ph\",\n    reportNumber = \"MIT-CTP 5431\",\n    doi = \"10.1103/PhysRevLett.129.082001\",\n    journal = \"Phys. Rev. Lett.\",\n    volume = \"129\",\n    number = \"8\",\n    pages = \"082001\",\n    year = \"2022\"\n}\n\n\n## Changelog\n\n- v0.0.1: 17 April 2023. Now pip-installable!\n- v0.0.0: 6 May 2022. Public release.\n\nBased on the work in [\"Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics\" (arxiv:2205.03413)](https://arxiv.org/abs/2205.03413)\n\nBugs, Fixes, Ideas, or Questions? Contact me at rikab@mit.edu\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Tensorflow package for building neural networks capable of frequentist inference and uncertainty estimation",
    "version": "0.0.1",
    "split_keywords": [
        "frequentist inference",
        "jet physics",
        "uncertainty estimation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3054462faab8592fa9d9e30117a4fb100482847b919b071752b772a7efcfb26b",
                "md5": "571c33122b03f89555ea748912a2d2bc",
                "sha256": "69d16b12718098556905081079647ad3550ddebe2dd7534f426a178d79330c9e"
            },
            "downloads": -1,
            "filename": "gaussianansatz-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "571c33122b03f89555ea748912a2d2bc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 11693,
            "upload_time": "2023-04-17T20:13:00",
            "upload_time_iso_8601": "2023-04-17T20:13:00.451459Z",
            "url": "https://files.pythonhosted.org/packages/30/54/462faab8592fa9d9e30117a4fb100482847b919b071752b772a7efcfb26b/gaussianansatz-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41a54919677df37b3c17ba48812f2d76dcb200520f7358adc80237a96bd2297f",
                "md5": "b12e8c5efbc1a192abde6a70722edd0d",
                "sha256": "52117a78f32d9f6ac0e95dcbdc6a013191994adfe9d5274e000ae9e3f2db8d09"
            },
            "downloads": -1,
            "filename": "gaussianansatz-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b12e8c5efbc1a192abde6a70722edd0d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 12239,
            "upload_time": "2023-04-17T20:13:02",
            "upload_time_iso_8601": "2023-04-17T20:13:02.916907Z",
            "url": "https://files.pythonhosted.org/packages/41/a5/4919677df37b3c17ba48812f2d76dcb200520f7358adc80237a96bd2297f/gaussianansatz-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-17 20:13:02",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "gaussianansatz"
}
        
Elapsed time: 0.22939s