Intervalle de confiance d’une variance

Soumis par fdessaint le jeu 09/11/2017 - 10:05

 

 

fdessaint

jeu 09/11/2017 - 10:08

Pour un échantillon de n valeurs indépendantes identiquement distribuées selon une loi normale N(μ ,  σ 2  ), on va utiliser le fait que la quantité ( n - 1 ) s 2 / σ 2 avec s 2  , la variance d’échantillonage, suit une distribution χ 2 avec (n-1) degrés de liberté.

La fonction var.interval() permet de calculer cet intervalle:

var.interval = function(vect, niv.conf = 0.95) {
    ddl = length(vect) - 1
    valInf = qchisq((1 - niv.conf)/2, ddl)
    valSup = qchisq((1 - niv.conf)/2, ddl, lower.tail = FALSE)
    variance = var(vect)
    IntConf = c(ddl * variance/valSup, variance, ddl * variance/valInf)
    names(IntConf) = c("Borne Inf", "Variance", "Borne Sup")
    return(IntConf)
}

Par exemple, l’intervalle de confiance à 95% de la variance, pour la variable temp du tableau beaver2, est de

with(beaver2, var.interval(vect = temp))
Borne Inf  Variance Borne Sup 
0.1538865 0.1996203 0.2693855 

et celui à 99% de

with(beaver2, var.interval(vect = temp, niv.conf = 0.99))
Borne Inf  Variance Borne Sup 
0.1421891 0.1996203 0.2971340 

Remarque: L’intervalle est symétrique en probabilité mais pas en longueur. De plus, il ne correspond pas au plus petit intervalle ( Shortest Confidence Interval) que l’on pourrait trouver.