Explicación de la simulación estadística.


10

No soy un estadista Entonces, tengan paciencia con mis errores si los hay.

¿Podría explicar de manera simple cómo se realiza la simulación? Sé que selecciona una muestra aleatoria de una distribución normal y la usa para simular. Pero, no entiendo claramente.


11
¿Simulando qué? :-)
chl

Exactamente quisquilloso, pero a veces las preguntas son desalentadoras para el autor de la pregunta, y este es uno de esos casos.
amit

1
@phaedrus ¿Es esto un comentario para mi intención? Si es así, ¿podría explicar lo que entendió de la pregunta anterior?
chl

Respuestas:


27

En estadística, la simulación se utiliza para evaluar el rendimiento de un método, generalmente cuando hay una falta de antecedentes teóricos. Con simulaciones, el estadístico conoce y controla la verdad .

La simulación se usa ventajosamente en varias situaciones. Esto incluye proporcionar la estimación empírica de las distribuciones de muestreo, estudiar la especificación errónea de los supuestos en los procedimientos estadísticos, determinar el poder en las pruebas de hipótesis, etc.

Los estudios de simulación deben diseñarse con mucho rigor. Burton y col. (2006) dieron una visión general muy agradable en su artículo " El diseño de estudios de simulación en estadísticas médicas ". Los estudios de simulación realizados en una amplia variedad de situaciones se pueden encontrar en las referencias.

Ejemplo ilustrativo simple Considere el modelo lineal

y=μ+βx+ϵ

donde es una covariable binaria ( o ) y . Usando simulaciones en R, verifiquemos quex = 0 x = 1 ϵ N ( 0 , σ 2 )xx=0x=1ϵN(0,σ2)

E(β^)=β.
> #------settings------
> n <- 100            #sample size                          
> mu <- 5             #this is unknown in practice                         
> beta <- 2.7         #this is unknown in practice
> sigma <- 0.15       #this is unknown in practice
> #--------------------
> 
> #------set the seed so that this example can be replicated------
> set.seed(937)
> #---------------------------------------------------------------
>
> #------generate 1000 data sets and store betaHat------
> betaHat <- numeric(1000)
> for(i in 1:1000)
+ {
+     #generate the binary covariate --> n Bernoulli trials
+   x <- sample(x=c(0, 1), size=n, replace=TRUE, prob=c(0.5, 0.5))
+     #generate the errors
+   epsilon <- rnorm(n=n, mean=0, sd=sigma)
+     #form the response variable      
+   y <- mu + beta * x + epsilon 
+     #the ith generated data set
+   data_i <- data.frame(y=y, x=x)
+     #fit the model
+   mod <- lm(y~x, data=data_i)
+     #store the estimate of beta
+   betaHat[i] <- as.numeric(coef(mod)[2])     
+ }    
> #-----------------------------------------------------
> 
> #------E(betaHat) = beta?------
> mean(betaHat)
[1] 2.698609
> #------------------------------

Nota : Hay una carta al editor para el trabajo mencionado anteriormente.


9

En primer lugar, hay muchos, muchos tipos diferentes de simulación en estadísticas, y aún más en los campos circundantes. Solo decir "Simulación" es tan útil como decir "Modelo", es decir, no mucho.

Según el resto de su pregunta, supongo que se refiere a la simulación de Monte Carlo, pero incluso eso es un poco vago. Básicamente, lo que sucede es que extrae muestras repetidamente de una distribución (no tiene por qué ser normal) para hacer un análisis estadístico de una población artificial con propiedades conocidas, pero aleatorias.

El propósito de esto tiende a caer en dos categorías:

¿Puede mi método manejar X? : Básicamente, está simulando una serie de muchas poblaciones aleatorias con una respuesta "correcta" conocida para ver si su nueva técnica le devuelve dicha respuesta correcta. Como ejemplo básico, digamos que has desarrollado lo que crees que es una nueva forma de medir la correlación entre dos variables, X e Y. Simularías dos variables donde el valor de Y depende del valor de X, junto con Un poco de ruido al azar. Por ejemplo, Y = 0.25x + ruido. Luego crearía una población con algunos valores aleatorios de X, algunos valores de Y que eran 0.25x + un número aleatorio, probablemente muchos miles de veces, y luego mostraría que, en promedio, su nueva técnica escupe un número que muestra correctamente que Y = 0.25x.

¿Qué pasa si? La simulación se puede realizar como un análisis de sensibilidad para un estudio existente. Digamos, por ejemplo, que he realizado un estudio de cohorte, pero sé que mi medición de exposición no es muy buena. Clasifica incorrectamente el 30% de mis sujetos como expuestos cuando no deberían, y clasifica el 10% de mis sujetos como no expuestos cuando no deberían estar. El problema es que no tengo una prueba mejor, así que no sé cuál es cuál.

Tomaría mi población y le daría a cada sujeto expuesto una probabilidad del 30% de cambiar a no expuesto, y a cada sujeto no expuesto una probabilidad del 10% de cambiar a expuesto. Luego haría miles de nuevas poblaciones, determinaría al azar qué sujetos cambiarían y volvería a ejecutar mi análisis. El rango de esos resultados me dará una buena estimación de cuánto podría cambiar el resultado de mi estudio si hubiera clasificado correctamente a todos.

Por supuesto, como siempre, existe una mayor complejidad, matiz y utilidad para la simulación, dependiendo de cuánto desee excavar.


1. Entonces, ¿qué explicaste en tu respuesta es la simulación de Montecarlo? 2. ¿Hay otro tipo de simulaciones (aparte de Montecarlo) que se usan en estadística?
vasili111

5

La simulación también se puede utilizar para observar procesos reales en condiciones teóricas, donde esos procesos tienen entradas no lineales. Por ejemplo, una empresa de fabricación puede estar interesada en saber si agregar una línea de producción adicional es rentable, un centro de atención telefónica puede estar interesado en cómo encaminar las llamadas alrededor de los operadores para reducir el tiempo de espera y las tarifas de rechazo para las personas que llaman, un departamento de emergencias puede estar interesado en la mejor forma de incluir al personal y transferir pacientes, o un puerto de envío puede estar interesado en la forma más eficiente de diseñar sus operaciones de contenedores. La simulación discreta de eventos puede usarse para modelar estos procesos, y uno puede ajustar los parámetros para responder preguntas tipo "qué pasaría si".

Otra área de interés en la simulación son los sistemas complejos. Particularmente en ciencias sociales, la simulación basada en agentes es un tipo interesante de simulación que está comenzando a reunir más defensores. En la simulación basada en agentes, los agentes (por ejemplo, personas individuales) reciben atributos como personalidades e interactúan entre sí, por lo que modela un sistema caótico. La simulación basada en agentes analiza el efecto de los agentes circundantes entre sí y se puede incluir el efecto a distancia. Si bien yo mismo no he hecho ninguna simulación basada en agentes, he visto que se utiliza para modelar sistemas como la distribución geográfica del tamaño de la población en una comunidad prehistórica a lo largo del tiempo.


¿Puedes por favor dar algunos ejemplos?
vasili111

No estoy seguro de lo que quieres decir con algunos ejemplos. Di algunos ejemplos en mi primer párrafo.
Michelle

2

x1,,xn

x1,,xn

F^n(x)=1ni=1nIxix
nFFEF[h(X)]ψ(X1,,Xn)F^n
σ^n2(x1,,xn)=1n+1i=1n(xix¯)2
σ2=varF(X)n x1,,xnF^n
β=σ^n2(x1,,xn)σ^n2(x1,,xn)

3
Creo que es útil separar dos conceptos esenciales detrás del método de arranque. El bootstrap en sí mismo debe considerarse como una forma de modificar un estimador para producir otro estimador (con suerte mejor). Se puede calcular teóricamente, exactamente y (a veces) en forma cerrada. ¡La simulación no es una parte inherente del bootstrap! Sin embargo, en muchos casos la simulación es una forma natural y fácil de aproximar el estimador de arranque. Vea la introducción y el capítulo 1 en Hall, The Bootstrap y Edgeworth Expansion.
whuber

1
E[β | sample]=[2/(n+1)]σ^n2(x1,,xn).
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.