Confidence Intervals for the Variance
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
.
VarCI(x, method = c("classic", "bonett", "norm", "basic", "stud", "perc", "bca"), conf.level = 0.95, sides = c("two.sided", "left", "right"), na.rm = FALSE, R = 999)
x |
a (non-empty) numeric vector of data values. |
method |
vector of character strings representing the type of intervals required. The value should be any subset of the values |
conf.level |
confidence level of the interval. |
sides |
a character string specifying the side of the confidence interval, must be one of |
na.rm |
logical. Should missing values be removed? Defaults to FALSE. |
R |
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 |
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.
a numeric vector with 3 elements:
var |
variance |
lwr.ci |
lower bound of the confidence interval |
upr.ci |
upper bound of the confidence interval |
Andri Signorell <andri@signorell.net>
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) VarCI(d.pizza$price, conf.level=0.99, na.rm=TRUE) 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) # and for the standard deviation sqrt(VarCI(x, conf.level=0.9)) # 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)) sqrt(VarCI(p, method="bonett")) sqrt(VarCI(p, method="bonett", conf.level=0.99)) # some bootstrap intervals VarCI(x, method="norm") VarCI(x, method="perc") VarCI(x, method="bca")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.