Питання, про яке потрібно хвилювати, називається ендогенність . Більш конкретно, це залежить від того, чи корелює у сукупності з х 1 або х 2 . Якщо це так, то пов'язані b j s будуть зміщені. Це тому, що методи регресії OLS змушують залишки, u i , бути некорельованими з вашими коваріатами, x j s. Однак ваші залишки складаються з деякої невідмінної випадковості, ε i , і неспостережної (але відповідної) змінної, х 3, корельованої зx3x1x2bjuixjεix3 , що за умови є і / або х 2 . З іншого боку, якщоі x 1, і x 2 не співвідносяться з x 3 у сукупності, то їх b s не буде упереджено цим (звичайно, вони можуть бути зміщені чимось іншим). Один із способів економістів намагаються вирішити це питання - за допомогоюінструментальних змінних. x1x2 x1x2x3b
Для більшої ясності я написав швидке моделювання в R, яке демонструє, що розподіл вибірки є неупередженим / зосередженим на справжньому значенні β 2 , коли воно не співвідноситься з x 3 . Однак у другому циклі зауважте, що x 3 некорельовано з x 1 , але не x 2 . Не випадково b 1 є неупередженим, але b 2 є упередженим. b2β2x3x3x1x2b1b2
library(MASS) # you'll need this package below
N = 100 # this is how much data we'll use
beta0 = -71 # these are the true values of the
beta1 = .84 # parameters
beta2 = .64
beta3 = .34
############## uncorrelated version
b0VectU = vector(length=10000) # these will store the parameter
b1VectU = vector(length=10000) # estimates
b2VectU = vector(length=10000)
set.seed(7508) # this makes the simulation reproducible
for(i in 1:10000){ # we'll do this 10k times
x1 = rnorm(N)
x2 = rnorm(N) # these variables are uncorrelated
x3 = rnorm(N)
y = beta0 + beta1*x1 + beta2*x2 + beta3*x3 + rnorm(100)
mod = lm(y~x1+x2) # note all 3 variables are relevant
# but the model omits x3
b0VectU[i] = coef(mod)[1] # here I'm storing the estimates
b1VectU[i] = coef(mod)[2]
b2VectU[i] = coef(mod)[3]
}
mean(b0VectU) # [1] -71.00005 # all 3 of these are centered on the
mean(b1VectU) # [1] 0.8399306 # the true values / are unbiased
mean(b2VectU) # [1] 0.6398391 # e.g., .64 = .64
############## correlated version
r23 = .7 # this will be the correlation in the
b0VectC = vector(length=10000) # population between x2 & x3
b1VectC = vector(length=10000)
b2VectC = vector(length=10000)
set.seed(2734)
for(i in 1:10000){
x1 = rnorm(N)
X = mvrnorm(N, mu=c(0,0), Sigma=rbind(c( 1, r23),
c(r23, 1)))
x2 = X[,1]
x3 = X[,2] # x3 is correated w/ x2, but not x1
y = beta0 + beta1*x1 + beta2*x2 + beta3*x3 + rnorm(100)
# once again, all 3 variables are relevant
mod = lm(y~x1+x2) # but the model omits x3
b0VectC[i] = coef(mod)[1]
b1VectC[i] = coef(mod)[2] # we store the estimates again
b2VectC[i] = coef(mod)[3]
}
mean(b0VectC) # [1] -70.99916 # the 1st 2 are unbiased
mean(b1VectC) # [1] 0.8409656 # but the sampling dist of x2 is biased
mean(b2VectC) # [1] 0.8784184 # .88 not equal to .64