5 votos

Calcular el número de simulaciones necesarias

En primer lugar tengo que pedir disculpas por cualquier uncorrect de nomenclatura o la categorización de mi pregunta, ya que soy ingeniero eléctrico en lugar de un mathematican.

Tengo una simulación de salida para un determinado número de parámetros de entrada de un valor de salida. A medida que la simulación es bastante complicado, no sé la estadística de la conexión entre la entrada y la salida. Puedo ejecutar la simulación con diferentes semillas para producir resultados diferentes para una misma entrada (que depende de algunos números aleatorios).

¿Cómo puedo elegir el número de simulaciones que tengo que correr con la misma entrada, pero diferentes semillas para asegurarse de que obtener resultados significativos?

Tal vez 10 simulaciones, calcular la desviación y con esta desviación puedo calcular el verdadero número de simulaciones?

Edit1: Algunas piezas más de información: la simulación es una simulación de tráfico. He parámetros de entrada (como el 70% de todos los coches son minivans o 60% de todas las uniones son controlados por semáforos). Y he valores de salida (consumo de combustible). Algunos internos decisiones dependen de números aleatorios (cuando un semáforo se pone en verde, ¿qué ruta tomar, ...).

Quiero saber cuántas semillas diferentes para el PRNG tengo que elegir, para que la salida de al menos un poco "seguro".

Edit2: Algunos más general piezas de información: Usted sabe que mi instalación, y la salida (consumo de combustible). Ahora quiero ver, cómo el consumo de combustible depende del número de furgonetas de pasajeros en la ciudad. Así que me cambio a este número desde el 0% al 100%. Porque hay algunas partes aleatorias en la simulación, no se obtiene una curva agradable, pero con un par de valores atípicos. Así que pensé: Ok, ejecutar 5 veces con diferentes semillas y tomar la media de todos los 5. Y voila, me sale una curva suave.

Este número 5 fue sólo adivinaba por mí. Se ve bien en el gráfico, pero no tiene la formación matemática. Pero tal vez algunos de ustedes me pueda ayudar con esto. Gracias!

4voto

mat_geek Puntos 1367

Esta es la pregunta más difícil de responder de lo que se imaginan. Depende de la entrada, la salida y el grado de precisión requerido en la salida. Una cosa a hacer es agregar decir $100$ simulaciones para el número actual y si los resultados no parecen haber cambiado mucho podría ser suficiente convergencia. Si no seguir adelante hasta que convergen. Esto supone que como la entrada de las distribuciones de convertirse en representante de la distribución de salida estará bien representado o si la salida es una estimación que se han acercado a converger a su valor esperado. El caso más simple es cuando la salida es una sola proporción que es un binomio proporción. Entonces la varianza de la salida tiene varianza acotada por $\frac{1}{4n}$ donde $n$ es el número de simulaciones. Entonces usted puede tomar la n suficientemente grande de manera que la varianza del estimador es tan pequeño como usted necesita. Esto puede parecer una situación inusual. Pero viene mucho al comparar la técnica de estimación. Por ejemplo, he hecho simulaciones para comparar bootstrap intervalo de confianza métodos. A ver si el actual nivel de confianza cerca de lo que se supone que debe ser podemos simular muestras a partir de una particular distribución de la población y calcular la proporción de veces que el intervalo incluye el verdadero parámetro. Queremos la desviación estándar de la estimación para ser menos de decir $0.001$. Esto se puede lograr ya que la desviación estándar es la raíz cuadrada de la varianza y está a menos de $\frac{1}{2 \sqrt{n}}$ Así que esto será logrado si tomamos $n> \frac{4}{(0.001)^2}$.

3voto

GvS Puntos 28137

Trato de resumir todas las respuestas por usted a fin de tener un solo lugar para todo lo importante.

Pasos para calcular el número necesario de simulaciones:

  1. Ejecutar la simulación con un número predeterminado de pistas $R_0$. He visto a $R_0 = 1000$ la mayoría de las veces. Ahora usted debería tener un vector con los resultados de la $x_0$ donde $length(x_0) = R_0$.

  2. Calcular el valor medio $\overline{x}_0$ y la desviación estándar $s_0$.

  3. Especificar el nivel permitido de error $\epsilon$ y la incertidumbre $\alpha$ está dispuesto a aceptar. Normalmente usted elija $\epsilon = \alpha = 0.05\%$.

  4. Use esta ecuación para obtener el número requerido de simulaciones: $R \geq (\frac{Z_{1-(\alpha / 2)} \cdot s_0}{\epsilon \cdot \overline{x}_0})^2$ donde $Z_{1-(\alpha / 2)}$ $1 − (\alpha /2)$ los cuantiles de la distribución normal estándar.

  5. [El uso de la t-student de distribución en lugar de la distribución normal para las pequeñas $R_0$]

Espero que esto ayude a todos los que se busca una respuesta.

0voto

mat_geek Puntos 1367

Powerbar, esta respuesta es la dirección de tu último comentario. Tal vez usted puede pensar en su simulación como la representación de un modelo de consumo de combustible como una función de % de furgonetas de pasajeros en la carretera, además de un ruido aleatorio de los componentes. Así que cada vez que se ejecuta la simulación de obtener un poco distorsionada la imagen de la curva debido al ruido aditivo componente. Cada simulación se está dando en varios % minivans simulado el valor de la función + una componente aleatoria. Si las simulaciones son independientes y el azar de los componentes son independientes (una suposición muy razonable), entonces el promedio de los valores en cada % minivan va a mejorar la estimación de la "real" consumo de combustible valor debido a que el promedio se reduce la varianza del ruido en un factor de 1/n a cada punto. En su caso, seleccionando 5, se reduce por un factor de 1/5. La desviación estándar se reduce por un factor de 1/sqrt(5) o 1/2.236. Por lo que la variación de la curva es 2.236 veces menor que para el promedio de los datos. Habías usado 3 o 4 que habría ayudado también, pero no tanto. Para n mayor que 5 ayudaría aún más, pero puede no ser necesario ya que el ojo vio satisfactoria suavidad.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X