Endişelenmeniz gereken konuya endojenite denir . Daha özel olarak ise, bu bağlıdır ile popülasyonda ilişkilidir X 1 veya X 2 . Eğer öyleyse, ilişkili b js yanlı olacaktır. Çünkü OLS regresyon yöntemleri, kalıntıları, u i , ortak değişkenlerinizle ilişkisiz olmaya zorlar , x j s. Ancak, artıklar bazı indirgenemez rastgelelik, oluşan ε i , ve gözlenemeyen (ama ilgili) değişken, x 3 , hükme hangix3x1x2bjuixjεix3 olduğu korelasyon ve / veya x 2 . Diğer taraftan, hem x 1 ve x 2 ile ilintisiz x 3 popülasyonunda, daha sonra b s (onlar iyi tabii ki, başka bir şey tarafından önyargılı olabilir) bu önyargılı olmayacaktır. Ekonometrilerin bu konuyla başa çıkma yollarından biri araçsal değişkenler kullanmaktır . x1x2 x1x2x3b
Daha fazla netlik için, R 2'de , örnekleme dağılımının, x 3 ile ilişkisiz olduğunda β 2'nin gerçek değeri üzerinde tarafsız / ortalanmış olduğunu gösteren hızlı bir simülasyon yazdım . İkinci seferde, ancak not x 3 ile ilintisizdir x 1 , ancak x 2 . Değil tesadüf b 1 tarafsız olmakla b 2'ye edilir önyargılı. 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