В этом документе , касающемся команды «set seed», сотрудники Stata обсуждают вопросы, связанные с установкой seed при генерации псевдослучайных чисел.
Примечательным «не» является «не использовать последовательно последовательность натуральных чисел в качестве начальных чисел, потому что это имеет паттерн и ставит под угрозу псевдослучайность».
Только одна четверть примечательного «до» - это установить только одно начальное число в течение вашей жизни , а затем записать «состояние» сгенерированного процесса в конце каждого эксперимента, чтобы следующий эксперимент продолжался в точке где процесс остановился.
Очевидно, что приведенный выше совет зависит от ожидаемого числа псевдослучайных чисел, которые будут генерироваться в течение жизни его исследования. Возможно, твистер Мерсенна мог бы удовлетворить жизненные потребности многих исследователей ...
Сейчас у меня нет большого опыта в отношении PRNG в теории или на практике, поэтому я не могу спорить об этих предложениях - они должны быть признаны действительными или недействительными по теоретическим соображениям и строгой математической статистике.
Итак, мои вопросы
1) Можете ли вы помочь в объяснении или аннулировании приведенных выше советов или указать на ссылку, которая касается таких вопросов?
2) Можете ли вы предоставить ссылки, которые предлагают "лучшие практики" в настройке семян?
3) Как вы делаете это в своей работе и почему?
Связанный поток (хотя и гораздо более сфокусированный) - это
Set seed перед каждым блоком кода или один раз для проекта?
У меня такое чувство, что, возможно, это должна быть вики сообщества, моды, пожалуйста, решите.
источник
Ответы:
Для чего это стоит, это основано на опыте, а не на математическом анализе:
Я думаю, что если вы не занимаетесь криптографией, где тонкие шаблоны могут быть очень плохими, то, какое заданное вами начальное число не имеет значения, пока вы используете приемлемые хорошие PRNG, такие как Mersenne Twister, а не старые, такие как линейные конгруэнтные генераторы. Насколько я знаю, нет никакого способа , что вы можете сказать , что случайное число выйдет из данного семени , фактически выполнив ПСЧ (при условии , что это достойный один), в противном случае вы бы просто принять , что новый алгоритм и использование , что , как ваши генератор случайных чисел.
Другая точка зрения: считаете ли вы, что какие-либо тонкие закономерности в моделировании по методу Монте-Карло, вероятно, будут иметь большую величину, чем все ошибки измерения, спутанности и ошибки, вносимые другими предположениями моделирования?
Я бы просто использовал одно случайное начальное число в начале для воспроизводимости, а не устанавливал один перед каждым вызовом, если только я не занимаюсь отладкой, где мне нужно убедиться, что два разных алгоритма дают одинаковый результат для одинаковых входных данных.
Отказ от ответственности: если вы моделируете ядерные реакторы или системы управления ракетами или прогнозируете погоду, лучше всего проконсультироваться с экспертами в данной области, я не несу никакой ответственности в этом случае.
источник