Estoy simulando 10000 conjuntos de datos, cada uno de una duración de 20, que siguen un modelo autorregresivo con gal 1, utilizando el código siguiente:
set.seed(1)
N = 20
n.reps <- 10000
burn.in = 50
total <- N + burn.in
x <- matrix(NA, n.reps, total)
x[ , 1] <- 0.1
noise <- rnorm(n.reps*total, 0, 0.1)
for(j in 1:n.reps)
for(i in 2:total)
x[j, i] <- 0.5*x[j, i-1] + noise[j + i]
x <- x[ , -(1:burn.in) ]
Entonces me calcula los coeficientes autorregresivos (0.5 en este caso) para cada observó ruta de acceso, el uso de dos regresiones lineales:
res1 <- res2 <- numeric(n.reps)
for(i in 1:n.reps)
{
res1[i] <- lm(x[i, 2:N] ~ -1 + I(x[i, 1:(N-1)]))$coef
res2[i] <- lm(x[i, 2:N] ~ I(x[i, 1:(N-1)]))$coef[2]
}
mean(res1) # 0.4687619
mean(res2) # 0.3845817
En la primera línea estoy montaje de la derecha el modelo lineal, mientras que en el segundo estoy incluyendo una intercepción que no está presente en los datos en el proceso de generación. Yo esperaba que ambos métodos dan me imparcial de las estimaciones del coeficiente autorregresivo, pero parece que incluyendo el intercepto hace que las estimaciones sesgadas a la baja. El sesgo desaparece como puedo aumentar el tamaño de la muestra N.
El segundo modelo lineal nidos de la real, así que me esperaba una mayor varianza en las estimaciones cuando el modelo más grande, está amueblada, pero no en prejuicios. Así que mi pregunta es: ¿estoy haciendo algo mal? Gracias!