O modelo linear é escrito como
onde denota o vetor de respostas, é o vetor de parâmetros de efeitos fixos, é a matriz de design correspondente cujas colunas são os valores das variáveis explicativas e é o vetor de erros aleatórios. y β X ε
∣∣∣y=Xβ+ϵϵ∼N(0,σ2I),
yβXϵ
É sabido que uma estimativa de é fornecida por (consulte, por exemplo, o artigo da wikipedia )
Portanto,
[lembrete: , para algum vetor aleatório e alguma matriz não aleatória ]p = ( X ' x ) - 1 X ' y . Var ( β ) = ( X ' x ) - 1 X 'β
β^=(X′X)−1X′y.
Var ( A X ) = A × Var ( X ) × A ′ X AVar(β^)=(X′X)−1X′σ2IX(X′X)−1=σ2(X′X)−1,
Var(AX)=A×Var(X)×A'XA
para que
onde pode ser obtido pelo Mean Square Error (MSE) na tabela ANOVA. σ 2
Varˆ(β^)=σ^2(X′X)−1,
σ^2
Exemplo com uma regressão linear simples em R
#------generate one data set with epsilon ~ N(0, 0.25)------
seed <- 1152 #seed
n <- 100 #nb of observations
a <- 5 #intercept
b <- 2.7 #slope
set.seed(seed)
epsilon <- rnorm(n, mean=0, sd=sqrt(0.25))
x <- sample(x=c(0, 1), size=n, replace=TRUE)
y <- a + b * x + epsilon
#-----------------------------------------------------------
#------using lm------
mod <- lm(y ~ x)
#--------------------
#------using the explicit formulas------
X <- cbind(1, x)
betaHat <- solve(t(X) %*% X) %*% t(X) %*% y
var_betaHat <- anova(mod)[[3]][2] * solve(t(X) %*% X)
#---------------------------------------
#------comparison------
#estimate
> mod$coef
(Intercept) x
5.020261 2.755577
> c(betaHat[1], betaHat[2])
[1] 5.020261 2.755577
#standard error
> summary(mod)$coefficients[, 2]
(Intercept) x
0.06596021 0.09725302
> sqrt(diag(var_betaHat))
x
0.06596021 0.09725302
#----------------------
Quando existe uma única variável de motivos, o modelo reduz a
e
para que
e as fórmulas se tornam mais transparentes. Por exemplo, o erro padrão da inclinação estimada é
yi=a+bxi+ϵi,i=1,…,n
X=⎛⎝⎜⎜⎜⎜11⋮1x1x2⋮xn⎞⎠⎟⎟⎟⎟,β=(ab)
(X′X)−1=1n∑x2i−(∑xi)2(∑x2i−∑xi−∑xin)
Varˆ(b^)−−−−−−√=[σ^2(X′X)−1]22−−−−−−−−−−−√=nσ^2n∑x2i−(∑xi)2−−−−−−−−−−−−−−−√.
> num <- n * anova(mod)[[3]][2]
> denom <- n * sum(x^2) - sum(x)^2
> sqrt(num / denom)
[1] 0.09725302