रेखीय मॉडल के रूप में लिखा है
जहां y प्रतिक्रियाओं का वेक्टर को दर्शाता है, β तय प्रभाव मापदंडों के वेक्टर है, एक्स इसी डिजाइन मैट्रिक्स जिसका कॉलम व्याख्यात्मक चरों के मान रहे हैं, और ε यादृच्छिक त्रुटियों की वेक्टर है।
∣∣∣y=Xβ+ϵϵ∼N(0,σ2I),
yβXϵ
यह सर्वविदित है कि के एक अनुमान (देखें, जैसे, द्वारा दिया जाता है विकिपीडिया लेख )
β = ( एक्स ' एक्स ) - 1 एक्स ' y ।
इसलिए
वार ( β ) = ( एक्स ' एक्स ) - 1 एक्स 'β
β^=(X′X)−1X′y.
[अनुस्मारक:
वार ( एक एक्स ) = एक × वार ( एक्स ) × एक ' , कुछ यादृच्छिक वेक्टर के लिए
एक्स और कुछ गैर यादृच्छिक मैट्रिक्स
एक ]
Var(β^)=(X′X)−1X′σ2IX(X′X)−1=σ2(X′X)−1,
Var(AX)=A×Var(X)×A'XA
ताकि
जहां σ 2 एनोवा तालिका में मीन स्क्वायर त्रुटि (एमएसई) के द्वारा प्राप्त किया जा सकता है।
Varˆ(β^)=σ^2(X′X)−1,
σ^2
आर में एक सरल रैखिक प्रतिगमन के साथ उदाहरण
#------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
#----------------------
जब वहाँ एक भी व्याख्यात्मक चर रहा है, मॉडल के लिए कम कर देता है
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