Les intervalles de confiance pour les coefficients de régression linéaire devraient-ils être basés sur la distribution normale ou

18

Ayons un modèle linéaire, par exemple juste une simple ANOVA:

# data generation
set.seed(1.234)                      
Ng <- c(41, 37, 42)                    
data <- rnorm(sum(Ng), mean = rep(c(-1, 0, 1), Ng), sd = 1)      
fact <- as.factor(rep(LETTERS[1:3], Ng)) 

m1 = lm(data ~ 0 + fact)
summary(m1)

Le résultat est le suivant:

Call:
lm(formula = data ~ 0 + fact)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.30047 -0.60414 -0.04078  0.54316  2.25323 

Coefficients:
      Estimate Std. Error t value Pr(>|t|)    
factA  -0.9142     0.1388  -6.588 1.34e-09 ***
factB   0.1484     0.1461   1.016    0.312    
factC   1.0990     0.1371   8.015 9.25e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.8886 on 117 degrees of freedom
Multiple R-squared: 0.4816,     Adjusted R-squared: 0.4683 
F-statistic: 36.23 on 3 and 117 DF,  p-value: < 2.2e-16 

J'essaie maintenant deux méthodes différentes pour estimer l'intervalle de confiance de ces paramètres

c = coef(summary(m1))

# 1st method: CI limits from SE, assuming normal distribution
cbind(low = c[,1] - qnorm(p = 0.975) * c[,2], 
    high = c[,1] + qnorm(p = 0.975) * c[,2])

# 2nd method
confint(m1)

Des questions:

  1. Quelle est la distribution des coefficients de régression linéaire estimés? Normal ou ?t
  2. Pourquoi les deux méthodes donnent-elles des résultats différents? En supposant une distribution normale et une SE correcte, je m'attendrais à ce que les deux méthodes aient le même résultat.

Merci beaucoup!

données ~ 0 + fait

MODIFIER après une réponse :

La réponse est exacte, cela donnera exactement le même résultat que confint(m1)!

# 3rd method
cbind(low = c[,1] - qt(p = 0.975, df = sum(Ng) - 3) * c[,2], 
    high = c[,1] + qt(p = 0.975, df = sum(Ng) - 3) * c[,2])
Curieuse
la source

Réponses:

19

(1) Lorsque les erreurs sont normalement distribués et leur variance est pas connue, β - β 0 a unet-distribution sous l'hypothèse nulle queβ0est le véritable coefficient de régression. La valeur par défaut dansest de testerβ0=0, donc lesstatistiquestrapportées sont juste

β^β0se(β^)
tβ0Rβ0=0t
β^se(β^)

Notez que, dans certaines conditions de régularité, la statistique ci-dessus est toujours distribuée normalement asymptotiquement , que les erreurs soient normales ou que la variance d'erreur soit connue.

(2) La raison pour laquelle vous obtenez des résultats différents est que les centiles de la distribution normale sont différents des centiles de la distribution . Par conséquent, le multiplicateur que vous utilisez devant l'erreur standard est différent, ce qui donne à son tour des intervalles de confiance différents.t

Plus précisément, rappelez-vous que l'intervalle de confiance utilisant la distribution normale est

β^±zα/2se(β^)

est le quantile α / 2 de la distribution normale. Dans le cas standard d'un intervalle de confiance à 95 % , α = 0,05 et z α / 21,96 . L'intervalle de confiance basé sur lezα/2α/295%α=.05zα/21.96t

β^±tα/2,npse(β^)

tα/2,nptnpnpntα/2,npzα/2

t5300p=1tz

enter image description here

Macro
la source
Oui!! Beau travail !! (+1)
gui11aume
Macro, merci pour la réponse. Mais: vous parlez de la distribution des statistiques T, alors que je vous ai posé la question de la distribution du coefficient de régression. Je crois comprendre que le coefficient de régression est une distribution caractérisée par sa moyenne (l'estimation du coefficient) et son erreur standard. J'ai posé des questions sur cette distribution, pas sur la distribution des statistiques de test. Je pourrais manquer quelque chose, alors essayez d'expliquer de manière plus évidente :) Merci
Curieux
2
β^β0se(β^)
tβ^tβ0se(β^)β^
Vous avez parfaitement raison! Cela donnera exactement le même résultat que confint(m1), même pour de petits échantillons! cbind(low = c[,1] - qt(p = 0.975, df = sum(Ng) - 3) * c[,2], high = c[,1] + qt(p = 0.975, df = sum(Ng) - 3) * c[,2])
Curieux
β^β^β0β0t