Найти - Пользователи
Полная версия: Нужна помощь математиков. Про случайные числа
Начало » Python для экспертов » Нужна помощь математиков. Про случайные числа
1 2 3
Ferroman
Вот тут ещё можно почитать:
Справочник по статистическим распределениям
там с примерами описаны основные распределения.
Типы проверки генераторов случайных чисел.
Различают три типа проверки:

* на периодичность;
* на случайность;
* на равномерность.

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

1. частот;
2. пар;
3. комбинаций;
4. серий;
5. корреляции.

В первых четырех тестах осуществляется разбиение диапазона распределения на t интервалов и выполняется подсчет количества попаданий случайных чисел в выделенные интервалы. Полученное эмпирическое распределение сравнивается с теоретическим. Для сравнения используются критерии согласия Колмогорова и c2.

Тест проверки корреляции заключается в определении коэффициента корреляции. При этом выполняются следующие действия:

* запускают два генератора случайных чисел на отрезке апериодичности с некоторой разницей между собой;
* подсчитывают коэффициент корреляции между собой.

Проверка на равномерность. При поверке на равномерность можно использовать тест проверки частот, так как гистограмма хорошо отражает равномерность распределения.
Есть Diehard Battery of Tests of Randomness в исходниках - там 15 тестов чисел на случайность.
А здесь - описание этих тестов:Википедия
На rsdn есть отличный пост на эту тему.

Так же есть NIST Statistical Test Suite - тест из 16 тестов. Описание и линки можно посмотреть тут - http://infobez.com/article.asp?ob_no=1387
К сожалению, информации не на английском довольно мало :(
ZZZ
Да, забыл добавить, что мой код скорее для решения этого:
ice
то есть 1 3 7 0 5 4 6 8 9 2 - это похоже на “случайные” числа, в то время как 0 1 2 3 4 5 6 7 8 9 нет.
clopomor
мож вам краще саму функцію-генератор протестувати, а не ряд, який вона генерує???
А то результати тесту ряду не дадуть гарантії, що функція дає ряд з нормальним розподілом випадкових чисел.
Хіба у вас достатньо велика вибірка ряду, і таке вас влаштовуватиме.
Ferroman
clopomor
??? Перевірка розподілу чисел, що генерує функція - і є тестом функції. Як же її по-іншому протестуєш?
ice
Ferroman
уух сколько инфы :) Спасибо. Почитаю.

вот что по ссылкам нашел
http://ru.wikipedia.org/wiki/Парадокс_дней_рождения
Познавательно.
ice
clopomor
А я не могу проверить функцию-генератор. У меня есть только результат ее работы, зато “бесконечный” :)
Ferroman
Про такие штуки есть интересная книга - Мартин Гарднер. Гексафлексагоны и Другие Математические Развлечения. Рекомендую.
По парадоксам и интересностаям в матстате - Г. Секей. “Парадоксы в теории вероятностей и математической статистике”, её можно найти в интернете. Мне понравилась.

Даже имея функцию генератор, её всё равно нельзя проверить на правильность. Разве что на правильность реализации определённого типа генераторов. Реально проверить всё равно можно только по сгенерированной последовательности.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB