Skip to content

Commit 04a49c3

Browse files
Update README.md
1 parent 576566e commit 04a49c3

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,13 @@ The validity of the confidence interval is confirmed by a coverage probability s
77
It works by implementing an unbiased estimator of the variance of the sample variance, and then setting up the standard studentized confidence interval using the square of that unbiased estimator. So far, the strategy is the same as the one used to obtain the confidence interval for the mean, as it is implemented in the t.test function in R, for instance.
88

99
There exists a closed form for the variance of this estimator but it involves the square of the underlying distribution's variance.
10-
The difficulty is to estimate that square.
10+
The difficulty is to estimate that square of the variance. There is a U-statistic estimator for it but a naive implementation would be of complexity O(n^4) where n is the sample size which is prohibitively costly. In this package, we solve the problem by reducing the computation to complexity O(n) using a dynamic programming.
11+
12+
# Related work
13+
There are implementations of confidence intervals but they all suffer from a drawback, either
14+
* they assume normality of the underlying distribution, basically replacing the fourth moment with a known value.
15+
* or they use heuristics such as bootstrapping etc., which are only approximately valid.
16+
Here, we implemement a confidence interval that relies on the universally best (in the least-mean-squared sense) estimator of the variance of the sample variance, it being the U-statistic estimator. So, the validity of the approach is mathematically proven.
1117

1218
# Reference
1319
The underlying U-statistics variance estimator is a special case of the one underlying this publication [http://dx.doi.org/10.1080/15598608.2016.1158675](http://dx.doi.org/10.1080/15598608.2016.1158675), freely available [https://epub.ub.uni-muenchen.de/27656/7/TR.pdf](here).
@@ -19,7 +25,7 @@ One can easily verify the validity of the confidence interval by choosing a popu
1925
N <- 1e4
2026
trueValueCovered <- rep(NA, N)
2127
for (i in 1:N) {
22-
if (i \%\% 1e3 == 0) print(i)
28+
if (i %% 1e2 == 0) print(i)
2329
# throw a dice 100 times
2430
x <- sample(6, 100, replace=TRUE)
2531
# compute our confidence interval

0 commit comments

Comments
 (0)