Es gibt keine Verzerrung, wenn das RNG gut ist. Indem Sie immer den gleichen Samen verwenden, schaffen Sie jedoch eine starke Wechselbeziehung zwischen allen Simulationen, die Sie in Ihrer Karriere durchführen. Dies schafft eine ungewöhnliche Art von Risiko.
Wenn Sie jedes Mal den gleichen Startwert verwenden, erhalten Sie entweder immer eine hübsche Pseudozufallssequenz, und Ihre gesamte Arbeit funktioniert einwandfrei, oder Sie verwenden mit einer sehr geringen Wahrscheinlichkeit, die nicht Null ist, immer eine ziemlich schlechte Sequenz und Ihre Simulationen nicht als repräsentativ für die zugrunde liegenden Distributionen, wie Sie denken, dass sie sein könnten. Entweder ist deine ganze Arbeit ziemlich gut oder alles ist ziemlich mies!
Vergleichen Sie dies mit der Verwendung von wirklich zufälligen Startsamen jedes Mal. Hin und wieder erhalten Sie möglicherweise eine Folge von Zufallswerten, die nicht für die von Ihnen modellierte Verteilung repräsentativ ist. Meistens ist dies jedoch in Ordnung. Wenn Sie nie versucht haben, Ihre eigene Arbeit (mit einem neuen Samen) zu reproduzieren, werden Sie ein oder zwei Mal in Ihrer Karriere möglicherweise irreführende Ergebnisse erzielen, aber die überwiegende Mehrheit der Zeit wird es Ihnen gut gehen.
Es gibt eine einfache und offensichtliche Lösung: Überprüfen Sie Ihre Arbeit immer, indem Sie mit einem anderen Samen neu starten. Es ist praktisch unmöglich, dass zwei Samen versehentlich zu irreführenden Ergebnissen führen.
Andererseits ist es außerordentlich wertvoll, einen bekannten "persönlichen Samen" zu haben: Er zeigt die Welt, in der Sie ehrlich sind. Eine schlaue, subtile Art, mit Simulationen zu lügen, besteht darin, sie zu wiederholen, bis sie Ihnen ein vorbestimmtes Ergebnis liefern. Hier ist ein funktionierendes R
Beispiel, um zu "demonstrieren", dass selbst eine faire Münze höchstwahrscheinlich mehr als die Hälfte der Zeit Köpfe landet:
n.flips <- 100
seeds <- 1:10^3
#
# Run some preliminary simulations.
#
results <- sapply(seeds, function(seed) {
set.seed(seed)
mean(runif(n.flips) > 1/2)
})
#
# Now do the "real" simulation.
#
seed <- seeds[which.max(results)]
set.seed(seed)
x <- mean(runif(n.flips) > 1/2)
z <- (x - 1/2) * 2 * sqrt(n)
cat("Mean:", x, "Z:", z, "p-value:", pnorm(z, lower.tail=FALSE), "\n")
Bei der Betrachtung eines breiteren Spektrums von Samen (von bis ) konnte ich einen kongenialen finden: 218134. Wenn Sie mit diesem als Samen beginnen, weisen die resultierenden simulierten Münzwürfe Köpfe auf! unterscheidet sich erheblich vom erwarteten Wert von ( ).11061007550p = 0,000004
Die Auswirkungen können faszinierend und wichtig sein. Wenn ich zum Beispiel im Voraus wüsste, wen ich für eine randomisierte, doppelblinde, kontrollierte Studie rekrutieren würde und in welcher Reihenfolge (die ich möglicherweise als Universitätsprofessor kontrollieren kann, der eine Gruppe von in Gefangenschaft befindlichen Studenten oder Laborratten testet), dann Zuvor konnte ich eine solche Reihe von Simulationen durchführen, um einen Samen zu finden, der die Schüler mehr nach meinem Geschmack gruppiert, um das zu bevorzugen, was ich "beweisen" wollte. Ich könnte die geplante Bestellung und diesen Samen vorher in meinen Versuchsplan aufnehmenDurchführen des Experiments, wodurch ein Verfahren geschaffen wird, das kein kritischer Prüfer jemals anklagen könnte - und dennoch das Deck zu meinen Gunsten stapelt. (Ich glaube, es gibt ganze Zweige der Pseudowissenschaften, die eine Variante dieses Tricks verwenden, um Glaubwürdigkeit zu erlangen. Würden Sie glauben, dass ich ESP tatsächlich zur Steuerung des Computers verwendet habe? Ich kann es auch auf Distanz mit Ihrem tun!)
Jemand, dessen Standard-Startwert bekannt ist, kann dieses Spiel nicht spielen.
Mein persönlicher Startwert ist 17 , wie ein großer Teil meiner Posts bestätigt (derzeit verwenden 155 von 161 Posts, bei denen ein Startwert festgelegt wurde, diesen). In R
ihm ist ein schwieriger Samen Arbeit mit, weil (wie sich herausstellt) die meisten kleinen Datensätze ich es schaffen eine starke Ausreißer haben. Das ist keine schlechte Eigenschaft.