Ссылки и лучшие практики для установки семян в генерации псевдослучайных чисел

11

В этом документе , касающемся команды «set seed», сотрудники Stata обсуждают вопросы, связанные с установкой seed при генерации псевдослучайных чисел.

Примечательным «не» является «не использовать последовательно последовательность натуральных чисел в качестве начальных чисел, потому что это имеет паттерн и ставит под угрозу псевдослучайность».

Только одна четверть примечательного «до» - это установить только одно начальное число в течение вашей жизни , а затем записать «состояние» сгенерированного процесса в конце каждого эксперимента, чтобы следующий эксперимент продолжался в точке где процесс остановился.

Очевидно, что приведенный выше совет зависит от ожидаемого числа псевдослучайных чисел, которые будут генерироваться в течение жизни его исследования. Возможно, твистер Мерсенна мог бы удовлетворить жизненные потребности многих исследователей ...

Сейчас у меня нет большого опыта в отношении PRNG в теории или на практике, поэтому я не могу спорить об этих предложениях - они должны быть признаны действительными или недействительными по теоретическим соображениям и строгой математической статистике.

Итак, мои вопросы

1) Можете ли вы помочь в объяснении или аннулировании приведенных выше советов или указать на ссылку, которая касается таких вопросов?

2) Можете ли вы предоставить ссылки, которые предлагают "лучшие практики" в настройке семян?

3) Как вы делаете это в своей работе и почему?

мNПСЧмNмN

Связанный поток (хотя и гораздо более сфокусированный) - это
Set seed перед каждым блоком кода или один раз для проекта?

У меня такое чувство, что, возможно, это должна быть вики сообщества, моды, пожалуйста, решите.

Алекос Пападопулос
источник
4
На этой странице руководства Stata содержатся важные неявные предположения о том, почему кто-то использует начальное число. Основная причина, по которой я использую семена (в своих публикациях здесь, в резюме), - создавать воспроизводимые примеры. Чтобы продемонстрировать, что я не возился с семенем, пока пример не понравился мне (!), Я (почти) всегда использую одно и то же семя. Это настолько вопиюще противоречит совету Stata, потому что у меня есть иная цель, чем они должны иметь в виду (что не указано). Мораль здесь в том, что лучшие практики зависят от цели.
whuber
@whuber Мне кажется, что совет, данный в документе, который я упоминаю, направлен на сохранение как «случайности», так и воспроизводимости используемых серий (как говорится, посредством записи «состояния» процесса). Эти цели, кажется, стоит преследовать в любой обстановке, независимо от цели исследования, нет?
Алекос Пападопулос
1
Конечно, они того стоят - но это не оправдывает превращение их в определенные «вещи» и «что нельзя», как указано на этой странице руководства. Проблема такого некатегоричного диктата заключается в том, что другие, такие как юристы, будут склонны думать, что любая противоположная практика по своей сути неверна, независимо от цели или обстоятельств. Важно оставить место для суждения в практике статистики! В частности, давайте не будем путать рекомендации по использованию программного обеспечения с «передовой практикой».
whuber
@whuber Тот факт, что я использовал в качестве «стимула» документ, связанный с определенным программным обеспечением, не заставляет задуматься о «рекомендациях по использованию программного обеспечения». Поставленные вопросы, очевидно, касаются политики, используемой исследователями при проведении статистических исследований , поэтому я не вижу здесь смущения.
Алекос Пападопулос
3
Если предположить, что ваш PRNG хорош, почему настройка семян с помощью шаблона имеет какое-то значение, не в этом ли смысл PRNG?
purple51

Ответы:

3

Для чего это стоит, это основано на опыте, а не на математическом анализе:

Я думаю, что если вы не занимаетесь криптографией, где тонкие шаблоны могут быть очень плохими, то, какое заданное вами начальное число не имеет значения, пока вы используете приемлемые хорошие PRNG, такие как Mersenne Twister, а не старые, такие как линейные конгруэнтные генераторы. Насколько я знаю, нет никакого способа , что вы можете сказать , что случайное число выйдет из данного семени , фактически выполнив ПСЧ (при условии , что это достойный один), в противном случае вы бы просто принять , что новый алгоритм и использование , что , как ваши генератор случайных чисел.

Другая точка зрения: считаете ли вы, что какие-либо тонкие закономерности в моделировании по методу Монте-Карло, вероятно, будут иметь большую величину, чем все ошибки измерения, спутанности и ошибки, вносимые другими предположениями моделирования?

Я бы просто использовал одно случайное начальное число в начале для воспроизводимости, а не устанавливал один перед каждым вызовом, если только я не занимаюсь отладкой, где мне нужно убедиться, что два разных алгоритма дают одинаковый результат для одинаковых входных данных.

Отказ от ответственности: если вы моделируете ядерные реакторы или системы управления ракетами или прогнозируете погоду, лучше всего проконсультироваться с экспертами в данной области, я не несу никакой ответственности в этом случае.

purple51
источник