En casi todo el trabajo de análisis que he realizado utilizo:
set.seed(42)
Es un homenaje a la Guía del autoestopista galáctico . Pero me pregunto si estoy creando sesgo al usar la misma semilla una y otra vez.
random-generation
Brandon Bertelsen
fuente
fuente
Respuestas:
No hay sesgo si el RNG es bueno. Sin embargo, al usar siempre la misma semilla, está creando una fuerte interdependencia entre todas las simulaciones que realiza en su carrera. Esto crea un tipo inusual de riesgo.
Al usar la misma semilla cada vez, siempre obtienes una secuencia pseudoaleatoria bastante buena y todo tu trabajo va bien o, con una probabilidad muy baja pero no nula, siempre estás usando una secuencia bastante mala y tus simulaciones no son como representante de las distribuciones subyacentes como cree que podrían ser. ¡O todo tu trabajo es bastante bueno o todo es bastante malo!
Compare esto con el uso de semillas iniciales verdaderamente aleatorias cada vez. De vez en cuando puede obtener una secuencia de valores aleatorios que no es representativa de la distribución que está modelando, pero la mayoría de las veces estaría bien. Si nunca intentó reproducir su propio trabajo (con una nueva semilla), una o dos veces en su carrera podría obtener resultados engañosos, pero la gran mayoría de las veces estará bien.
Hay una cura simple y obvia: siempre, siempre verifique su trabajo reiniciando con otra semilla. Es prácticamente imposible que dos semillas accidentalmente den resultados engañosos de la misma manera.
Por otro lado, hay un mérito extraordinario en tener una "semilla personal" bien conocida: muestra al mundo que eres honesto. Una manera astuta y sutil de mentir con las simulaciones es repetirlas hasta que te den un resultado predeterminado. Aquí hay un
R
ejemplo de trabajo para "demostrar" que incluso una moneda justa es muy probable que caiga cara más de la mitad del tiempo:Al observar una gama más amplia de semillas (de a ), pude encontrar una agradable: 218134. Cuando comienzas con esto como la semilla, ¡los lanzamientos de monedas simulados resultantes exhiben caras! Eso es significativamente diferente del valor esperado de ( ).10 6 100 75 50 p = 0,0000041 106 100 75 50 p=0.000004
Las implicaciones pueden ser fascinantes e importantes. Por ejemplo, si supiera de antemano a quién reclutaría en un ensayo aleatorizado, doble ciego y controlado, y en qué orden (que podría controlar como profesor universitario probando a un grupo de estudiantes en cautiverio o ratas de laboratorio), entonces de antemano podría ejecutar un conjunto de simulaciones para encontrar una semilla que agrupe a los estudiantes más a mi gusto para favorecer lo que esperaba "probar". Podría incluir el orden planificado y esa semilla en mi plan experimental antesrealizando el experimento, creando así un procedimiento que ningún crítico crítico podría destituir, pero sin embargo apilando la baraja a mi favor. (Creo que hay ramas enteras de pseudociencia que usan alguna variante de este truco para ganar credibilidad. ¿Creería que realmente usé ESP para controlar la computadora? ¡También puedo hacerlo a distancia con la suya!)
Alguien cuya semilla predeterminada se conoce no puede jugar este juego.
Mi semilla personal es 17 , como lo atestigua una gran parte de mis publicaciones (actualmente 155 de 161 publicaciones que establecen una semilla usan esta). En
R
es una semilla difícil de trabajar, porque (como resulta que) la mayoría de los pequeños conjuntos de datos que he creado con ella tienen un fuerte valor atípico. Esa no es una mala característica ...fuente
R
El comportamiento es puramente accidental.Como se indicó anteriormente, un buen RNG no generará sesgo al usar la misma semilla. Sin embargo, habrá una correlación entre los resultados. (El mismo número pseudoaleatorio comenzará cada cálculo). Si esto importa no es una cuestión de matemáticas.
Usar la misma semilla está bien a veces: para depurar o cuando sabes que quieres resultados correlacionados.
fuente