Schaffe ich Voreingenommenheit, indem ich immer wieder denselben zufälligen Samen verwende?

31

In fast allen Analysen, die ich jemals durchgeführt habe, verwende ich:

set.seed(42) 

Es ist eine Hommage an Per Anhalter durch die Galaxis . Aber ich frage mich, ob ich Voreingenommenheit schaffe, indem ich immer wieder denselben Samen verwende.

Brandon Bertelsen
quelle
9
Wie benutzt man Saatgut? Abhängig von Ihrem typischen Anwendungsfall reicht die Antwort von Ja bis Nein.
Momo
Brandon, was ist, wenn dir jemand JA antwortet? Was wirst du machen? Ich bin besorgt.
TTNPHNS
@Momo Sagen wir einfach, ich stelle es immer ein, aus Angst, es zu vergessen und meine Ergebnisse nicht reproduzieren zu können. Dies gilt für unabhängige und unterschiedliche Arten von Experimenten. Ich würde es begrüßen, sowohl Ja- als auch Nein-Fälle zu verstehen.
Brandon Bertelsen
@ttnphns Behandle es wie eine gelernte Lektion?
Brandon Bertelsen
Es ist in Ordnung, Ergebnisse zu reproduzieren, unabhängig davon, ob sie voreingenommen sind oder nicht. Aber wenn sich Ihre Stichprobengröße (Anzahl unabhängiger Experimente oder Beobachtungen), die mit diesem Samen erzeugt wurden, der Unendlichkeit nähert, bleibt eine gewisse Verzerrung bestehen. Beachten Sie zwei weitere wichtige Dinge: Normalerweise verwenden wir Pseudozufallsgeneratoren , was die Konsequenzen für Sie verkompliziert. Die Folgen hängen auch davon ab, welche Art von Zufallsgenerator Sie verwenden (z. B. Mersenne-Twister oder was?). Für ernsthafte Versuche mit etwas Zufälligem ist es daher immer besser, den Samen auf zufällig zu setzen.
TTNPHNS

Antworten:

31

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 RBeispiel, 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 Rihm 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.

whuber
quelle
5
Haben Sie wegen dieser Eigenschaft , oder ist das nur ein schöner Zufall? 17
Matthew Drury
4
@Matthew Es geht zurück auf eine Gruppe von Gymnasiasten mit einem gemeinsamen Interesse an Mathematik, die vor einem Sommer die Zahlentheorie studiert haben. Einer, wie ich mich erinnere, schlug scherzhaft 17 als archetypische Ganzzahl vor, und unsere Gruppe fand schnell viele Rationalisierungen dafür, einige von mathematischem Interesse und einige bloß humorvoll (zumindest aus der Sicht eines mathematischen Nerds). Es gibt interessante mathematische und historische Eigenschaften dieser Zahl, die für Aufmerksamkeit sorgen, wie beispielsweise Gauß 'Entdeckung der Konstruierbarkeit des 17-Gons. RDas Verhalten von ist rein zufällig.
Whuber
4
@Matthew BTW, mein Same ist verwandt mit dem von Brandon: Es gibt genau 42 geordnete Paare verschiedener ganzzahliger Primzahlen mit einer Größe von 17 oder weniger :-).
Whuber
8
Früher konnte ich ein 17-Gon mit Lineal und Kompass als Partytrick konstruieren. Nun, für die richtige Definition der Partei, denke ich ...
Matthew Drury
1
@MatthewDrury sie knallen Flaschen bei Ihrer Party.
Brandon Bertelsen
2

Wie oben erwähnt, erzeugt ein guter RNG keine Verzerrung, wenn derselbe Keim verwendet wird. Es wird jedoch eine Korrelation zwischen den Ergebnissen geben. (Dieselbe Pseudozufallszahl startet jede Berechnung.) Ob dies wichtig ist, ist keine Frage der Mathematik.

Die Verwendung desselben Ausgangs ist manchmal in Ordnung: zum Debuggen oder wenn Sie wissen, dass Sie korrelierte Ergebnisse erzielen möchten.

ttw
quelle