心配する必要がある問題は、内因性と呼ばれます。具体的には、かどうかに依存しで集団に相関しているX 1又はX 2。そうである場合、関連するb j sがバイアスされます。これは、OLS回帰法により、残差u iが共変量x j s と無相関になるためです。しかし、あなたの残差は、いくつかの既約ランダムで構成されているε I、および観測されない(しかし関連)、変数、xは3を、規定によってどのx3x1x2bjuixjεix3さと相関及び/又はX 2。一方、x 1とx 2の両方が母集団のx 3と相関していない場合、それらのbはこれによってバイアスされません(もちろん、他の何かによってバイアスされる可能性があります)。計量経済学者がこの問題に対処しようとする1つの方法は、計測変数を使用することです。 x1x2 x1x2x3b
より明確にするために、私はの標本分布を示してRでの迅速なシミュレーション書いた公平な/の真値を中心としたあるβ 2を、それが無相関であるとき、X 3。ただし、2回目の実行では、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