걱정해야 할 문제를 내 생성 이라고 합니다. 보다 구체적으로, 모집단에서 이 x 1 또는 x 2 와 상관 되는지 여부에 따라 다릅니다 . 그렇다면 관련 b j 가 바이어스됩니다. 이는 OLS 회귀 분석법으로 잔차 u i가 공변량 x j 와 상관되지 않도록하기 때문 입니다. 그러나 귀하의 잔류 일부 돌이킬 수없는 난수로 구성된다 ε 내가 , 그리고 관찰되지 (그러나 관련) 변수, X 3 , 규정에 의해하는x3x1x2bjuixjεix3 입니다 상관 관계 및 / 또는 X 2 . 다른 한편, 만약 모두 X 1 및 X 2 와 상관되는 X 3 인구에, 그들의 B 들 (그들이 잘 물론, 다른 무언가에 의해 바이어스 될 수 있습니다) 이것에 의해 편향되지 않습니다. 계량 경제학자들이이 문제를 다루려고하는 한 가지 방법은 도구 변수 를 사용 하는 것입니다 . x1x2 x1x2x3b
더 명확하게하기 위해, 나는 x 2 와 상관이 없을 때 의 샘플링 분포 가 β 2 의 실제 값에 대해 편향되어 있지 않음 을 보여주는 빠른 시뮬레이션을 R에 작성했습니다 . 그러나 두 번째 실행에서 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