# 계량경제학 강의 R 코드

# 제4장 추정값과 참값의 관계

# 4.3 상상 속의 표본추출은 어떻게?

# 정규분포의 가정

curve(dnorm(x,mean=0,sd=2),-6,6)

# 4.4 최소제곱 추정량의 평균

# 평균에 관한 모의실험

# --- begin ---
iterate <- 1000
n1 <- 13
n2 <- 25
n3 <- 12
n <- n1+n2+n3
set.seed(11)
educ <- c(rep(12,n1),rep(14,n2),rep(16,n3))
stdevs <- c(rep(0.8,n1),rep(1.0,n2),rep(1.4,n3))
b1hats <- rep(NA,iterate)
for (j in 1:iterate) {
    u <- stdevs*rnorm(n)
    lnwage <- 8.3 + 0.08*educ + u
    ols <- lm(lnwage~educ)
    b1hats[j] <- ols$coef["educ"]
}
print(mean(b1hats))
# --- end ---

# 오차평균0 가정이 위배되면?

n <- 100
x <- rnorm(n)
u <- 0.7-0.5*x+rnorm(n)
y <- 1+0*x+u

# 4.6 분산과 효율성

# 분산에 관한 모의 실험

# --- begin ---
maxiter <- 5000
n <- 40
set.seed(10101)
b1hat <- b1tilde <- rep(0,maxiter)
x <- rnorm(n)
for (iter in 1:maxiter) {
  u <- rnorm(n)
  y <- 1-x+u
  b1hat[iter] <- lm(y~x)$coef[2]
  b1tilde[iter] <- (y[1]-y[2])/(x[1]-x[2])
}
c(mean(b1hat),mean(b1tilde))
c(var(b1hat),var(b1tilde))
# --- end ---