Model linier ditulis sebagai
di mana menunjukkan vektor respons, adalah vektor parameter efek tetap, adalah matriks desain yang sesuai yang kolomnya adalah nilai-nilai variabel penjelas, dan adalah vektor kesalahan acak. y β X ϵ
∣∣∣y=Xβ+ϵϵ∼N(0,σ2I),
yβXϵ
Sudah diketahui bahwa perkiraan diberikan oleh (merujuk, misalnya, ke artikel wikipedia )
Karenanya
[pengingat: , untuk beberapa vektor acak dan beberapa matriks non-acak ]ß = ( X ' X ) - 1 X ' y . Var ( β ) = ( X ' X ) - 1 X 'β
β^=(X′X)−1X′y.
Var(β^)=(X′X)−1X′σ2IX(X′X)−1=σ2(X′X)−1,
Var(AX)=A×Var(X)×A'XA
sehingga
mana dapat diperoleh dengan Mean Square Error (MSE) di tabel ANOVA.
Varˆ(β^)=σ^2(X′X)−1,
σ^2
Contoh dengan regresi linier sederhana dalam 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
#----------------------
Ketika ada variabel penjelas tunggal, model berkurang menjadi
dan
sehingga
dan rumus menjadi lebih transparan. Misalnya, kesalahan standar perkiraan kemiringan adalah
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