https://github.com/juliangehring/bootstrap.jl
Statistical bootstrapping library for Julia
https://github.com/juliangehring/bootstrap.jl
bootstrapping bootstrapping-statistics confidence-intervals julia statistics
Last synced: 4 months ago
JSON representation
Statistical bootstrapping library for Julia
- Host: GitHub
- URL: https://github.com/juliangehring/bootstrap.jl
- Owner: juliangehring
- License: other
- Created: 2014-10-29T11:47:56.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-11-05T19:07:25.000Z (over 2 years ago)
- Last Synced: 2025-12-25T11:09:21.166Z (6 months ago)
- Topics: bootstrapping, bootstrapping-statistics, confidence-intervals, julia, statistics
- Language: Julia
- Homepage: https://juliangehring.github.io/Bootstrap.jl
- Size: 710 KB
- Stars: 114
- Watchers: 3
- Forks: 27
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Bootstrap.jl: Statistical Bootstrapping
## Motivation
Bootstrapping is a widely applicable technique for statistical estimation.

## Functionality
- Bootstrapping statistics with different resampling methods:
- Random resampling with replacement (`BasicSampling`)
- Antithetic resampling, introducing negative correlation between samples (`AntitheticSampling`)
- Balanced random resampling, reducing bias (`BalancedSampling`)
- Exact resampling, iterating through all unique resamples (`ExactSampling`):
deterministic bootstrap, suited for small samples sizes
- Resampling of residuals in generalized linear models (`ResidualSampling`, `WildSampling`)
- Maximum Entropy bootstrapping for dependent and non-stationary datasets (`MaximumEntropySampling`)
- Confidence intervals:
- Basic (`BasicConfInt`)
- Percentile (`PercentileConfInt`)
- Normal distribution (`NormalConfInt`)
- Studendized (`StudentConfInt`)
- Bias-corrected and accelerated (BCa) (`BCaConfInt`)
## Installation
The `Bootstrap` package is part of the Julia ecosphere and the latest release
version can be installed with
```julia
using Pkg
Pkg.add("Bootstrap")
```
More details on packages and how to manage them can be found in the [package
section](https://docs.julialang.org/en/v1/stdlib/Pkg/) of the Julia
documentation.
## Examples
This example illustrates the basic usage and cornerstone functions of the package.
More elaborate cases are covered in the documentation notebooks.
```julia
using Bootstrap
```
Our observations in `some_data` are sampled from a standard normal distribution.
```julia
some_data = randn(100);
```
Let's bootstrap the standard deviation (`std`) of our data, based on 1000
resamples and with different bootstrapping approaches.
```julia
using Statistics # the `std` methods live here
n_boot = 1000
## basic bootstrap
bs1 = bootstrap(std, some_data, BasicSampling(n_boot))
## balanced bootstrap
bs2 = bootstrap(std, some_data, BalancedSampling(n_boot))
```
We can explore the properties of the bootstrapped samples, for example, the
estimated bias and standard error of our statistic.
```julia
bias(bs1)
stderror(bs1)
```
Furthermore, we can estimate confidence intervals (CIs) for our statistic of
interest, based on the bootstrapped samples. `confint` returns a `Tuple` of `Tuples`,
where each `Tuple` is of the form `(statistic_value, upper_confidence_bound, lower_confidence_bound)`.
A confidence interval is returned for each variable in the bootstrap model.
```julia
## calculate 95% confidence intervals
cil = 0.95;
## basic CI
bci1 = confint(bs1, BasicConfInt(cil));
## percentile CI
bci2 = confint(bs1, PercentileConfInt(cil));
## BCa CI
bci3 = confint(bs1, BCaConfInt(cil));
## Normal CI
bci4 = confint(bs1, NormalConfInt(cil));
```
## References
The [bootstrapping wikipedia article](https://en.wikipedia.org/wiki/Bootstrapping_(statistics))
is a comprehensive introduction into the topic. An extensive description of the
bootstrap is the focus of the book *Davison and Hinkley (1997):
[Bootstrap Methods and Their Application](http://statwww.epfl.ch/davison/BMA/)*.
Most of the methodology covered in the book is implemented in the
[boot](https://cran.r-project.org/web/packages/boot/index.html) package for the
[R programming language](https://www.r-project.org/). [More references](docs/src/references.md)
are listed in the documentation for further reading.
## Contributions and Feedback
Contributions of any kind are very welcome. Please feel free to open pull
requests or issues if you have suggestions for changes, ideas or questions.
## Package Status
[](https://juliangehring.github.io/Bootstrap.jl/stable)
[](https://doi.org/10.5281/zenodo.596080)

[](https://codecov.io/gh/juliangehring/Bootstrap.jl)
The package uses [semantic versioning](https://semver.org/).