Normalidad Asintótica

Cuando se viola el supuesto de que los errores se distribuyen normal con media 0 y varianza σ2IN empezamos a tener problemas de inferencia estadística. ¿Por qué? Porque si no se cumple el supuesto de normalidad ya no sabemos si β^ se distribuye o no normal, y por ende no podemos calcular los estadísticos F o t.
Lo bueno es que hay una solución, ya que este supuesto no es necesario cuando tenemos un tamaño de muestra "n" grande. En esta sección vamos a demostrar usando Stata, que con un n grande, tendremos que: n(ββ^)DistribucionN(0,AVar(β^)) Es decir, n(ββ^) \textbf{converge en distribución} a N(0,AVar(β^)) Para demostrar esto, partimos de nuestro estimador β^ y llegamos a la forma n(β^β), luego veremos a que convergen los términos restantes (Spoiler: Llegaremos a una función de la forma AnZn, donde An es una variable aleatoria que converge en probabilidad a una constante A, y Zn es una variable aleatoria que converge en distribución a una normal) y para terminar, usaremos el teorema de Slutsky para ver a que converge la función restante (la cual tendrá una forma tipo AnZn). Entonces, partiendo de nuestros estimadores escritos en forma matricial: β^=(XX)1XY β^=β+(XX)1Xϵ β^β=(XX)1Xϵ(nn) β^β=(XX)1Xϵ(nnn) n(β^β)=(XX)1Xϵ(nn) n(β^β)=(XXn)1(Xϵn) Sabemos que (XXn)1 converge en probabilidad a E[XX]1, pero no sabemos nada sobre (Xϵn), asi que vamos a ver: (Xϵn) XX(ϵn)N(0,1) Por una parte gracias al teorema del limite central, esto converge a una normal, pero no sabemos cuales serán sus momentos muéstrales. Para saberlo, tomamos valor esperado: E[(Xϵn)]=0 Y tomamos la varianza: Var[(Xϵn)]=1nXVar(ϵ)X Var[(Xϵn)]=1nXσϵ2X Var[(Xϵn)]=σϵ2(XXn)E[XX] Var[(Xϵn)]=σϵ2E[XX] Dado lo anterior ahora sabemos que (Xϵn)N(0,σϵ2E[XX]) Y volviendo a nuestra ecuación inicial n(β^β)=(XXn)1E[XX]1(Xϵn)N(0,σϵ2E[XX]) Y aqui es donde entra Slustky, ya que este teorema nos dice que Si ZnDistribucionN(0,I) y AnprobabilidadA Entonces ZnAnDistribucionN(0,AA) En nuestro caso, A=E[XX]1 Y Zn=(Xϵn)N(0,σϵ2E[XX]) por lo que ya sabemos como terminar la demostración:

El valor esperado:
E[Azn]=AE[Z]=0 La varianza: Var[AZn]=AVar(Z)A Var[AZn]=E[XX]1Var(Z)E[XX]1 Pero recordemos que Zn=(Xϵn)N(0,σϵ2E[XX]), por lo que conocemos cual es la varianza de Z Var[AZn]=E[XX]1σϵ2E[XX]E[XX]1 Var[AZn]=σϵ2E[XX]E[XX]1E[XX]1I Var[AZn]=σϵ2E[XX]=σϵ2(XX)n1 Finalmente, conocemos la distribución y los momentos muéstrales de n(ββ^) n(ββ^)DN(0,σϵ2(XX)n1) Resumiendo, partimos del estimador de β^ para demostrar que cuando tenemos un n muy grande, sin importar como se distribuye el error, nuestro estimador β^ seguirá siendo útil para calcular nuestros estadísticos t y F\footnote{De hecho, siguiendo el mismo procedimiento se puede demostrar que β^ se distribuye normal con media β y varianza σϵ2(XX)1. Sin el supuesto de normalidad, no conocíamos la distribución de β^, y por ende, no podíamos construir la t. Al demostrar que n(ββ^)DN(0,AVar(β^)) podemos construir la t y la F sin ningún problema.

Veamoslo en Stata:


clear
capture program drop  MCO
program define MCO, rclass
args N
clear
set obs `N'
capture drop y x
gen x=runiform(0,8)
gen y = 0.5*x+runiform(0,5)
qui reg y x
return scalar beta = _b[x]
end
						

simulate Beta1000=r(beta), reps(1000) nodots: MCO 1000
save Beta1000.dta
simulate  Beta10000=r(beta), reps(1000) nodots: MCO 10000
merge 1:1   _n using beta1000
kdensity Beta1000, n(500) generate(x_1000 f_1000) kernel(gaussian) nograph
label variable f_1000 "N=1000"
kdensity  Beta10000, n(500) generate(x_10000 f_10000) kernel(gaussian) nograph
label variable f_10000 "N=10000"
graph twoway (line f_1000 x_1000) (line f_10000 x_10000)
						

Como podemos ver nuestro estimador es consistente y a medida que aumenta la muestra, la probabilidad que la estimación se aleje del valor poblacional disminuye, pero como se había mencionado anteriormente esta el problema de que su distribución cambia a medida que cambia la muestra. La distribución del estimador con n = 10000 esta mucho mas concentrada.

Dado lo anterior optaremos por utilizar una version de los estimadores recentrados y escalados.


replace  Beta1000=sqrt(1000)*(Beta1000-0.5)
replace  Beta10000=sqrt(10000)*(Beta10000-0.5)
drop x_1000 f_1000 x_10000 f_10000
kdensity Beta1000, n(500) generate(x_1000 f_1000) kernel(gaussian) nograph
label variable f_1000 "N=1000"
kdensity Beta10000, n(500) generate(x_10000 f_10000) kernel(gaussian) nograph
label variable f_10000 "N=10000"
graph twoway (line f_1000 x_1000) (line f_10000 x_10000) (function normalden(x, sqrt(0.5)),range(-2 2)) , legend(label(3 "Distribución Normal"  cols(3))
						

En esta ultima grafica vemos como los estimadores recentrados y escalados tienen una distribución prácticamente igual a la de una normal independiente del N. Ahora si podemos usar nuestros estadísticos f y t y hacer inferencia sin problema.

Bibliografía:

Bases y do files