Palisade Knowledge Base

HomeTécnicas y Consejos@RISK: Preguntas GeneralesResultados diferentes con la misma semilla fija para varias distribuciones

2.8. Resultados diferentes con la misma semilla fija para varias distribuciones

Also available in English: Different Results with the Same Fixed Seed for various distributions 

Resultados diferentes con la misma semilla fija para varias distribuciones

Problema:

Al comparar la secuencia de números aleatorios generados para cada distribución en un modelo, son diferentes cuando se simulan con estos escenarios:

  1. Simule y compare secuencias de números aleatorios para el mismo modelo simulado con @RISK y una API de desarrollo personalizada ejecutada con PCR o SDK.
  2. Simule y compare las secuencias de números aleatorios para el mismo modelo simulado simultáneamente con dos libros de trabajo abiertos. Consulte también Resultados diferentes con múltiples copias de libros de trabajo


Explicación:

la diferencia puede ocurrir porque las distribuciones en el modelo se definen de manera diferente. Un modelo podía tener más distribuciones o el mismo número de distribuciones, pero estas se definían en un orden diferente.

Dado que @RISK está muestreando un número diferente de distribuciones o una lista de distribuciones ordenadas de manera diferente, son modelos efectivamente distintos y no se deben esperar los mismos resultados. El mismo modelo siempre producirá los mismos resultados usando la misma semilla fija. 

Por ejemplo, suponga que estoy usando una semilla fija que genera los siguientes números usando RiskUniform ( 0,1): 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7. ( Por supuesto, un patrón como este es enormemente improbable; solo se elige para que el ejemplo sea fácil de seguir).

Si uso esa misma semilla fija y ejecuto una simulación con siete iteraciones, siempre obtendré esos valores precisamente en ese orden. En otras palabras: 

  Valor de la iteración    Valor de RiskUniform(0,1)

            1                          0.1
            2                          0.2
            3                          0.3
            4                          0.4

Una diferencia es el número de distribuciones. Entonces, si agrego otro RiskUniform ( 0,1) a la hoja de cálculo y ejecuto siete iteraciones, los resultados serán diferentes. Se genera y utiliza la misma lista de semillas, pero ahora se toman muestras de dos distribuciones. En otras palabras: 

      Iteración     Valor del primer RiskUniform(0,1)    Valor del segundo RiskUniform(0,1)
            1                    0.1                                                 0.2
            2                    0.3                                                 0.4
            3                    0.5                                                 0.6
            4                    0.7                                               [Siguiente valor en la lista inicial]

 

Otra razón de la diferencia es que las distribuciones se definieron en un orden diferente. Entonces, si agrego un RiskPoisson (5) y otro RiskUniform (0,1), o primero un RiskUniform y luego un RiskPoisson y ejecuto siete iteraciones, los resultados serán diferentes. Se utiliza la misma semilla fija, pero ahora se muestrean tres distribuciones, y estos son los números generados para RiskPoisson : 2,4,7,5,1,3,6.

En otras palabras:

Iteración

Valor del primer RiskUniform(0,1)  

Valor del segundo RiskUniform(0,1)

  Valor de RiskPoisson(5)

            1

0.1

0.2

7.0

            2

0.4

0.5

3.0

            3

0.7

[Siguiente valor en la lista sembrada]

 


O, con un orden diferente:

Iteración

Valor del primer RiskUniform(0,1)  

Valor de RiskPoisson(5)

Valor del segundo RiskUniform(0,1)

            1

0.1

4.0

0.3

            2

0.4

1.0

0.6

            3

0.7

[Siguente valor en la lista sembrada]

 

 

El primer modelo con una sola distribución siempre producirá los mismos resultados para la misma semilla fija.

Los otros modelos con dos o tres distribuciones siempre tendrán la misma secuencia de números aleatorios para la misma semilla fija. Pero las muestras no serán las mismas porque se asignan de manera diferente. En última instancia, todas las muestras convergen en las mismas distribuciones deseadas, es decir, las mismas estadísticas, lo que hace que sus resultados sean correctos y comparables.

Además, tenga en cuenta que si el muestreo Latin Hypercube está en vigor, ya no podemos extraer muestras puramente aleatorias, ya que debemos asegurarnos de que se extraiga una muestra aleatoria de cada contenedor Latin Hypercube. Por esta razón, puede ver que las muestras no serán idénticas después de algunas iteraciones y solo coincidirán con los últimos dígitos. Lea más sobre esto en: Latin Hypercube Versus Muestreo Monte Carlo

Si las respuestas idénticas son críticas, tal vez sea necesario otro enfoque. Estas son algunas posibles soluciones:

  1. Utilice Monte Carlo como su tipo de muestreo.
  2. Proporcione los datos variables directamente. Por ejemplo, distribuya una lista de números que diga: "Estas son las tasas de interés mensuales para los próximos cinco años".
  3. Agregue la función de propiedad RiskSeed a cada distribución en el modelo. De esta forma, cada distribución tendrá su secuencia única de números aleatorios, sin importar su orden definido.



 

Última actualización: 2023-02-10

This page was: Helpful | Not Helpful