Formule pour l'intervalle de confiance à 95% pour


13

J'ai googlé et recherché sur stats.stackexchange mais je ne trouve pas la formule pour calculer un intervalle de confiance à 95% pour une valeur pour une régression linéaire. Quelqu'un peut-il le fournir?R2

Mieux encore, disons que j'ai exécuté la régression linéaire ci-dessous dans R. Comment calculer un intervalle de confiance à 95% pour la valeur aide du code R.R2

lm_mtcars <- lm(mpg ~ wt, mtcars)

1
Eh bien, vous savez que la relation entre la corrélation et est que vous équerrez le coefficient de corrélation pour obtenir alors pourquoi ne pas calculer l'intervalle de confiance pour , puis faire le carré des limites inférieure et supérieure de l'intervalle? R 2 R 2 rrR2R2r

1
@ZERO: cela fonctionnera dans une régression linéaire simple, c'est-à-dire avec un seul prédicteur et une interception. Cela ne fonctionnera pas pour la régression linéaire multiple avec plus d'un prédicteur.
Stephan Kolassa du

@StephanKolassa, très vrai! Je suppose que je le basais sur son Rcode où il n'y a qu'un seul régresseur mais c'est un très bon point à clarifier.


Vous pouvez par exemple utiliser une très petite fonction R github.com/mayer79/R-confidence-intervals-R-squared en fonction des propriétés de la distribution F non centrale.
Michael M

Réponses:


16

Vous pouvez toujours l'amorcer:

> library(boot)
> foo <- boot(mtcars,function(data,indices)
        summary(lm(mpg~wt,data[indices,]))$r.squared,R=10000)

> foo$t0
[1] 0.7528328

> quantile(foo$t,c(0.025,0.975))
     2.5%     97.5% 
0.6303133 0.8584067

Carpenter & Bithell (2000, Statistics in Medicine) fournissent une introduction lisible aux intervalles de confiance d'amorçage, bien qu'ils ne soient pas spécifiquement axés sur .R2


1
(+1) Il pourrait être intéressant de noter que la formule approximative citée par @Durden, avec et donne l'intervalle . Il serait presque parfaitement correct de supprimer le facteur multipliant le SE dans cette formule! n=32k=1(0.546,0.960)2
whuber

Il peut également être intéressant de noter que vous pouvez obtenir d'autres types d'intervalle de confiance (par exemple, BCa) à partir de la distribution de rééchantillonnage bootstrap à l'aide de boot.ci().
Jeffrey Girard

7

Dans R, vous pouvez utiliser la CI.Rsq()fonction fournie par le package psychométrique . Quant à la formule qu'elle applique, voir Cohen et al. (2003) , Analyse de régression / corrélation multiple appliquée pour les sciences du comportement , p. 88:

SER2=4R2(1R2)2(nk1)2(n21)(n+3)

Ensuite, l'IC à 95% est votre .R2±2SER2


3
(1) est au carré dans votre référence. (2) Il est important de noter que " " est censé être la valeur de l'échantillon plutôt que la valeur de la population (ce qui est clairement ce à quoi " " fait référence dans la question, d'où le risque de confusion). (3) Il est également important qu'il ne s'agisse que d'un résultat asymptotique ("grand échantillon"), donnant des "approximations adéquates" pour " ". (Je crois que compte une interception plus le nombre de variables indépendantes.) Il serait utile de voir un exemple travaillé supporté par la simulation, car cet intervalle semble trop large. R 2 R 2 n - k - 1 > 60 k + 1(1R2)R2R2nk1>60k+1
whuber

Selon Wishart (1931), la formule ne convient pas aux distributions non normales.
abukaj
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.