УДК 519.24
В. Ф. Первушин, Н. А. Сергеева, А. В. Стрельников ПРЕЦИЗИОННЫЙ ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ
Рассматривается алгоритм генерации выборки случайной величины, имеющей заданный закон распределения и численные характеристики (математическое ожидание, дисперсию и т. д.). Показывается высокая точность работы алгоритма на численных примерах моделирования выборки. Общая концепция генерации выборки позволяет выделить данный подход в отдельную категорию алгоритмов генерации случайных чисел, что повлекло объединение таких алгоритмов под названием «прецизионный генератор случайных чисел».
Ключевые слова: случайная величина, закон распределения, числовые характеристики, вероятность события, частота события, объем выборки, гистограмма.
Тему разработок, о которых пойдет речь в данной статье, подсказала задача стохастического моделирования. Если модель построена адекватно физическому процессу, то на ней можно проводить численные эксперименты, связанные с изучением поведения объекта или процесса при изменении входных параметров и влияния внешних воздействии. Также немаловажно более глубоко изучить физические и математические связи внутри самого процесса, найти закономерности и установить меру взаимного влияния параметров и переменных объекта, получить новые качественные знания о процессе, восполнить потерянные или неточные данные. Все эти задачи бывает затруднительно, а порой и невозможно изучать на реальном объекте. Понятно, что некоторые ситуации, если их реализовать на практике, потребуют временных и материальных затрат, изменения хода всего процесса или даже режима работы объекта, чего зачастую допустить нельзя. Именно в таких случаях важность задачи имитационного моделирования становится наиболее значимой. Ведь на модели можно реализовать различные ситуации, в том числе и нетипичные для данного процесса или объекта, и провести наблюдение за его поведением при измененных параметрах входа или зависимостях интересующих исследователей показателей.
Ниже предлагается общая схема процесса, принятая в теории идентификации [1] (рис. 1). Здесь приняты следующие обозначения: х^) - векторная выходная переменная процесса; и^) - векторное управляющее воздействие; ) - векторная входная переменная процесса; ю' (/): ' = 1,2,..., k - переменные процесса, контролируемые по длине объекта; ^(7) -
векторное случайное воздействие; ^ заключенное в круглые скобки, - непрерывное время; Н со значком вверху - каналы связи, соответствующие различным переменным и включающие в себя средства контроля, приборы для измерения наблюдаемых переменных; значок t внизу переменных х, ю,и, ц означает дискретное время; h(t) - со значком вверху - случайные помехи измерений соответствующих переменных процесса. Контроль переменных х, ю,и, ц осуществляется через интервал времени At, т. е. X', ю',..., ю* , и1, Ц, где ' = 1, 5 - выборка измерений
переменных процесса (х1, ю|,..., ю^1, и1, ц1),
(^ ^ ..., юk2, ^ Ц2 ) , ..., (X , ю5 , ..., ^ , и5 , Ц ) , ..., здесь 5 - объем выборки.
Материалы, представленные в данной статье, имеют непосредственное отношение к величинам h(t). Речь пойдет о моделировании случайных помех, имеющих определенный закон распределения и числовые характеристики.
Приведем далее некоторые размышления о методе статистического моделирования и его месте в научных исследованиях. Метод статистического моделирования широко используется в разнообразных задачах кибернетики для исследования алгоритмов идентификации, распознавания образов, управления и т. д. В последние годы появилось много эвристических алгоритмов, прежде всего в связи с тем, что новые формулировки задач не поддаются строгой математической постановке. А это, как правило, означает отсутствие процедуры аналитического синтеза тех или иных алгоритмов, доказательство соответствующих теорем сходимости, наличие которых ранее считалось мерой истинности, правильности и основанием того, что дальнейшие действия являются правомерными. В этой связи метод статистического моделирования следует считать доказательным этапом, а не иллюстрацией работы тех или иных алгоритмов. Последнее существенно повышает требования к проведению подобных исследований. Определяющей здесь является возможность повторения определенного цикла численных экспериментов другими исследователями.
Во многих случаях на этом пути безусловно важной является необходимость работы со случайными помехами, распределенными по конкретному закону, а не просто с датчиками случайных чисел, о которых говорят, что они распределены по равномерному, нормальному либо какому-то другому закону. Как оказалось на практике, существующие генераторы случайных чисел весьма условно можно назвать соответствующими заявленным законам распределения. Особенно заметно отклонение на выборках небольших объемов. Все классические алгоритмы генерации [2] верны прежде всего на бесконечно большом объеме выборки, ведь все теоремы сходимости содержат формулировку «Пусть объем выборки стремится в бесконечность» или тому подобное допущение. Однако если объем выборки и достаточен для того, чтобы
служить основой для построения модели, то он все равно далек от того, чтобы применить к нему термин «бесконечный». Это говорит о том, что следует задуматься о создании алгоритмов генерации конечной выборки случайной величины и способ создания такой величины будет существенно отличаться от классического подхода. Мы ни в коем случае не спорим с классикой, однако нам хотелось бы больше внимания уделить задачам практики и увязать классический подход с прикладными задачами.
При исследовании многих стохастических процессов предполагается, что плотность вероятности случайных факторов (помех) подчиняется какому-либо закону. В частности, что ошибка измерения электрических и неэлектрических величин электрическими способами подчиняется нормальному закону, в задачах теории надежности используется распределение Вейбулла (интенсивность отказа), логнормальное распределение характерно для многих физических и социально-экономических ситуаций (размер и вес частиц, образующихся при дроблении; заработная
плата работника; размеры космических образований; долговечность изделия, работающего в режиме износа и старения, и др.) [3].
Для того чтобы сгенерировать множество случайных точек, свойства которых подчиняются одному из известных законов распределения, необходимо задать закон распределения и его параметры, количественно характеризующие случайную величину, такие как математическое ожидание, среднеквадратическое отклонение, мода и др., и определить количество случайных точек.
Рассмотрим генерацию множества точек для одномерной случайной величины (рис. 2).
Пусть необходимо сгенерировать статистически независимую выборку случайной величины X с плотностью вероятности распределения /(х,тх,стх,...). Обозначим через п количество генерируемых точек, т. е. объем будущей выборки. Далее зададим интервал [а, Ь], на котором будет генерироваться выборка.
Рис. 1. Схема процесса
Выборка генерируемых точек должна наиболее полно охватывать всю область возможных значений, но по понятным причинам следует отрезать «хвосты» распределения, где вероятность выпадения значений X становится малой. В этом случае нужно определить этот порядок малости и, например, принять к получению выборки тот интервал, внутри которого f (х, тх, стх,...) не меньше некоторого значения. Определим это значение пропорционально
•/тах( X тх , СТх ,...):
f (x = a, mx , а x ,...) = f (x = b, mx , а x ,..) =
(1)
= 0,01• X тх , СТ х ,-)-
Для распределений, которые начинаются от х = 0, соответственно примем а = 0, а Ь получим из вышеприведенных рассуждений. Если границы интервалов не удается определить аналитически, то можно применить любые численные процедуры решения нелинейного уравнения. Для нахождения экстремума распределения также могут потребоваться численные методы, если это невозможно сделать аналитически.
Весь интервал разобьем на множество равных подынтервалов [а = х0, х1,..., хк = Ь]. Количество интервалов, равное к, будет задаваться пользователем. Внутри каждого подынтервала среднее значение функции плотности определяется по формуле
f(xj-1)+f(xj) Л
--------2-------= f (x,>,
(2)
где х] е [ х! _1, х! ].
Вероятность попадания случайной величины X в ]-й интервал есть площадь, ограниченная функцией плотности на отрезке [х1 _1, х1 ]. Обозначим ее
через pJ :
P(xj-і < X < x ) = p =
f (xj-i) + f (xj ) ( , (3)
----------2-( xj - xj-i). (3)
Pj =■
n
(4)
= [ Pj •n].
В данном случае качество встроенного генератора случайных чисел становится некритичным.
Совокупность точек, полученных описанным выше способом на всех интервалах, образует выборку случайной величины X, распределенной по заданному закону f(x,mx,стх,...), и обладает всеми требуемыми значениями параметров. Выбор точек из представленного набора значений может производиться также любой встроенной функцией извлечения данных из массива значений.
Необходимо проверить, что полученная выборка чисел действительно имеет требуемый закон распределения и обладает нужными характеристиками, для чего по этой выборке строится гистограмма распределения, которая сравнивается с заказанной функцией плотности.
Приведем результаты численного моделирования предложенного алгоритма и оценки характеристик случайной величины по сгенерированной выборке.
Рассмотрим случайную величину, распределенную по логнормальному закону X ~ log N (ц, ст2),
ц = 0, ст2 = 0,5 [4; 5]. Плотность и закон распределения логнормального закона имеют вид
f (X, ц а) =
1
л/2лX а 0, X < 0
exp
^-(lnX -ц)2 ^ 2а2
X > 0,
л.
F (X, ц, а) = J f (t, ц, а) dt.
(6)
На основании закона больших чисел с ростом объема выборки значений случайной величины п частота наступления случайного события стремится к вероятности этого события. Тогда можно принять, что
п.
где п] - количество попадании значении случайной величины X в интервал [хі_1; хі ] из общего объема значений.
Определим количество точек пі, которые нужно поместить в интервал [ хІХ, хі ] для того, чтобы сгенерированная выборка соответствовала заданному закону распределения (например, равномерному закону или любой встроенной функции генерации конкретного языка программирования):
Оценка плотности распределения, приведенная на рис. 3, построена на основе выборки объемом 5 = 100, количество подынтервалов к = 20. Выборочные оценки параметров закона распределения, усредненные по 1 000 экспериментам, составили
Д = _0,002, ст2 = 0,49.
График, приведенный на рис. 4, построен на основе выборки объемом 5 = 500, количество подынтервалов к = 30. Выборочные оценки параметров закона распределения, также усредненные по 1 000 экспериментам, составили Д = _0,011, ст2 = 0,497.
Далее рассмотрим случайную величиу, распределенную по двухпараметрическому закону Вейбулла [4; 6]. Этот закон и плотность его распределения имеют вид
F (X, a, b ) = ■
1 - е у b 1 I0, X < 0,
, X > 0,
f (X, a, b ) =
l е
b ^ b
0, X < 0,
, X > 0,
(5) где a - параметр формы; b - параметр масштаба.
n
/(X)
X
Рис. 3. Плотность распределения логнормального закона и ее оценка: 5 = 100; к = 20
/(
X
Рис. 4. Плотность распределения логнормального закона и ее оценка: 5 = 500; к = 30
Рис. 5. Функция плотности распределения Вейбулла и ее оценка: объем генерируемой выборки 5 = 100; количество подынтервалов к = 12; истинные значения параметров
а = 2, Ь = 1; выборочные значения параметров а = 1,991, Ь = 1
Рис. 6. Функция плотности распределения Вейбулла и ее оценка: объем генерируемой выборки 5 = 500; количество подынтервалов к = 30; истинные значения параметров
а = 2, Ь = 1; выборочные значения параметров а = 2,012, Ь = 0,994
В результате проведения экспериментов получены следующие графики (рис. 5, 6).
Построим гистограммы для логнормального распределения (рис. 7, 8) и распределения Вейбулла (рис. 9, 10).
Рис. 7. Гистограмма для логнормального закона: параметры д = 0, ст2 = 0,5; объем выборки п = 100, количество подынтервалов к = 20
Рис. 8. Гистограмма для логнормального закона: параметры д = 0, ст2 = 0,5; объем выборки п = 500, количество подынтервалов к = 30
Рис. 9. Гистограмма закона Вейбулла параметры а = 2, Ь = 1; объем выборки п = 100, количество подынтервалов к = 12
Рис. 10. Гистограмма закона Вейбулла: параметры а = 2, Ь = 1; объем выборки п = 500, количество подынтервалов к = 30
Дальнейшее развитие исследований касается построения генераторов для как можно большего количества известных функций распределения, изучения свойств сходимости каждого конкретного распределения, точности оценок числовых параметров распределения и случайной величины.
Библиографические ссылки
1. Медведев А. В. Теория непараметрических систем. Моделирование // Вестник СибГАУ. 2010. Вып. 4. С. 4-9.
2. Ермаков С. М., Михайлов Г. А. Курс статистического моделирования. М. : Наука, 1976.
3. Фадеева Л. Н. Математика для экономистов: Теория вероятностей и математическая статистика. М. : Эксмо, 2006.
4. Вероятность и математическая статистика : энциклопедия / под ред. Ю. В. Прохорова М. : Большая Рос. энцикл., 2003.
5. Первушин В. Ф., Сергеева Н. А. Генератор случайных чисел, распределенных по логнормальному закону II Решетневские чтения : материалы XIII Меж-дунар. науч. конф. : в 2 ч. Ч. 2 I Сиб. гос. аэрокосмич. ун-т. Красноярск, 2009. С. 448-449.
6. Сергеева Н. А., Стрельников А. В. Генератор случайных чисел, распределенных по закону Вейбул-ла II Решетневские чтения : материалы XIII Между-нар. науч. конф. : в 2 ч. Ч. 2 I Сиб. гос. аэрокосмич. ун-т. Красноярск, 2009. С. 451-453.
V. F. Pervushin, N. A. Sergeeva, A. V. Strelnikov THE RANDOM SELECTION PRECISION GENERATOR
The algorithm of random value selection with adjusted distributions generation and numerical characteristics is considered (mathematical estimation, dispersion etc.). The algorithm proceedings of high precisions is showed on calculated examples of selection modeling. The selection generation common concept allows to extract this approach to the special category of random value generation algorithms. It was joined to the term "The Random selection precision generator".
Keywords: random value, retribution law, numeric characteristics, event probability, event frequency, selection size, bar chart.
© Первушин В. Ф., Сергеева Н. А., Стрельников А. В., 2010
УДК 519.6
В. Б. Бериков
АЛГОРИТМ АДАПТИВНОГО ПЛАНИРОВАНИЯ АНСАМБЛЯ ТАКСОНОМИЧЕСКИХ ДЕРЕВЬЕВ РЕШЕНИЙ*
Рассматривается подход к решению задач кластерного анализа, основанный на применении ансамбля таксономических деревьев решений. Предлагается алгоритм адаптивного планирования ансамбля, использующий расстояния между логическими высказываниями, описывающими кластеры. Приводятся результаты статистического моделирования, подтверждающие эффективность алгоритма.
Ключевые слова: кластерный анализ, ансамбль, дерево решений.
Одной из актуальных проблем кластерного анализа (таксономии, автоматической классификации «без учителя») является группировка объектов, описываемых разнотипными (количественными или качественными) переменными. Другая актуальная проблема связана с повышением устойчивости группировочных решений, так как в большинстве алгоритмов кластерного анализа результаты могут сильно меняться в зависимости от выбора начальных условий, порядка объектов, параметров работы алгоритма и т. п.
Наиболее перспективный подход к кластерному анализу при наличии разнотипных переменных основан на применении деревьев решений, которые позволяют получать легко интерпретируемую логическую модель группировки, выделять наиболее информа-
тивные факторы и не требуют задания метрики в разнотипном пространстве. Особенностью логиковероятностного подхода, основанного на деревьях решений, является возможность не только разбивать заданное множество объектов на кластеры, но и строить иерархическое дерево, описывающее структуру разбиения.
Повысить устойчивость кластеризации можно с помощью ансамблей алгоритмов. При этом используются результаты группировки, полученные различными алгоритмами или одним алгоритмом, но с различными параметрами настройки, по различным подсистемам переменных и т. д. После построения ансамбля проводится нахождение итогового коллективного решения. Такой способ описан, например, в работе [1].
*Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (проекты 08-07-00136а, 10-01 -00113а, 09-07-12087-ой_ш) и Междисциплинарного интеграционного проекта Сибирского отделения Российской академии наук № 83.