Fórmula para intervalo de confiança de 95% para


13

Pesquisei no google e pesquisei stats.stackexchange, mas não consigo encontrar a fórmula para calcular um intervalo de confiança de 95% para um R2 valor para uma regressão linear. Alguém pode fornecer?

Melhor ainda, digamos que eu executei a regressão linear abaixo em R. Como eu calcularia um intervalo de confiança de 95% para o valor de R2 usando o código R.

lm_mtcars <- lm(mpg ~ wt, mtcars)

1
Bem, você sabe a relação entre a correlação e R 2 é que você está em quadratura com o coeficiente de correlação para obter R 2 então porque não calcular o intervalo de confiança para r e, em seguida, quadrado dos limites inferior e superior do intervalo? rR2R2r

1
@ Zero: que funcionará em uma regressão linear simples, ou seja, com um único preditor e uma interceptação. Não funcionará para regressão linear múltipla com mais de um preditor.
#

@StephanKolassa, very true! Acho que estava baseando-o no Rcódigo dele , onde há apenas um regressor, mas esse é um ponto muito bom para esclarecer.


Você pode, por exemplo, usar uma função R muito pequena github.com/mayer79/R-confidence-intervals-R-squared com base nas propriedades da distribuição F não central.
Michael M

Respostas:


16

Você sempre pode inicializá-lo:

> 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) fornecer uma introdução legível para bootstrapping intervalos de confiança, focada embora não especificamente em .R2


1
(1) Pode ser interessante que a fórmula aproximada citado por @Durden, com e k = 1 dá o intervalo ( 0,546 , 0,960 ) . Seria quase perfeitamente correto se reduzíssemos o fator 2 multiplicando o SE nessa fórmula! n=32k=1(0.546,0.960)2
whuber

Também pode ser interessante notar que você pode obter outros tipos de intervalo de confiança (por exemplo, BCa) a partir da distribuição de reamostragem de bootstrap usando boot.ci().
Jeffrey Girard

6

Em R, você pode fazer uso da CI.Rsq()função fornecida pelo pacote psicométrico . Quanto à fórmula que se aplica, veja Cohen et al. (2003) , Análise de regressão múltipla / correlação aplicada para as ciências do comportamento , p. 88:

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

Then, the 95% CI is your R2±2SER2.


3
(1) (1R2) is squared in your reference. (2) It is important to note that "R2" is intended to be the sample value rather than the population value (which clearly is what "R2" refers to in the question, whence the potential for confusion). (3) It is also important that this is only an asymptotic ("large-sample") result, giving "adequate approximations" for "nk1>60". (I believe k+1 counts an intercept plus the number of independent variables.) It would be useful to see a worked example supported by simulation, because this interval looks too wide.
whuber

According to Wishart (1931) the formula is unsuitable for nonnormal distributions.
abukaj
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.