English
!

Доклады

Генератор произвольно распределённых многомерных случайных чисел на языке программирования Python

Мещеряков В.В.

Колледж «Царицыно», Россия, 115563, Москва, ул. Генерала Белова 6, Тел.: 8(495)393-89-58

Для моделирования многофакторных стохастических систем разработан генератор произвольно распределённых многомерных случайных чисел на языке программирования Python с привлечением модуля поддержки многомерных массивов NumPy.

Программное решение для генератора основано на методе Монте-Карло [1] – наиболее эффективном средстве для создания генераторов случайных чисел с произвольными статистическими распределениями. В основе решения – оценка значений обратной кумулятивной функции по заданным функциям маргинальных плотностей вероятностей при засыпке многофакторного пространства равномерно распределёнными случайными точками, генерируемыми либо линейным конгруэнтным алгоритмом (D.H. Lehmer, [2]), либо генератором «Вихрь Мерсенна» (M. Matsumoto, T. Nishimura, [3]).

Тестирование генератора проводилось на примерах генератора с нестандартными равномерными распределениями по графическим оценкам одно- и двумерных гистограмм и генератора со стандартными нормальными распределениями по частотным оценкам положительных и отрицательных чисел. Тесты показали удовлетворительные результаты для случайных чисел распределённых в гиперкубе с размерностями от 3 до 20.

Разработанный генератор может быть использован для проведения модельного многофакторного эксперимента и тестирования алгоритмов кластеризации [4].

1. James E. Gentle, Random Number Generation and Monte Carlo Methods, New York, Springer, 2005.

2. Кнут Д. Э., Искусство программирования. Том 2. Получисленные методы — Вильямс. 2001. с.21-37

3. Вихрь Мерсенна, https://ru.wikipedia.org/wiki/Вихрь_Мерсенна

4. Бильгаева Л.П., Самбялов З.Г., Оценка качества алгоритмов кластеризации, Вестник ВСГУТУ, 2013, №6, 53 – 60.

© 2004 Дизайн Лицея Информационных технологий №1533