Hay tres razones para realizar simulaciones Monte Carlo en estadística. La primera, como se utiliza en este trabajo, es para probar el rendimiento de los estimadores cuando no existe una solución analítica. La segunda es construir escenarios para el futuro con el fin de determinar el grado de ajuste de los estimadores. La tercera es en la estadística bayesiana para determinar el valor del denominador en la regla de Bayes sustituyendo la integración analítica por métodos de Monte Carlo. La versión bayesiana requiere pasos adicionales porque los sorteos deben ser markovianos.
Imagine que sabe con certeza que está extrayendo de una distribución gaussiana centrada en cero con varianza unitaria. Podría extraer muestras, de tamaño N, para estimar la distribución de algún estadístico como la media muestral, la varianza, la mediana, el cuartil 23, etc.
Si se realizaran suficientes muestreos, se obtendrían estimaciones de la probabilidad de que algún estimador esté a cierta distancia de su valor real.
El pseudocódigo podría ser el siguiente:
initialize x[30] Real;
initialize y[1000] Real;
for i=1:1000;
j=1:30;
x[j]=random_normal(0,1);
next j;
y[i]=average(x[1:30])
next i;
La salida convergería a la puntuación z como $i$ se hizo lo suficientemente grande.
Es una simulación de Monte Carlo.
En código R, aunque los gráficos son poco elegantes, lo es:
rows<-30
columns<-100000
x<-matrix(rnorm(rows*columns),nrow = rows)
y<-apply(x,2,mean)
z<-apply(x,2,median)
plot(density(y),main = "Solid Line Average, Dotted Line Median Sampling Distribution
Estimate")
lines(density(z),type = "p")
print(summary(as.vector(x)))
print(summary(y))
print(summary(z))
Lo siento, es poco elegante, pero permite ver lo que hacen pero en el caso unidimensional. Lo anterior muestra la distribución de las medias muestrales, donde el tamaño de la muestra es 30, frente a la distribución de las medianas muestrales.
Por supuesto, ambos tienen soluciones analíticas. Esta es la tabla z, en esencia, excepto que $$\sigma_{median}=1.253\frac{\sigma}{\sqrt{n}},$$ porque es un estimador menos eficiente.
Así que lo que están haciendo en su simulación es tratar $\Sigma_F$ como exactamente igual a las estadísticas de la muestra. A continuación, están extrayendo al azar cientos de muestras de una distribución normal multidimensional. Si lo hicieran con medias muestrales iguales a cero, esa sería la estimación empírica de la distribución bajo la hipótesis nula.
La matriz de covarianza empírica se obtiene estimando los componentes mediante los estadísticos de la muestra. En R se estima con la función cov(), a menos que esté haciendo una regresión, entonces viene como una implementación de la función. Su lenguaje varía con la herramienta.
En cuanto a la razón por la que extraen uniformemente las medias más adelante en el tratamiento, deben estar tratando las medias observadas como un único fenómeno en lugar de que cada fondo tenga características únicas. Sin leer todo el artículo, no estoy seguro de por qué lo hicieron.