Посилання та кращі практики для встановлення насіння в псевдовипадковій генерації чисел


11

У цьому документі , що стосується команди "встановити насіння", люди статистики обговорюють питання, пов'язані із встановленням насіння при генерації псевдовипадкових чисел.

Помітним "не" є "не використовувати серійно послідовність натуральних чисел як насіння, тому що це має закономірність і загрожує псевдовипадковістю".

Лише одна чверть жартівливо помітною "робити" - це встановити лише одне насіння протягом свого життя , а потім записати "стан" згенерованого процесу в кінці кожного експерименту, щоб наступний експеримент продовжувався в точці де процес зупинився.

Очевидно, що вищевказані поради залежать від очікуваного підрахунку псевдовипадкових чисел, які буде генеруватися у процесі дослідження. Можливо, твістер Мерсенна покрив би життєві потреби багатьох дослідників ...

Зараз я не має великого досвіду щодо PRNG в теорії чи на практиці, тому я не можу сперечатися з приводу цих пропозицій - вони повинні бути доведеними чи недійсними на теоретичних підставах та жорсткій математичній статистиці.

Отже, мої запитання є

1) Чи можете ви допомогти пояснити чи визнати недійсними поради, наведені вище, або вказати на посилання, яке стосується таких питань?

2) Чи можете ви надати посилання, які пропонують "кращі практики" щодо встановлення насіння?

3) Як ти це робиш у власній роботі і чому?

Як приклад для запитання 3), припустимо, що для дослідження в Монте-Карло, ви хочете генерувати вибірок кожного розміру , і що ваш має період, що перевищує . Ви б генерували всі псевдовипадкові числа одним насінням, або у вас є звичка змінювати насіння, скажімо, за зразком? (але це лише для ілюстрації. Я вважаю, що тут більш варті загальних відповідей). mnPRNGmnmn

Пов'язаний потік (хоча набагато більш сфокусований)
задає насіння перед кожним блоком коду або один раз на проект?

У мене таке відчуття, мабуть, має бути вікі спільноти, модники, будь ласка, вирішуйте це.


4
На цій сторінці посібника із статистичних даних є важливі неявні припущення щодо того, для кого використовується насіння. Основна причина, по якій я використовую насіння (у своїх публікаціях тут на CV), - це створити відтворювані приклади. Для того, щоб продемонструвати, що я не посварився з насінням, поки приклад мені не сподобався (!), Я (майже) завжди використовую одне і те ж насіння. Це настільки суттєво суперечить пораді Stata, оскільки я маю інше призначення, ніж вони повинні мати на увазі (що є незмінним). Мораль тут полягає в тому, що найкращі практики залежать від мети.
whuber

@whuber Моє відчуття полягає в тому, що поради, наведені в документі, який я згадую, спрямовані на збереження як "випадковості", так і відтворюваності використовуваних серій (через запис "стану" процесу, як кажуть). Ці цілі, здається, варто домагатися в будь-якій організації, незалежно від мети дослідження, ні?
Алекос Пападопулос

1
Впевнені, що вони варті - але це не виправдовує перетворення їх на певні "дос" та "не", як це виражено на цій сторінці керівництва. Проблема з таким категоричним диктом полягає в тому, що інші - такі як адвокати - будуть спонукані думати, що будь-яка протилежна практика по суті є неправильною, незалежно від мети чи обставин. Важливо залишити місце для судження в практиці статистики! Зокрема, не будемо плутати рекомендації щодо використання програмного забезпечення із "найкращими методами".
whuber

@whuber Той факт, що я використовував як "стимул" документ, пов'язаний із конкретним програмним забезпеченням, не викликає мого питання про "рекомендації щодо використання програмного забезпечення". Поставлені питання, очевидно, стосуються політики, яку використовують дослідники при проведенні статистичних досліджень , тому я не бачу тут ніякого заплутування.
Алекос Пападопулос

3
Якщо припустити, що ваш PRNG хороший, то чому б встановлення насіння з малюнком не мало значення, хіба це не вся суть PRNG?
purple51

Відповіді:


3

Для чого це варто, це базується на досвіді, а не на математичному аналізі:

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

Інша перспектива: чи вважаєте ви, що будь-які тонкі зразки у вашому моделюванні Монте-Карло, ймовірно, мають більшу величину, ніж усі помилки вимірювання, заплутаність та помилки, що вводяться іншими припущеннями моделювання?

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

Відмова від відповідальності: якщо ви моделюєте ядерні реактори або системи управління ракетами або прогнозуєте погоду, краще проконсультуватися з доменними експертами, я в цьому випадку не несу відповідальності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.