scikits.bootstrap


Namescikits.bootstrap JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttp://github.com/cgevans/scikits-bootstrap
SummaryBootstrap confidence interval estimation routines for Numpy/Scipy/Pandas
upload_time2022-01-11 01:02:05
maintainer
docs_urlNone
authorConstantine Evans
requires_python
licenseBSD 3-Clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3548989.svg)](https://doi.org/10.5281/zenodo.3548989)
[![Codecov](https://img.shields.io/codecov/c/github/cgevans/scikits-bootstrap)](https://codecov.io/gh/cgevans/scikits-bootstrap)
[![PyPI](https://img.shields.io/pypi/v/scikits-bootstrap)](https://pypi.org/project/scikits.bootstrap/)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/cgevans/scikits-bootstrap)](https://github.com/cgevans/scikits-bootstrap/releases)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scikits-bootstrap)](https://pypi.org/project/scikits.bootstrap/)


Documentation: [Stable](https://scikits-bootstrap.readthedocs.io/en/stable/), [Latest](https://scikits-bootstrap.readthedocs.io/en/latest/).

scikits-bootstrap
=================

Scikits.bootstrap provides bootstrap statistics confidence interval algorithms
for Numpy/Scipy/Pandas. It originally required scipy, but no longer needs it.

It also provides an algorithm which estimates the probability that the
statistics lies satisfies some criteria, e.g., lies in some interval.

Much of the code has been written based off the descriptions from Efron
and Tibshirani's Introduction to the Bootstrap, and results should match
the results obtained from following those explanations. However, the
current ABC code is based off of the modified-BSD-licensed R port of the
Efron bootstrap code, as I do not believe I currently have a sufficient
understanding of the ABC method to write the code independently.

Please contact me (Constantine Evans <cevans@costinet.org>, or Matrix
<@cge:matrix.org>) with any questions, suggestions, vulnerabilities, or other
comments ([PGP key](https://costinet.org/new-cge-pgp.key)), or, preferably, use
Github's issue and pull requests.

If you'd like to add something, or make improvements, please keep the following
in mind:

- I'd like to keep the library as widely supported as possible, with as
  few dependencies as possible, preferably small ones.  I'm also very
  wary of anything that would break backwards compatibility, even in
  unknown ways.

- I am following semantic versioning.

- Code should be black-formatted, and should have type annotations that work
  in 3.7 through the latest stable Python, and PyPy3.

- Docstrings should be in Numpy format.  They should preferably include
  references for the implemented algorithms (see the current code for
  examples).

- All code should have working unit tests, preferably ones that do more
  than just testing fixed output with a fixed random seed, though given
  the non-deterministic nature of the bootstrap, good, deterministic
  tests may be difficult.  Non-deterministic tests with extremely small
  chances of failure are acceptable, but shouldn't use such large numbers
  of samples that they overly slow down the tests.

- I am a physicist, and am not very familiar with applications of the
  bootstrap for business or development statistics.  So if you'd like
  to add something for those, it would be useful to give some more
  explanation than otherwise as to how they are generally useful.

The package is licensed under the BSD 3-Clause License. It is supported
by the [Evans Foundation](https://evansfmm.org).

Version Information
===================

-   v1.1.0: Randomness is now generated via a numpy.random
    Generator. Anything that relied on using numpy.random.seed to obtain
    deterministic results will fail (mostly of relevance for testing).
    Seeds (or Generators) can now be passed to relevant functions with
    the `seed` argument, but note that changes in Numpy's random number
    generation means this will not give the same results that would be
    obtained using `numpy.random.seed` to set the seed in previous
    versions.

    There is a new pval function, and there are several bugfixes.

    Numba is now supported in some instances (np.average or np.mean as
    statfunction, 1-D data), using use\_numba=True. Pypy3 is also
    supported. Typing information has been added, with code passing
    `mypy --strict --allow-untyped-calls --ignore-missing-imports`, and
    tests cover 100% of the code (though many tests use fixed seeds).

    Handling of multiple data sets (tuples/etc of arrays) now can be
    specified as multi="paired" (the previous handling), where the sets
    must be of the same length, and samples are taken keeping
    corresponding points connected, or multi="independent", treating
    data sets as independent and sampling them seperately (in which case
    they may be different sizes).

-   v1.0.1: Licensing information added.

-   v1.0.0: scikits.bootstrap now uses pyerf, which means that it
    doesn't actually need scipy at all. It should work with PyPy, has
    some improved error and warning messages, and should be a bit faster
    in many cases. The old ci\_abc function has been removed: use
    method='abc' instead.

-   v0.3.3: Bug fixes. Warnings have been cleaned up, and are
    implemented for BCa when all statistic values are equal (a common
    confusion in prior versions). Related numpy warnings are now
    suppressed. Some tests on Python 2 were fixed, and the PyPI website
    link is now correct.

-   v0.3.2: This version contains various fixes to allow compatibility
    with Python 3.3. While I have not used the package extensively with
    Python 3, all tests now pass, and importing works properly. The
    compatibility changes slightly modify the output of
    bootstrap\_indexes, from a Python list to a Numpy array that can be
    iterated over in the same manner. This should only be important in
    extremely unusual situations.

Installation and Usage
======================

scikits.bootstrap is tested on Python 3.7 - 3.10, and PyPy 3. The package
can be installed using pip.

`pip install scikits.bootstrap`

Usage example for python 3.x:

    import scikits.bootstrap as boot
    import numpy as np
    boot.ci(np.random.rand(100), np.average)



            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/cgevans/scikits-bootstrap",
    "name": "scikits.bootstrap",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Constantine Evans",
    "author_email": "cevans@costinet.org",
    "download_url": "https://files.pythonhosted.org/packages/24/55/3f9953f56ccf8ad89f11cde928e2b6bcd073bf6109a5f5c4d68ff9993873/scikits.bootstrap-1.1.0.tar.gz",
    "platform": "any",
    "description": "[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3548989.svg)](https://doi.org/10.5281/zenodo.3548989)\n[![Codecov](https://img.shields.io/codecov/c/github/cgevans/scikits-bootstrap)](https://codecov.io/gh/cgevans/scikits-bootstrap)\n[![PyPI](https://img.shields.io/pypi/v/scikits-bootstrap)](https://pypi.org/project/scikits.bootstrap/)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/cgevans/scikits-bootstrap)](https://github.com/cgevans/scikits-bootstrap/releases)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scikits-bootstrap)](https://pypi.org/project/scikits.bootstrap/)\n\n\nDocumentation: [Stable](https://scikits-bootstrap.readthedocs.io/en/stable/), [Latest](https://scikits-bootstrap.readthedocs.io/en/latest/).\n\nscikits-bootstrap\n=================\n\nScikits.bootstrap provides bootstrap statistics confidence interval algorithms\nfor Numpy/Scipy/Pandas. It originally required scipy, but no longer needs it.\n\nIt also provides an algorithm which estimates the probability that the\nstatistics lies satisfies some criteria, e.g., lies in some interval.\n\nMuch of the code has been written based off the descriptions from Efron\nand Tibshirani's Introduction to the Bootstrap, and results should match\nthe results obtained from following those explanations. However, the\ncurrent ABC code is based off of the modified-BSD-licensed R port of the\nEfron bootstrap code, as I do not believe I currently have a sufficient\nunderstanding of the ABC method to write the code independently.\n\nPlease contact me (Constantine Evans <cevans@costinet.org>, or Matrix\n<@cge:matrix.org>) with any questions, suggestions, vulnerabilities, or other\ncomments ([PGP key](https://costinet.org/new-cge-pgp.key)), or, preferably, use\nGithub's issue and pull requests.\n\nIf you'd like to add something, or make improvements, please keep the following\nin mind:\n\n- I'd like to keep the library as widely supported as possible, with as\n  few dependencies as possible, preferably small ones.  I'm also very\n  wary of anything that would break backwards compatibility, even in\n  unknown ways.\n\n- I am following semantic versioning.\n\n- Code should be black-formatted, and should have type annotations that work\n  in 3.7 through the latest stable Python, and PyPy3.\n\n- Docstrings should be in Numpy format.  They should preferably include\n  references for the implemented algorithms (see the current code for\n  examples).\n\n- All code should have working unit tests, preferably ones that do more\n  than just testing fixed output with a fixed random seed, though given\n  the non-deterministic nature of the bootstrap, good, deterministic\n  tests may be difficult.  Non-deterministic tests with extremely small\n  chances of failure are acceptable, but shouldn't use such large numbers\n  of samples that they overly slow down the tests.\n\n- I am a physicist, and am not very familiar with applications of the\n  bootstrap for business or development statistics.  So if you'd like\n  to add something for those, it would be useful to give some more\n  explanation than otherwise as to how they are generally useful.\n\nThe package is licensed under the BSD 3-Clause License. It is supported\nby the [Evans Foundation](https://evansfmm.org).\n\nVersion Information\n===================\n\n-   v1.1.0: Randomness is now generated via a numpy.random\n    Generator. Anything that relied on using numpy.random.seed to obtain\n    deterministic results will fail (mostly of relevance for testing).\n    Seeds (or Generators) can now be passed to relevant functions with\n    the `seed` argument, but note that changes in Numpy's random number\n    generation means this will not give the same results that would be\n    obtained using `numpy.random.seed` to set the seed in previous\n    versions.\n\n    There is a new pval function, and there are several bugfixes.\n\n    Numba is now supported in some instances (np.average or np.mean as\n    statfunction, 1-D data), using use\\_numba=True. Pypy3 is also\n    supported. Typing information has been added, with code passing\n    `mypy --strict --allow-untyped-calls --ignore-missing-imports`, and\n    tests cover 100% of the code (though many tests use fixed seeds).\n\n    Handling of multiple data sets (tuples/etc of arrays) now can be\n    specified as multi=\"paired\" (the previous handling), where the sets\n    must be of the same length, and samples are taken keeping\n    corresponding points connected, or multi=\"independent\", treating\n    data sets as independent and sampling them seperately (in which case\n    they may be different sizes).\n\n-   v1.0.1: Licensing information added.\n\n-   v1.0.0: scikits.bootstrap now uses pyerf, which means that it\n    doesn't actually need scipy at all. It should work with PyPy, has\n    some improved error and warning messages, and should be a bit faster\n    in many cases. The old ci\\_abc function has been removed: use\n    method='abc' instead.\n\n-   v0.3.3: Bug fixes. Warnings have been cleaned up, and are\n    implemented for BCa when all statistic values are equal (a common\n    confusion in prior versions). Related numpy warnings are now\n    suppressed. Some tests on Python 2 were fixed, and the PyPI website\n    link is now correct.\n\n-   v0.3.2: This version contains various fixes to allow compatibility\n    with Python 3.3. While I have not used the package extensively with\n    Python 3, all tests now pass, and importing works properly. The\n    compatibility changes slightly modify the output of\n    bootstrap\\_indexes, from a Python list to a Numpy array that can be\n    iterated over in the same manner. This should only be important in\n    extremely unusual situations.\n\nInstallation and Usage\n======================\n\nscikits.bootstrap is tested on Python 3.7 - 3.10, and PyPy 3. The package\ncan be installed using pip.\n\n`pip install scikits.bootstrap`\n\nUsage example for python 3.x:\n\n    import scikits.bootstrap as boot\n    import numpy as np\n    boot.ci(np.random.rand(100), np.average)\n\n\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause",
    "summary": "Bootstrap confidence interval estimation routines for Numpy/Scipy/Pandas",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "http://github.com/cgevans/scikits-bootstrap"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "973bded47f622bee159f88aa75fc63112d9ddb4665e1bbb057b6173c17d2d58c",
                "md5": "7e692d5bac7374b5a052e4dd65a7fd70",
                "sha256": "60d585547e06d945ce600540109f21b0d4f345818fcf88763bfe4d013e80b0e2"
            },
            "downloads": -1,
            "filename": "scikits.bootstrap-1.1.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7e692d5bac7374b5a052e4dd65a7fd70",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 14056,
            "upload_time": "2022-01-11T01:02:01",
            "upload_time_iso_8601": "2022-01-11T01:02:01.720546Z",
            "url": "https://files.pythonhosted.org/packages/97/3b/ded47f622bee159f88aa75fc63112d9ddb4665e1bbb057b6173c17d2d58c/scikits.bootstrap-1.1.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "24553f9953f56ccf8ad89f11cde928e2b6bcd073bf6109a5f5c4d68ff9993873",
                "md5": "757457f1d413882135e9b78c1da0b8a6",
                "sha256": "6ab95d3a7e607731433e97cfd499fcd2da52f065aaae8d0156367904c7dfd1cf"
            },
            "downloads": -1,
            "filename": "scikits.bootstrap-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "757457f1d413882135e9b78c1da0b8a6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 23857,
            "upload_time": "2022-01-11T01:02:05",
            "upload_time_iso_8601": "2022-01-11T01:02:05.479331Z",
            "url": "https://files.pythonhosted.org/packages/24/55/3f9953f56ccf8ad89f11cde928e2b6bcd073bf6109a5f5c4d68ff9993873/scikits.bootstrap-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-01-11 01:02:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cgevans",
    "github_project": "scikits-bootstrap",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "scikits.bootstrap"
}
        
Elapsed time: 0.31989s