Diese Frage hat hier bereits eine Antwort:
Mir ist klar, dass man set.seed()
in R für die Erzeugung von Pseudozufallszahlen verwendet. Mir ist auch klar, dass man mit der gleichen Nummer, wie bei set.seed(123)
Versicherungen, Ergebnisse reproduzieren kann.
Was ich aber nicht verstehe, ist, was die Werte selbst bedeuten. Ich spiele mit verschiedenen Funktionen und verwende set.seed(1)
oder set.seed(300)
oder set.seed(12345)
. Was bedeutet diese Nummer (wenn überhaupt) - und wann sollte ich eine andere verwenden?
Beispiel: In einem Buch, das ich gerade durcharbeite, werden sie set.seed(12345)
beim Erstellen eines Trainingssatzes für Entscheidungsbäume verwendet. In einem anderen Kapitel werden sie dann set.seed(300)
zum Erstellen einer zufälligen Gesamtstruktur verwendet.
Versteh die Nummer einfach nicht.
quelle
Antworten:
Die von Ihnen gewählte Startnummer ist der Ausgangspunkt für die Generierung einer Folge von Zufallszahlen. Aus diesem Grund erhalten Sie bei Verwendung desselben Pseudozufallszahlengenerators die gleichen Ergebnisse bei gleicher Startnummer. Für Ihre zweite Frage könnte dieser kurze Ausschnitt aus der Beschreibung der entsprechenden Funktionalität in Stata hilfreich sein:
http://www.stata.com/manuals13/rsetseed.pdf
quelle
Kurz gesagt, die Zahlen selbst bedeuten eigentlich gar nichts! Wenn Sie sich den Code einer anderen Person ansehen (wie in den beiden oben genannten Beispielen), ändern die Zahlen nichts an der Funktionalität der Funktion. Es gibt auch keine "guten" Zahlen für bestimmte Funktionen. Es liegt nur an den Autoren.
Wenn Sie den Startwert nur einmal in Ihrem Code festlegen, können Sie außerdem eine beliebige Zahl auswählen. Das Einzige, worauf Sie achten müssen, ist, dass Sie, wenn Sie mit anderen Funktionen interagieren, die auch Zufallszahlen verwenden, einen nicht offensichtlichen Startwert auswählen sollten (daher ist es weniger wahrscheinlich, dass Sie beide denselben Startwert verwenden ).
Wie Corcovado jedoch sehr gut hervorhebt, müssen Sie bei einigen Anwendungen bei der Auswahl, die Sie treffen, sehr vorsichtig sein. Wenn Sie mathematisch eine Anzahl von pseudozufällig generierten Zahlen benötigen, können die von Ihnen ausgewählten Zahlen kein Muster enthalten.
quelle
Die Funktion set.seed () in R akzeptiert ein (beliebiges) ganzzahliges Argument. Wir können also jedes Argument verwenden, zum Beispiel 1 oder 123 oder 300 oder 12345, um die reproduzierbaren Zufallszahlen zu erhalten.
Im Paket TeachingDemos kann der Benutzer mit der Funktion char2seed den Startwert basierend auf einer Zeichenfolge festlegen.
quelle