疑似乱数生成でシードを設定するためのリファレンスとベストプラクティス


11

、この文書は、その懸念「セットシード」コマンドは、Stataの人々は、疑似乱数を生成するシードの設定に関連する問題を議論します。

注目すべき「しない」は、「自然数のシーケンスをシードとして連続的に使用しないでください。これは、パターンがあり、疑似ランダム性を危険にさらすためです」。

4分の1の冗談で特筆すべき"do"、有効期間中にシードを1つだけ設定し、各実験の最後に生成されたプロセスの "状態"を記録して、次の実験がその時点で続行されるようにします。プロセスが停止した場所。

明らかに、上記のアドバイスは、彼が研究期間中に生成する疑似乱数の予想される数に依存します。おそらく、メルセンヌツイスターは多くの研究者の生涯のニーズをカバーするでしょう...

現在、私はPRNGについて理論上または実際にはあまり経験を積んでいないので、これらの提案について議論することはできません。それらは理論的根拠と厳密な数学的統計に基づいて有効または無効であることが証明されているはずです。

だから、私の質問は

1)上記のアドバイスの説明や無効化を手伝ったり、そのような問題を扱っているリファレンスを指摘したりできますか?

2)シード設定の「ベストプラクティス」を提供するリファレンスを提供できますか?

3)あなたは自分の仕事でそれをどのように進めますか、そしてなぜですか?

mnPRNGmnmn

関連するスレッド(より集中的ですが)は、
各コードブロックの前にシードを設定するか、プロジェクトごとに1回ですか?

私はおそらくこれがコミュニティーwikiであるべきだと感じています。モッドはそれについて決定してください。


4
そのStataマニュアルページは、なぜシードを使用しているのについて重要な暗黙の仮定をしています。(CVに関する私の投稿で)シードを使用する主な理由は、再現可能な例を作成することです。例が自分の好みになるまで(!)シードをいじっていないことを示すために、私は(ほとんど)常に同じシードを使用します。私は彼らが考えなければならないのとは異なる目的を持っているので(これは明言されていません)、これはスタタの助言とひどく矛盾しています。ここでの教訓は、ベストプラクティスは目的に依存するということです。
whuber

@whuber私の感想は、私が言及するドキュメントで与えられたアドバイスは、使用されるシリーズの「ランダムさ」再現性の両方を維持することを目的としているということです(彼らが言うように、プロセスの「状態」の記録を通じて)。これらの目標は、研究の目的に関係なく、どのようなセットアップでも追求する価値がありますか?
Alecos Papadopoulos 2014

1
確かにそれらは価値があります-しかし、そのマニュアルページで表現されているように、それらを明確な「すべきこと」と「すべきでないこと」にすることは正当化されません。そのような非範疇の口述の問題は、他の人(弁護士など)が、目的や状況に関係なく、反対の慣行は本質的に間違っていると考えさせられることです。統計の実践では、判断の余地を残しておくことが重要です。特に、「ベストプラクティス」のあるソフトウェアの使用に関する推奨事項を混同しないでください。
whuber

@whuber特定のソフトウェアにリンクされたドキュメントを「刺激」として使用したという事実は、「ソフトウェアの使用に関する推奨事項」についての私の質問にはなりません。提起された質問は、統計的研究を実施する際に研究者が使用するポリシーに関するものであることは明らかです。
Alecos Papadopoulos 2014

3
あなたのPRNGが良いと仮定すると、パターンでシードを設定すると違いが出るのはなぜですか?それはPRNGの要点ではありませんか?
purple51 2014年

回答:


3

価値があるのは、これは数学的分析ではなく経験に基づいていることです。

Mersenne Twisterのような受け入れられた優れたPRNGを使用し、線形合同ジェネレーターのような古いものを使用しない限り、微妙なパターンが非常に悪い暗号化を行わない限り、どのシードを設定しても違いはないと思います。私が知る限り、実際にPRNGを実行せずに、与えられたシードからどの乱数が出てくるかを知る方法はありません(それがまともなものであると仮定します)。それ以外の場合は、その新しいアルゴリズムを使用て、乱数ジェネレータ。

別の見方:モンテカルロシミュレーションの微妙なパターンは、他のモデリングの仮定によって生じるすべての測定誤差、交絡、および誤差よりも大きい可能性が高いと思いますか?

再現性のために最初に1つのランダムシードを使用し、2つの異なるアルゴリズムがまったく同じ入力データに対して同じ結果を生成することを確認する必要があるデバッグを行っていない限り、各呼び出しの前に1つは設定しません。

免責事項:原子炉、ミサイル制御システム、天気予報をシミュレートする場合、ドメインの専門家に相談するのが最善ですが、その場合は責任を負いません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.