Capítulo 11 Teoria Assintotica dos Estimadores de MQO
11.1 Consistência de MQO
f = function(n){
x1 = rnorm(n,10,15)
e = rnorm(n,0,50)
y = 10 + 5*x1 + e
X = cbind(1,x1)
beta = solve(t(X)%*%X)%*%t(X)%*%y
beta
}f(10)## [,1]
## 3.562267
## x1 4.865959
for (i in c(5,50,100,1000)){
x = replicate(n = 100, expr = f(i))
print(mean(x[2, 1, ]))
}## [1] 4.927486
## [1] 4.943381
## [1] 5.021904
## [1] 4.993664
par(mfrow = c(2, 2))
for (i in c(5,50,100,1000)){
x = replicate(n = 100, expr = f(i))
plot(density( x[2, 1, ]), xlim = c(0,10))
abline(v=5)
}
par(mfrow = c(2, 2))
for (i in c(1000,5000,10000,100000)){
x = replicate(n = 100, expr = f(i))
plot(density( x[2, 1, ]), xlim = c(0,10))
abline(v=5)
}
11.2 Normalidade Assintótica
Distribuição Uniforme
Mostrar a distribuição do termo de erro
N = 10000
beta = 5n = 1000
x = runif(n, min = 0, max = 100)
e = runif(n = n, min = -10, max = 10)
X = cbind(1,x)
y = 10 + beta * x + e
B = solve(t(X)%*%X)%*%t(X)%*%y
e_hat = y - X%*%B
hist(e_hat)
f = function(n){
x = runif(n, min = 0, max = 100)
e = runif(n = n, min = -10, max = 10)
X = cbind(1,x)
y = 10 + beta * x + e
B = solve(t(X)%*%X)%*%t(X)%*%y
B
}par(mfrow = c(2, 2))
for (i in c(10,50,100,1000)){
x = replicate(n = N, expr = f(i))
var = (var(x[2,1,]) * i)
z = sqrt(i) *( (x[2, 1, ] - beta)) / sqrt(var)
plot(density(z), xlim = c(-4,4))
curve(dnorm(x,0,1), col = "red", xlim = c(-4,4), add = TRUE)
}
Distribuição Poison
Mostrar a distribuição do termo de erro
N = 10000
beta = 5n = 1000
x = runif(n, min = 0, max = 100)
e = rpois(n = n, lambda = 1 ) - 1
X = cbind(1,x)
y = 10 + beta * x + e
B = solve(t(X)%*%X)%*%t(X)%*%y
e_hat = y - X%*%B
hist(e_hat)
f = function(n){
x = runif(n, min = 0, max = 100)
e = rpois(n = n, lambda = 1 ) - 1
X = cbind(1,x)
y = 10 + beta * x + e
B = solve(t(X)%*%X)%*%t(X)%*%y
B
}par(mfrow = c(2, 2))
for (i in c(10,50,100,1000)){
x = replicate(n = N, expr = f(i))
var = (var(x[2,1,]) * i)
z = sqrt(i) *( (x[2, 1, ] - beta)) / sqrt(var)
plot(density(z), xlim = c(-4,4))
curve(dnorm(x,0,1), col = "red", xlim = c(-4,4), add = TRUE)
}
Distribuição Binomial
Mostrar a distribuição do termo de erro
N = 10000
beta = 5n = 1000
x = runif(n, min = 0, max = 100)
e = rbinom(n = n, size = 5, prob = 0.5 ) - ((5*0.5)/1-0.5)
X = cbind(1,x)
y = 10 + beta * x + e
B = solve(t(X)%*%X)%*%t(X)%*%y
e_hat = y - X%*%B
hist(e_hat)
f = function(n){
x = runif(n, min = 0, max = 100)
e = rbinom(n = n, size = 5, prob = 0.5 ) - ((5*0.5)/1-0.5)
X = cbind(1,x)
y = 10 + beta * x + e
B = solve(t(X)%*%X)%*%t(X)%*%y
B
}par(mfrow = c(2, 2))
for (i in c(10,50,100,1000)){
x = replicate(n = N, expr = f(i))
var = (var(x[2,1,]) * i)
z = sqrt(i) *( (x[2, 1, ] - beta)) / sqrt(var)
plot(density(z), xlim = c(-4,4))
curve(dnorm(x,0,1), col = "red", xlim = c(-4,4), add = TRUE)
}