VarCI.Rd
Calculates confidence intervals for the variance. Available approachs are the classical one using the ChiSquare distribution, a more robust version proposed by Bonett and the bootstrap options available in the package boot
.
a (non-empty) numeric vector of data values.
vector of character strings representing the type of intervals required. The value should be any subset of the values "classic"
, "bonett"
, "norm"
, "basic"
, "stud"
, "perc"
, "bca"
.
See boot.ci
.
confidence level of the interval.
a character string specifying the side of the confidence interval, must be one of "two.sided"
(default), "left"
or "right"
. You can specify just the initial letter. "left"
would be analogue to a hypothesis of "greater"
in a t.test
.
logical. Should missing values be removed? Defaults to FALSE.
number of bootstrap replicates. Usually this will be a single positive integer. For importance resampling, some resamples may use one set of weights and others use a different set of weights. In this case R would be a vector of integers where each component gives the number of resamples from each of the rows of weights.
See boot
.
a numeric vector with 3 elements:
variance
lower bound of the confidence interval
upper bound of the confidence interval
The confidence interval for the variance is very sensitive to non-normality in the data. Bonett (2006) has proposed an interval that is nearly exact when the data is normally distributed and provides good performance for moderately non-normal data. See the references for the details.
Bonett (2006) Approximate Confidence Interval for Standard Deviation of Nonnormal Distributions, Computational Statistics and Data Analysis, Vol. 50, pp. 775 - 782.
https://www.itl.nist.gov/div898/software/dataplot/refman1/auxillar/sdconfli.htm (might be outdated)
VarCI(d.pizza$price, na.rm=TRUE)
#> var lwr.ci upr.ci
#> 468 433 508
VarCI(d.pizza$price, conf.level=0.99, na.rm=TRUE)
#> var lwr.ci upr.ci
#> 468 422 521
x <- c(14.816, 14.863, 14.814, 14.998, 14.965, 14.824, 14.884, 14.838, 14.916,
15.021, 14.874, 14.856, 14.860, 14.772, 14.980, 14.919)
VarCI(x, conf.level=0.9)
#> var lwr.ci upr.ci
#> 0.00529 0.00317 0.01092
# and for the standard deviation
sqrt(VarCI(x, conf.level=0.9))
#> var lwr.ci upr.ci
#> 0.0727 0.0563 0.1045
# from Bonett's paper
# expected results:
# ------------------------------------
# conf.lvl sd lci uci
# ------------------------------------
# 90.0 0.5168 0.3592 0.9359
# 95.0 0.5168 0.3263 1.0841
# 99.0 0.5168 0.2607 1.5109
p <- c(15.83, 16.01, 16.24, 16.42, 15.33, 15.44, 16.88, 16.31)
sqrt(VarCI(p, method="bonett", conf.level=0.9))
#> var lwr.ci upr.ci
#> 0.517 0.359 0.936
sqrt(VarCI(p, method="bonett"))
#> var lwr.ci upr.ci
#> 0.517 0.326 1.084
sqrt(VarCI(p, method="bonett", conf.level=0.99))
#> var lwr.ci upr.ci
#> 0.517 0.261 1.511
# some bootstrap intervals
VarCI(x, method="norm")
#> var lwr.ci upr.ci
#> 0.00529 0.00307 0.00825
VarCI(x, method="perc")
#> var lwr.ci upr.ci
#> 0.00529 0.00226 0.00792
VarCI(x, method="bca")
#> var lwr.ci upr.ci
#> 0.00529 0.00317 0.00886