Может ли Random
быть достаточно надежным для ваших статистических испытаний, будет зависеть от контекста, в котором вы собираетесь его использовать.
Сказав это, я написал несколько фрагментов кода Delphi, которые должны выполнять правильную статистику, и использовали Random
, например. для получения различных нулевых распределений, псевдорепликаций данных и повторных попыток. До сих пор я не встречал ни одного случая в своем собственном коде, где Random
привел бы к предвзятым или ненадежным результатам или результатам, которые не позволили бы его использовать для предполагаемого статистического теста. Но то, что имеет значение для моего кода, не обязательно должно удерживаться для вас.
Если вы сомневаетесь, можете, конечно, статистически проанализировать результаты звонков на Random
(например, в R, SPSS и т. Д.) И проверить, нарушает ли распределение результатов требования распределения для ваших конкретных статистических тестов. [Если вы хороший ученый, это то, что вы должны делать в любом случае.]
Если вам нужны другие PRNG - e.г. библиотека TPMath содержит некоторые. (Для более сложных вещей, есть также возможность вызова сложных статистических функций из R с помощью Delphi.)
Имея семена функции рандомизации является совсем не редкость - вы должны сделать то же самое с твистером Мерсен. –
И возможность посеять случайную функцию часто является большой выгодой. Используя одно и то же семя, вы можете дублировать свои результаты, что может оказать большую помощь, например, при отладке. –
Существует прекрасное обсуждение этой темы в главе 6 книги Джулиана Бакналла «Tomes of Delphi: алгоритмы и структуры данных» (www.boyet.com) –