boundedgeworth

Numerical bounds for Edgeworth expansions

https://github.com/alexisderumigny/boundedgeworth

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords

edgeworth-expansion probability-bounds r-package r-pkg
Last synced: 6 months ago · JSON representation

Repository

Numerical bounds for Edgeworth expansions

Basic Info
  • Host: GitHub
  • Owner: AlexisDerumigny
  • Language: R
  • Default Branch: main
  • Homepage:
  • Size: 115 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 2
Topics
edgeworth-expansion probability-bounds r-package r-pkg
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme

README.Rmd

---
output: github_document
math_method: "default"
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
require("BoundEdgeworth")
```

# BoundEdgeworth





This package implements the computation of the bounds described in the article
Derumigny, Girard, and Guyonvarch (2023), Explicit non-asymptotic bounds for the distance to the first-order Edgeworth expansion, Sankhya A. 
[doi:10.1007/s13171-023-00320-y](https://doi.org/10.1007/s13171-023-00320-y) 
[arxiv:2101.05780](https://arxiv.org/abs/2101.05780).


## How to install

You can install the release version from the CRAN:
```r
install.packages("BoundEdgeworth")
```

or the development version from [GitHub](https://github.com/AlexisDerumigny/BoundEdgeworth):

```r
# install.packages("remotes")
remotes::install_github("AlexisDerumigny/BoundEdgeworth")
```


## Available bounds

Let $X_1, \dots, X_n$ be $n$ independent centered variables,
and $S_n$ be their normalized sum, in the sense that
$$S_n := \sum_{i=1}^n X_i / \text{sd} \Big(\sum_{i=1}^n X_i \Big).$$

The goal of this package is to compute values of $\delta_n > 0$
such that bounds of the form

$$
\sup_{x \in \mathbb{R}}
\left| \textrm{Prob}(S_n \leq x) - \Phi(x) \right|
\leq \delta_n,
$$

or of the form

$$
\sup_{x \in \mathbb{R}}
\left| \textrm{Prob}(S_n \leq x) - \Phi(x) - \frac{\lambda_{3,n}}{6\sqrt{n}}(1-x^2) \varphi(x) \right|
\leq \delta_n,
$$

are valid. Here $\lambda_{3,n}$ denotes the average skewness of the
variables $X_1, \dots, X_n$, $\Phi$ denotes the cumulative distribution
function (cdf) of the standard Gaussian distribution, and $\varphi$
denotes its density.

The first type of bounds is returned by the function `Bound_BE()`
(Berry-Esseen-type bound) and the second type (Edgeworth expansion-type
bound) is returned by the function `Bound_EE1()`.

Such bounds are useful because they can help to control uniformly the
distance between the cdf of a normalized sum $\textrm{Prob}(S_n \leq x)$
and its limit $\Phi(x)$ (which is known by the central limit theorem).
The second type of bound is more precise, and give a control of the
uniform distance between $\textrm{Prob}(S_n \leq x)$ and its first-order
Edgeworth expansion, i.e. the limit from the central limit theorem
$\Phi(x)$ plus the next term
$\frac{\lambda_{3,n}}{6\sqrt{n}}(1-x^2) \varphi(x)$.

Note that these bounds depends on the assumptions made on
$(X_1, \dots, X_n)$ and especially on $K4$, the average kurtosis of the
variables $X_1, \dots, X_n$. In all cases, they need to have finite
fourth moment and to be independent. To get improved bounds, several
additional assumptions can be added:

- the variables $X_1, \dots, X_n$ are identically distributed,
- the skewness (normalized third moment) of $X_1, \dots, X_n$ are all $0$.
- the distribution of $X_1, \dots, X_n$ admits a continuous component.


### Example

```{r}
setup = list(continuity = FALSE, iid = TRUE, no_skewness = FALSE)

Bound_EE1(setup = setup, n = 1000, K4 = 9)
```
This shows that

$$
\sup_{x \in \mathbb{R}}
\left| \textrm{Prob}(S_n \leq x) - \Phi(x) - \frac{\lambda_{3,n}}{6\sqrt{n}}(1-x^2) \varphi(x) \right|
\leq `r Bound_EE1(setup = setup, n = 1000, K4 = 9)`,
$$

as soon as the variables $X_1, \dots, X_{1000}$ are i.i.d. with a kurtosis smaller than $9$.

Adding one more regularity assumption on the distribution of the $X_i$ helps to achieve a better bound:
```{r}
setup = list(continuity = TRUE, iid = TRUE, no_skewness = FALSE)

Bound_EE1(setup = setup, n = 1000, K4 = 9, regularity = list(kappa = 0.99))
```

This shows that

$$
\sup_{x \in \mathbb{R}}
\left| \textrm{Prob}(S_n \leq x) - \Phi(x) - \frac{\lambda_{3,n}}{6\sqrt{n}}(1-x^2) \varphi(x) \right|
\leq `r Bound_EE1(setup = setup, n = 1000, K4 = 9, regularity = list(kappa = 0.99))`,
$$

in this case.


## Applications to testing

This package also includes the function `Gauss_test_powerAnalysis()`,
that computes a uniformly valid power for the Gauss test that is valid
over a large class of non-Gaussian distribution. This uniform validity
is a consequence of the above-mentioned bounds.


Owner

  • Login: AlexisDerumigny
  • Kind: user

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 3
  • Total pull requests: 1
  • Average time to close issues: about 8 hours
  • Average time to close pull requests: 4 minutes
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AlexisDerumigny (1)
  • lucasgirardh (1)
  • yannickguyonvarch (1)
Pull Request Authors
  • AlexisDerumigny (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 282 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: BoundEdgeworth

Bound on the Error of the First-Order Edgeworth Expansion

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 282 Last month
Rankings
Forks count: 28.8%
Dependent packages count: 29.8%
Stargazers count: 31.7%
Dependent repos count: 35.5%
Average: 39.6%
Downloads: 72.2%
Maintainers (1)
Last synced: 7 months ago

Dependencies

DESCRIPTION cran
  • expint * imports
  • mathjaxr * imports
.github/workflows/check-package.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite