Программные продукты и системы, 2024, том 37, № 2
международный научно-практический журнал
Бесплатно
Новинка
Основная коллекция
Издательство:
НИИ Центрпрограммсистем
Наименование: Программные продукты и системы
Год издания: 2024
Кол-во страниц: 166
Дополнительно
Тематика:
ББК:
УДК:
ОКСО:
- 02.00.00: КОМПЬЮТЕРНЫЕ И ИНФОРМАЦИОННЫЕ НАУКИ
- 09.00.00: ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
- 10.00.00: ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Научно-исследовательский институт «Центрпрограммсистем» Программные продукты и системы НАУЧНЫЙ ЖУРНАЛ 2024, том 37, № 2 (год издания тридцать седьмой) Главный редактор Г.И. САВИН, академик РАН SOFTWARE & SYSTEMS Research Journal 2024, vol. 37, no. 2 Editor-in-Chief G.I. SAVIN, Academician of the Russian Academy of Sciences Research Institute CENTERPROGRAMSYSTEM
Издатель НИИ «Центрпрограммсистем» (г. Тверь, Россия) Учредитель В.П. Куприянов Журнал зарегистрирован в Роскомнадзоре 3 марта 2020 г. Регистрационное свидетельство ПИ № ФС 77-77843 ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ Научный журнал 2024. Т. 37. № 2 DOI: 10.15827/0236-235X.142 Главный редактор Подписной индекс в каталоге Урал-Пресс 70799 Г.И. САВИН, академик РАН Научные редакторы номера: ISSN 0236-235X (печатн.) ISSN 2311-2735 (онлайн) Б.М. ШАБАНОВ, д.т.н., чл.-корр. РАН С.В. УЛЬЯНОВ, д.ф.-м.н., профессор РЕДАКЦИОННАЯ КОЛЛЕГИЯ Семенов Н.А. – заместитель главного редактора, д.т.н., профессор Тверского государственного технического университета (г. Тверь, Россия) Сотников А.Н. – заместитель главного редактора, д.ф.-м.н., профессор, заместитель директора Межведомственного суперкомпьютерного центра РАН (г. Москва, Россия) Афанасьев А.П. – д.ф.-м.н., профессор Московского физико-технического института (технического университета), заведующий Центром распределенных вычислений Института проблем передачи информации РАН (г. Москва, Россия) Баламетов А.Б. – д.т.н., профессор Азербайджанского научно-исследовательского и проектно-изыскательского института энергетики (г. Баку, Азербайджан) Борисов В.В. – д.т.н., профессор филиала Национального исследовательского университета «МЭИ» в г. Смоленске (г. Смоленск, Россия) Голенков В.В. – д.т.н., профессор Белорусского государственного университета информатики и радиоэлектроники (г. Минск, Беларусь) Елизаров А.М. – д.ф.-м.н., профессор Института математики и механики им. Н.И. Лобачевского Казанского федерального университета (г. Казань, Россия) Еремеев А.П. – д.т.н., профессор Национального исследовательского университета «МЭИ» (г. Москва, Россия) Кузнецов О.П. – д.т.н., профессор Института проблем управления РАН (г. Москва, Россия) Мамросенко К.А. – к.т.н., доцент Московского авиационного института (Национального исследовательского университета), руководитель Центра визуализации и спутниковых информационных технологий НИИСИ РАН (г. Москва, Россия) Палюх Б.В. – д.т.н., профессор Тверского государственного технического университета (г. Тверь, Россия) Сулейманов Д.Ш. – академик АН Республики Татарстан, д.т.н., профессор Казанского государственного технического университета (г. Казань, Россия) Татарникова Т.М. – д.т.н., доцент, профессор Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И. Ульянова (Ленина) (г. Санкт-Петербург, Россия) Ульянов С.В. – д.ф.-м.н., профессор, ведущий научный сотрудник Объединенного института ядерных исследований (г. Дубна, Россия) Хорошевский В.Ф. – д.т.н., профессор Московского физико-технического института (технического университета) (г. Москва, Россия) Шабанов Б.М. – д.т.н., чл.-корр. РАН, директор Межведомственного суперкомпьютерного центра РАН (г. Москва, Россия) Язенин А.В. – д.ф.-м.н., профессор Тверского государственного университета (г. Тверь, Россия) АССОЦИИРОВАННЫЕ ЧЛЕНЫ РЕДАКЦИИ Дата выхода в свет 16.06.2024 г. Отпечатано ИПП «Фактор и К» Россия, 170100, г. Тверь, ул. Крылова, д. 26 Выпускается один раз в квартал Год издания тридцать седьмой Формат 6084 1/8. Объем 164 стр. Национальный исследовательский университет «МЭИ», г. Москва, Россия Технологический институт Южного федерального университета, г. Таганрог, Россия Тверской государственный технический университет, г. Тверь, Россия АДРЕС ИЗДАТЕЛЯ И РЕДАКЦИИ Россия, 170024, г. Тверь, просп. Николая Корыткова, д. 3а Телефон (482-2) 39-91-49 Факс (482-2) 39-91-00 E-mail: red@cps.tver.ru Сайт: www.swsys.ru Заказ № 5. Тираж 1000 экз. Цена 550,00 руб.
Publisher Research Institute CENTERPROGRAMSYSTEM (Tver, Russian Federation) Founder V.P. Kupriyanov The journal is registered with the Federal Service SOFTWARE & SYSTEMS Research Journal 2024, vol. 37, no. 2 DOI: 10.15827/0236-235X.142 Editor-in-chief for Supervision of Communications, Information Technology and Mass Communications (Roskomnadzor) March 3rd, 2020 G.I. SAVIN, Academician of RAS Science editors of the issue: Registration certificate ПИ № ФС 77-77843 B.M. Shabanov, Dr.Sc. (Engineering), Corresponding Member of the RAS ISSN 0236-235X (print) ISSN 2311-2735 (online) S.V. Ulyanov, Dr.Sc. (Physics and Mathematics), Professor EDITORIAL BOARD Semenov N.A. – Deputy Editor-in-Chief, Dr.Sc. (Engineering), Professor of the Tver State Technical University (Tver, Russian Federation) Sotnikov A.N. – Deputy Editor-in-Chief, Dr.Sc. (Physics and Mathematics), Professor, Deputy Director of the Joint Supercomputer Center of the Russian Academy of Sciences (Moscow, Russian Federation) Afanasiev A.P. – Dr.Sc. (Physics and Mathematics), Professor of the Moscow Institute of Physics and Technology, Head of Centre for Distributed Computing of Institute for Information Transmission Problems (Moscow, Russian Federation) Balametov A.B. – Dr.Sc. (Engineering), Professor of the Azerbaijan Scientific-Research & Design-Prospecting Power Engineering Institute (Baku, Azerbaijan) Borisov V.V. – Dr.Sc. (Engineering), Professor of the MPEI Branch in Smolensk (Smolensk, Russian Federation) Golenkov V.V. – Dr.Sc. (Engineering), Professor of the Belarusian State University of Informatics and Radioelectronics (Minsk, Republic of Belarus) Elizarov A.M. – Dr.Sc. (Physics and Mathematics), Professor of the N.I. Lobachevsky Institute of Mathematics and Mechanics of the Kazan Federal University (Kazan, Russian Federation) Eremeev A.P. – Dr.Sc. (Engineering), Professor of the National Research University Moscow Power Engineering Institute (Moscow, Russian Federation) Kuznetsov O.P. – Dr.Sc. (Engineering), Professor of the Institute of Control Sciences of the Russian Academy of Sciences (Moscow, Russian Federation) Mamrosenko K.A. – Ph.D. (Engineering), Associate Professor of the Moscow Aviation Institute (National Research University), Head of the Center of Visualization and Satellite Information Technologies SRISA RAS (Moscow, Russian Federation) Palyukh B.V. – Dr.Sc. (Engineering), Professor of the Tver State Technical University (Tver, Russian Federation) Suleimanov D.Sh. – Academician of TAS, Dr.Sc. (Engineering), Professor of the Kazan State Technical University (Kazan, Russian Federation) Tatarnikova T.M. – Dr.Sc. (Engineering), Associate Professor, Professor of the St. Petersburg Electrotechnical University LETI (St. Petersburg, Russian Federation) Ulyanov S.V. – Dr.Sc. (Physics and Mathematics), Professor of the Dubna International University for Nature, Society and Man (Dubna, Russian Federation) Khoroshevsky V.F. – Dr.Sc. (Engineering), Professor of the Moscow Institute of Physics and Technology (Moscow, Russian Federation) Shabanov B.M. – Dr.Sc. (Engineering), Corresponding Member of the RAS, Director of the Joint Supercomputer Center of the Russian Academy of Sciences (Moscow, Russian Federation) Yazenin A.V. – Dr.Sc. (Physics and Mathematics), Professor of the Tver State University (Tver, Russian Federation) ASSOCIATED EDITORIAL BOARD MEMBERS National Research University Moscow Power Engineering Institute, Moscow, Russian Federation Technology Institute at Southern Federal University, Taganrog, Russian Federation Tver State Technical University, Tver, Russian Federation Release date 16.06.2024 Printed in printing-office Faktor i K Krylova St. 26, Tver, 170100, Russian Federation Published quarterly. 37th year of publication Format 6084 1/8. Circulation 1000 copies EDITORIAL BOARD AND PUBLISHER OFFICE ADDRESS Nikolay Korytkov Ave, 3а, Tver, 170024, Russian Federation Phone: (482-2) 39-91-49 Fax: (482-2) 39-91-00 E-mail: red@cps.tver.ru Website: www.swsys.ru Prod. order № 5. Wordage 164 pages. Price 550,00 rub.
Вниманию авторов Журнал «Программные продукты и системы» публикует материалы научного и научно-практического характера по новым информационным технологиям, результаты академических и отраслевых исследований в области использования средств вычислительной техники. Практикуются выпуски тематических номеров по искусственному интеллекту, системам автоматизированного проектирования, по технологиям разработки программных средств и системам защиты, а также специализированные выпуски, посвященные научным исследованиям и разработкам отдельных вузов, НИИ, научных организаций. Журнал «Программные продукты и системы» внесен в Перечень ведущих рецензируемых научных журналов и изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соискание ученых степеней кандидата и доктора наук. Информация об опубликованных статьях по установленной форме регулярно предоставляется в систему РИНЦ, в CrossRef и в другие базы и электронные библиотеки. Журнал «Программные продукты и системы» включен в ядро коллекции РИНЦ, размещенное на платформе Web of Science в виде базы данных RSCI. Автор статьи отвечает за подбор, оригинальность и точность приводимого фактического материала. При перепечатке ссылка на журнал обязательна. Статьи публикуются бесплатно. Условия публикации К рассмотрению принимаются оригинальные материалы, отвечающие редакционным требованиям и соответствующие тематике журнала. Группы научных специальностей: 1.2. Компьютерные науки и информатика 1.2.1. Искусственный интеллект и машинное обучение (физико-математические науки). 1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки, технические науки). 2.3. Информационные технологии и телекоммуникации 2.3.1. Системный анализ, управление и обработка информации, статистика (технические науки, физикоматематические науки). 2.3.2. Вычислительные системы и их элементы (технические науки). 2.3.3. Автоматизация и управление технологическими процессами и производствами (технические науки). 2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей (технические науки, физико-математические науки). 2.3.6. Методы и системы защиты информации (технические науки, физико-математические науки). 2.3.7. Компьютерное моделирование и автоматизация (технические науки, физико-математические науки). 2.3.8. Информатика и информационные процессы (технические науки). Работа представляется в электронном виде в формате Word. Объем статьи вместе с иллюстрациями – не менее 10 000 знаков. Диаграммы, схемы, графики должны быть доступными для редактирования (Word, Visio, Excel). Заголовок должен быть информативным; сокращения, а также терминологию узкой тематики желательно в нем не использовать. Количество авторов на одну статью – не более четырех, количество статей одного автора в номере, включая соавторство, – не более двух. Список литературы, наличие которого обязательно, должен включать не менее 10 пунктов. Необходимы также содержательная структурированная аннотация (не менее 200 слов), ключевые слова (7–10) и индекс УДК. Название статьи, аннотация и ключевые слова должны быть переведены на английский язык (машинный перевод недопустим), а фамилии авторов, названия и юридические адреса организаций (если нет официального перевода) – транслитерированы по стандарту BGN/PCGN. Вместе со статьей следует прислать экспертное заключение о возможности открытого опубликования материала и авторскую справку. Обзательно соблюдение автором договора (публичной оферты). Порядок рецензирования Все статьи, поступающие в редакцию (соответствующие тематике и оформленные согласно требованиям к публикации), подлежат двойному слепому рецензированию в течение месяца с момента поступления, рецензия отправляется авторам. В редакции сформирован устоявшийся коллектив рецензентов, среди которых члены редколлегии журнала, эксперты из числа крупных специалистов в области информатики и вычислительной техники ведущих вузов страны, а также ученые и специалисты НИИСИ РАН, МСЦ РАН (г. Москва) и НИИ «Центрпрограммсистем» (г. Тверь). Редакция журнала «Программные продукты и системы» в своей работе руководствуется сводом правил Кодекса этики научных публикаций, разработанным и утвержденным Комитетом по этике научных публикаций (Committee on Publication Ethics – COPE).
Программные продукты и системы / Software & Systems 37(2), 2024 УДК 519.23, 303.717 doi: 10.15827/0236-235X.142.137-145 2024. Т. 37. № 2. С. 137–145 Вычисления обратных функций распределений: алгоритмы и программы Л.В. Агамиров 1, 2, В.Л. Агамиров 1, 2, В.А. Вестяк 1 1 Московский авиационный институт (Национальный исследовательский университет), г. Москва, 125993, Россия 2 Московский технический университет связи и информатики (МТУСИ), г. Москва, 111024, Россия Ссылка для цитирования Агамиров Л.В., Агамиров В.Л., Вестяк В.А. Вычисления обратных функций распределений: алгоритмы и программы // Программные продукты и системы. 2024. Т. 37. № 2. С. 137–145. doi: 10.15827/0236-235X.142.137-145 Информация о статье Группа специальностей ВАК: 1.2.2 Поступила в редакцию: 06.10.2023 После доработки: 13.11.2023 Принята к публикации: 21.11.2023 Аннотация. Точный расчет ряда функций распределения случайных переменных в прикладных задачах математической статистики вызывает существенные вычислительные трудности, обусловленные наличием бесконечных пределов интегрирования, необходимостью минимизации целевых функций и отсутствием удовлетворительных аппроксимаций. Для решения поставленных задач авторами данной статьи получены точные аналитические соотношения, позволяющие производить численное интегрирование функций распределения коэффициента вариации и нецентрального распределения Стьюдента, сводящееся к вычислению однократных интегралов. Обратные функции распределения определяются минимизацией на основе симплекс-метода Нелдера–Мида. Аналогично решается задача точного вычисления числовых характеристик порядковых статистик. Разработаны алгоритмы и программы на Javascript с открытым кодом для реализации указанных вычислительных задач. Расчеты иллюстрируются графиками и таблицами, в которых представлены результаты вычисления квантилей нецентрального t-распределения Стьюдента в диапазоне объемов выборки от 3 до 50, вероятностей от 0,01 до 0,99 и доверительных вероятностей 0,9, 0,95 и 0,99. Время расчета в полном диапазоне всех параметров составляет не более 10–15 секунд на компьютере средней производительности, точность расчета – порядка 10-5. Отмечается, что основные временные затраты составляет численное интегрирование в связи с наличием бесконечных пределов интегрирования, в то время как минимизация осуществляется довольно быстро (не более 20–30 итераций). В статье также представлены результаты вычислений квантилей относительных коэффициентов вариации для объемов выборки 3–10, генеральных коэффициентов вариации 0,05, 0,3, 0,5 и вероятностей в диапазоне от 0,01 до 0,99. Выполнены сравнительные расчеты числовых характеристик нормальных и вейбулловских порядковых статистик, полученных прямым интегрированием и соответствующими аппроксимациями. В рассматриваемых программах применяются лишь простейшие и достаточно точные аппроксимации стандартных распределений: нормального распределения, гамма-функции, неполной гамма-функции. Разработанные алгоритмы пригодны для широкого класса непрерывных распределений, обратные функции которых не имеют приемлемых аппроксимаций. Ключевые слова: алгоритмы и программы, Javascript, нецентральное распределение Стьюдента, точное распределение коэффициента вариации, распределение порядковых статистик, нормальное распределение, распределение Вейбулла Введение. В прикладных задачах математических систем [1]. Область применения коэффициента вариации в инженерных задачах рассматривается в работах [1, 2]. Доказательство точного распределения коэфффициента вариации для нормальной выборки содержится в классической книге Лемана [3], все последующие работы – это различной точности аппроксимации этого распределения. Математические ожидания и ковариации порядковых статистик широко применяются в прикладных задачах математической статистики. Анализ литературных источников по теме данного исследования, связанного с разработкой алгоритмов и программ для точного вычисления функций статистических распределений, показал, что их количество весьма ограниченно. Так, например, в [4, 5] рассматривается ческой статистики существует ряд случайных переменных, точный расчет функций распределения которых вызывает значительные вычислительные трудности из-за наличия бесконечных пределов интегрирования, необходимости минимизации целевых функций, отсутствия удовлетворительных аппроксимаций и т.п. К таким распределениям относятся нецентраль- ное распределение Стьюдента, распределения коэффициента вариации, порядковых статистик и другие. Кроме задач вычисления мощности статистических критериев, значения квантилей нецентрального распределения Стью- дента необходимы в задачах надежности для обоснования толерантных интервалов и гарантированных ресурсных характеристик техни- 137
Программные продукты и системы / Software & Systems 37(2), 2024 циях, выполненных многими исследователями в разное время с множеством условий. Преимуществами аппроксимаций Boost являются их высокая точность и практически мгновенное действие. Аппроксимации, встроенные в специализированный язык R (The R Project for Statistical Computing, https://www.r-project.org), уступают по точности функциям Boost. Все сказанное касается, разумеется, сложных распределений, стандартные распределения в данной работе не рассматриваются. Таким образом, исследования, направленные на разработку ПО для реализации точных алгоритмов вычисления сложных функций статистических распределений, являются актуальной задачей. При этом точность решений определяется точностью не аппроксимаций, а численного интегрирования и методов минимизации, которые можно неограниченно увеличивать с учетом лишь временных затрат. Следует также отметить, что приемлемых по точности расчетов параметров порядковых статистик авторы не обнаружили, поэтому преимуществом предлагаемых методов расчета прямым интегрированием сложных функций с последующей минимизацией целевых функций является не только точность вычислений (зачастую аппроксимации дают не меньшую точность), но и сам подход. Он позволяет распространять данную методику практически на любую схожую задачу с небольшими ограничениями типа непрерывности и дифференцируемости исходных функций, в то время как аппроксимацию следует полностью модифицировать для каждой конкретной задачи с тщательным последующим тестированием. Исключения, разумеется, встречаются, например, при численном интегрировании двойных интегралов с бесконечными пределами. В этих случаях альтернативы аппроксимациям нет из-за неоправданно больших временных затрат. Целью настоящего исследования является наиболее распространенное применение обратных функций – моделирование случайных величин методом обратных функций, а также разработка аналитических приближений для обращения функций вероятностных распределений [6]. Многие исследования посвящены новым методам представления аналитических аппроксимаций для прямых и обратных функций сложных нецентральных статистических распределений [7–9]. В то же время непосредственно связанные с темой данной работы источники практически отсутствуют. По мнению авторов, причина в том, что в настоящее время специалисты в области прикладной статистики используют в основном аппроксимации, созданные в математических пакетах с закрытым ко- дом типа Boost [10], Matlab, Statistica, Mathcad и в других. В свою очередь, как показал анализ документации по этим пакетам, они в значительной степени основаны на алгоритмах и программах прикладной статистики в рамках проекта Royal Statistical Society “Applied Statistics algorithms” (http://lib.stat.cmu.edu/apstat/), содержащего около 250 алгоритмов начиная с 1968 г. (проект завершился в 1997 г.), переведенных с языка Algol на Fortran, а затем на С++ (https://people.sc.fsu.edu/~jburkardt/cpp_src/cpp_ src.html). Точные вычисления содержатся в уникальных статистических таблицах [11] и их русскоязычных аналогах (особенно в части нецентральных распределений) [12], которые, возможно, выполнены методами численного интегрирования в специализированных математических институтах, но недоступны для анализа кода и использования в задачах компьютерного моделирования. Кроме того, приведенные в табличном виде процентные точки обладают дискретностью, что вызывает необходимость интерполяции или экстраполяции, а это, в свою очередь, снижает точность расчетов. Очевидно, что при современном уровне развития информационных технологий использование таблиц является анахронизмом и может служить лишь для контроля точности численных расчетов, а также в учебных целях. Следует также упомянуть статистические программы, встроенные в популярный язык Python, которые полностью базируются на динамических библиотеках Boost с закрытым кодом. В отличие от Python эти библиотеки в стандарт C++ пока не встроены и требуют отдельной, часто трудоемкой установки. Тем не менее анализ некоторых открытых кодов статистических функций Boost показывает, что они основаны на многоуровневых аппроксима- разработка алгоритмов и программ расчета обратных функций сложных статистических распределений. Описываемые алгоритмы пригодны для широкого класса непрерывных распределений. В рассматриваемых программах применяются лишь простейшие и достаточно точные аппроксимации стандартных распределений. В настоящей работе это аппроксимации нормального распределения, гамма-функции, неполной гамма-функции, точность которых оказалась выше алгоритмов на Фортране (библиотека SSP) [13]. Авторы предлагают алгоритмы и программы на языке Javascript [14], ко- 138
Программные продукты и системы / Software & Systems 37(2), 2024 торые выложены по адресу http://g2.plzvpn.ru: 3000/Rank/rank.html (исходный програм- ' ' / / . v t n t = = ному распределению Стьюдента с параметром нецентральности = (n)0.5/ и числом степеней свободы f [3], то есть ( ) Поэтому для вычисления квантилей коэфмный код реализации по ссылке https://github. com/AVL095/Inverse_distribution_functions). Выбор языка обусловлен его общедоступностью и быстродействием. Вышеуказанные задачи основаны на распределении отношения независимых случайных величин x = 1/2: фициента вариации достаточно иметь квантили нецентрального распределения Стьюдента. Прямое вычисление функции распределения выборочного коэффициента вариации сводится к уравнению = (1) 1 2 0 ( ) ( ) ( ) F x F tx f t dt 0 ( ) 1 ( ) , 1, / , v F v f x x n dx или = = − (6) = − (2) 1 2 0 ( ) 1 ( ) , t F x f t F dt x откуда определяется квантиль распределения коэффициента вариации уровня , – генеральное значение коэффициента вариации. В настоящей работе анализировались оба где f1(t), F1(t) – функция плотности и функция распределения случайной величины 1; f2(t), F2(t) – функция плотности и функция распределения случайной величины 2. подхода, по точности и быстродействию они показали идентичные результаты. В соответствии с этим в выборке объема n Для вычисления функций нецентрального из нормального распределения N(a, ) с выбоn рочными средним a x x n ˆ / i = = и дисперсией = i 1 n 2 2 2 s x x n ˆ / 1 ( ) ( ) i = = − − случайная вели= i 1 чина ( ) / t x a n s = − + имеет нецентральное распределения Стьюдента и коэффициента вариации необходимо численное интегрирование уравнений (3) или (6). Квантили распределения, соответствующие заданной вероятности, определялись последовательными приближениями. С этой целью в настоящей работе использовался симплекс-метод Нелдера–Мида (деформируемого многогранника). Алгоритм расчета обратной функции нераспределение Стьюдента с функцией распределения [3] ( ) = = (3) 0 ( ) ( ) , ,1 , F t f x t x dx откуда определяется квантиль распределения уровня . Здесь 2 x t a x a dt 2 − 1 ( ) ( , , ) exp 2 2 − = − – (4) функция распределения нормального закона; – параметр нецентральности; f = n – 1 – число степеней свободы. Распределение выборочного среднего подчиняется нормальному закону с параметрами N(a, /n0.5). Переменная y = s2(n – 1)/2 имеет 2 распределение с f степенями свободы и плотностью − f /2 ( ) − = − f y y y f /2 1 2 exp( / 2), ( / 2) центрального распределения Стьюдента реализован путем интегрирования уравнения (3) с последующей минимизацией квадратичной функции q = ( – 0)2, представляющей собой квадрат разности заданной 0 и расчетной доверительных вероятностей. Параметры функции simpl (модуль stat.js): x[nx] – вектор размерности nx, на входе содержащий начальные приближения, на выходе – точки минимума; nx – число переменных минимизируемой функции (в рассматриваемом случае nx = 1); step – начальный шаг минимизации; eps – относительная точность выхода; lim – максимальное число итераций, функция simpl возвращает число выполненных итераций iter; funx – имя минимизируемой функции. Вызов функции: iter = simpl(x, nx, stepx, eps, lim, funx). Численное интегрирование уравнения (3) где Г(x) – гамма-функция (см. модуль stat.js). Плотность выборочного распределения стандартного отклонения x = (s2/f)0.5 в формуле (3) определяется на основании теоремы о плотности монотонной функции случайной величины: 2 2 ( ) f x fx fx = = ( )( ) f /2 ( ) ( ) − = − (5) f f x fx f 1 2 2 / 2 exp / 2 . ( / 2) Таким образом, распределение коэффициосуществлялось методом Буля (модуль stat.js). Параметры функции IntegrateFunction: k – номер выбранного метода, соответствующий размерности аппроксимирующего полинома (3, 4 – метод Симпсона, 5 – метод Буля); nstep – количество шагов интегрирования; xl, xu – нижний и верхний пределы интегрирования; fpolinom – имя интегрируемой функции, функция возвращает значение интеграла. Вызов функции: beta = ента вариации = /a подчиняется нецентраль- 139
Программные продукты и системы / Software & Systems 37(2), 2024 где r = 1 – n – номер порядковой статистики; (x) – плотность распределения; F(x) – функция распределения; B(a, b) – бета-функция. Численное интегрирование осуществляется с помощью функции dataorder в модуле cvar.js. В таблице 1 показаны результаты вычисле= IntegrateFunction(k, nstep, xl, xu, fpolinom). Вспомогательные программы содержатся в модуле stat.js. С целью исключения возможных ошибок в программах используются лишь простейшие и проверенные конструкции языка Javascript, включая ввод данных и вывод результатов на экран. Аналогичный алгоритм реализован и для распределения коэффициента вариации, он отличается только типом интегрируемой функции (в данном случае (6)). Как показали расчеты, быстрый и успешный поиск точек минимума в программе simpl существенно зависит от заданных на входе начальных приближений. С этой целью использовалась следующая нормальная аппроксимация квантиля [1] (функция invnontap в модуле stat.js): 2 2 2 (7) − + − − + = z z f f f f t f 1 1 1 1 4 4 2 2 ( , , ) , 2 2 ния квантилей нецентрального распределения Стьюдента. В программе варьировались объем испытаний n от 3 до 50, вероятности p от 0,01 до 0,99 и доверительные вероятности 0,9, 0,95 и 0,99. В таблице представлен фрагмент расчетов для n, равных от 3 до 10. Время расчета в полном диапазоне всех параметров составляет не более 10–15 секунд на компьютере невысокой производительности (индекс производительности – 1,0, ОЗУ – 4Гб, процессор – Intel® Pentium® 1,9 GHz). Точность расчета – порядка 10-5. Сопоставления по быстродействию с аналогичными расчетами, выполняемыми приближенными методами, например, в библиотеках Boost, не анализируются, так как вычисления аппроксимаций составляют доли секунды. z Необходимо отметить, что изменение треf f 1 1 4 2 − − где – параметр нецентральности; f – число степеней свободы; z – квантиль нормированного нормального распределения уровня ; – доверительная вероятность. Применительно к распределению коэффициента вариации в качестве первого приближения использовалась аппроксимация 2 p p f , 2 2 = + − + (8) , (1 1/ ) / ( 1) p f f f f , где p – квантиль распределения коэффициента вариации уровня вероятности p; – генеральное значение коэффициента вариации; 2p, f – квантиль распределения хи-квадрат [1]. Аппроксимация (8) дает существенные погрешности при значениях , больших 0,3. Менее сложной с точки зрения программибуемой точности расчетов (eps), то есть относительной точности выхода в программе минимизации, практически не влияет на машинное время, поскольку при надлежащем задании начальных приближений программа очень быстро выходит на минимум. В результате вариация этого параметра в широком диапазоне значений приводит к одним и тем же точечным оценкам с незначительным увеличением числа итераций. Несколько большее значение имеют задаваемые предельное число итераций (lim) и шаг минимизации (step), но только тогда, когда программа вообще не находит минимума, что считается неудовлетворительным и подлежит исключению. В этом случае необходимо уточнить начальные приближения. Применительно к задачам, рассматриваемым в данной работе, такого не наблюдалось. Следует также отметить, что скорость вычислений на языке C++ в десятки раз выше, чем на Javascript и Python. Основные временные затраты приходятся рования представляется задача точного вычисления числовых характеристик (математических ожиданий E(xr) и дисперсий D(xr)) порядковых статистик xr [2, 4, 5] в выборке объема n прямым интегрированием: − − n r r x x F x F x dx 1 ( ) 1 ( ) ( ) − − (9) ( ) r = −+ E x B r n r , ( , 1) − − n r r x x F x F x dx 1 2 ( ) 1 ( ) ( ) − − ( ) r = − −+ D x B r n r ( , 1) ( ) 2 , r E x − (10) именно на численное интегрирование, а программа минимизации работает достаточно быстро (не более 20–30 итераций), что вполне объяснимо, так как в связи с наличием бесконечных пределов интегрирования для достижения требуемой точности необходимо охватить максимальный диапазон переменной независимо от применяемого метода. В рассматриваемых программах верхний предел интегрирования задавался равным 5, но может изменяться пользователем в зависимости от требуемой точности расчетов. 140
Программные продукты и системы / Software & Systems 37(2), 2024 Таблица 1 Квантили нецентрального распределения Стьюдента для объемов выборки n = 3–10, доверительной вероятности и вероятностей p (параметр нецентральности = zpn0.5) Table 1 Quantiles of non-central Student distribution for sample sizes n = 3-10, confidence probability , probabilities p (noncentrality parameter = zpn0.5) = 0,99 n P = 0,01 0,05 0,1 0,3 0,5 0,7 0,9 0,95 0,99 3 -1,3536792 -0,5105654 0,1245945 2,8786357 6,9645544 13,0712125 24,2407483 30,0860653 41,3883239 4 -1,8472004 -0,8857286 -0,2451913 1,8985941 4,5407048 8,223549 14,7597818 18,1669008 24,7745658 5 -2,296835 -1,214473 -0,5315038 1,4986883 3,7469478 6,7518861 11,9891732 14,7096064 19,9882608 6 -2,7131195 -1,5144931 -0,7810481 1,2576921 3,3649308 6,1001286 10,8048983 13,2408281 17,9659398 7 -3,1028759 -1,7934666 -1,0080186 1,0830341 3,1426678 5,7580231 10,210297 12,5087421 16,9644092 8 -3,4708345 -2,0558281 -1,2188556 0,9431022 2,9979522 5,5626035 9,8915944 12,1205258 16,43825 9 -3,8204406 -2,3045162 -1,4171848 0,8241254 2,8964601 5,4469441 9,7212346 11,9167803 16,166635 10 -4,1543004 -2,5416339 -1,6053317 0,7190867 2,8214376 5,3788426 9,6383305 11,8215914 16,0445284 = 0,95 3 -1,9566387 -1,1070312 -0,5793325 1,0051572 2,919986 5,6762818 10,6612588 13,2604081 18,2778621 4 -2,4923255 -1,4866088 -0,8877785 0,7109377 2,3533635 4,5308156 8,3238654 10,2877502 14,0847225 5 -2,9760095 -1,8286089 -1,1600269 0,5300989 2,1318469 4,1607664 7,6174653 9,3974797 12,8374608 6 -3,4205601 -2,1427448 -1,4080225 0,3909637 2,0150488 4,0125171 7,3637937 9,0819335 12,3992868 7 -3,8343448 -2,4350796 -1,6378358 0,2733724 1,9431808 3,9544098 7,2901881 8,9941472 12,2808368 8 -4,2231165 -2,7097237 -1,8532134 0,169149 1,8945787 3,9403276 7,3027406 9,0150293 12,3145682 9 -4,5910212 -2,9696243 -2,0567122 0,0742025 1,8595475 3,9502649 7,3612672 9,093709 12,4290667 10 -4,9411662 -3,2169811 -2,2501852 -0,0138155 1,8331132 3,974285 7,4460279 9,205277 12,5893981 = 0,90 3 -2,3570178 -1,4550122 -0,9262696 0,4518083 1,8856184 3,8590338 7,3753589 9,1997526 12,7140114 4 -2,9103929 -1,844764 -1,2341415 0,2596394 1,6377444 3,3860116 6,3756891 7,9131314 10,8764665 5 -3,4089776 -2,196217 -1,5099056 0,1169958 1,5332068 3,2551829 6,1320779 7,6022592 10,4334531 6 -3,8660398 -2,5186127 -1,7621781 -0,0031124 1,4758845 3,2272904 6,1082676 7,5735243 10,3920429 7 -4,2904886 -2,8181408 -1,996231 -0,1097249 1,4397552 3,2413693 6,1716037 7,6562707 10,5089838 8 -4,6884925 -3,0990964 -2,215594 -0,2070261 1,414924 3,2754144 6,2751304 7,7902943 10,6986604 9 -5,0645002 -3,3645879 -2,4227766 -0,2973447 1,3968153 3,3197823 6,3986238 7,9497059 10,9243219 10 -5,4218393 -3,6169423 -2,6196388 -0,3821411 1,3830284 3,369699 6,5322147 8,1219114 11,1680831 В таблице 2 представлены результаты выцией Дэйвида–Джонсона (функция ordern, модуль stat.js), с порядком разложения в ряд (n + 2)-3 с табличными значениями показывают расхождения лишь в 4-м, 5-м знаке после запятой. В функции ordern содержатся производные функции распределения вплоть до 6-й, а также комментарии. Быстродействие настолько высокое, что в данной работе не анализируется. числений квантилей относительных коэффициентов вариации p/ для объемов выборки n = 3–10, генеральных коэффициентов вариации = 0,05, 0,3 и 0,5 и вероятностей p в диапазоне от 0,01 до 0,99. Быстродействие и точность примерно эквивалентны приведенным в предыдущем примере. Предлагаемое авторами прямое интегрироНа рисунке отображены графики функций распределения коэффициента вариации при = 0,3 для n = 5, 10 и 20, построенные в соответствии с приведенной методикой. Сравнение результатов расчета математичевание функций распределения позволяет вычислять также числовые характеристики порядковых статистик для законов распределения, отличных от нормального. Функция распределения Вейбулла, например, с параметрами b и c имеет следующий вид: ских ожиданий и дисперсий нормальных порядковых статистик, полученных аппроксима- 141
Программные продукты и системы / Software & Systems 37(2), 2024 Таблица 2 Квантили выборочных коэффициентов вариации p/ для объемов выборки n = 3–10, коэффициентов вариации и вероятностей p Table 2 Quantiles of sample variation coefficients p/ for sample sizes n = 3–10, variation coefficients and probabilities p = 0,05 n P = 0,01 0,05 0,1 0,3 0,5 0,7 0,9 0,95 0,99 3 0,1002102 0,2263956 0,3244862 0,5971515 0,8326885 1,0979006 1,51971 1,7344276 2,1533418 4 0,1955307 0,3422886 0,4411568 0,6887522 0,8881656 1,1058458 1,4454562 1,616912 1,9503398 5 0,2723549 0,421281 0,5154112 0,7405768 0,9161456 1,1048769 1,3962501 1,5426097 1,8265554 6 0,3327173 0,4783546 0,5672227 0,7744235 0,9329624 1,1017842 1,3606271 1,4901799 1,7410467 7 0,3809654 0,521763 0,6057963 0,7985351 0,9441737 1,0982481 1,3332994 1,4506201 1,6774501 8 0,4204085 0,5561038 0,6358691 0,816735 0,9521778 1,0947712 1,3114685 1,4193896 1,6277746 9 0,4533285 0,5841021 0,6601271 0,8310509 0,9581766 1,0915088 1,2935028 1,3939159 1,587587 10 0,4812971 0,6074751 0,6802103 0,8426637 0,9628401 1,0884974 1,278376 1,3726192 1,5542125 = 0,3 3 0,0988091 0,2234869 0,3208023 0,5945781 0,8371579 1,1205464 1,6048203 1,8737959 2,4638789 4 0,1916642 0,3363389 0,4345316 0,6843881 0,8914472 1,1257984 1,5156774 1,7275832 2,1801959 5 0,266242 0,413217 0,507012 0,7353899 0,9187356 1,122733 1,4564944 1,6353082 2,0107654 6 0,3248317 0,468889 0,5577623 0,7688484 0,935102 1,1180122 1,4137562 1,5705593 1,8958781 7 0,3717281 0,5113646 0,5956947 0,7927851 0,9459959 1,1131818 1,3810865 1,5220013 1,8117507 8 0,4101458 0,5450793 0,6253817 0,8109232 0,9537644 1,1086514 1,3550862 1,4838882 1,7468857 9 0,442285 0,5726575 0,649414 0,8252398 0,959582 1,1045128 1,3337646 1,4529646 1,6949849 10 0,4696559 0,5957507 0,6693761 0,8368895 0,9641011 1,1007598 1,3158731 1,427234 1,6522852 = 0,5 3 0,0963902 0,2184256 0,3143173 0,5895348 0,844215 1,1621726 1,7900129 2,2137372 3,5256371 4 0,1853166 0,3264466 0,4233633 0,6764026 0,8962664 1,1613484 1,6601829 1,9763649 2,8335787 5 0,2564419 0,4000839 0,4931283 0,7261626 0,9223899 1,1540322 1,5763381 1,8337191 2,4843834 6 0,312353 0,4536427 0,5422898 0,7590871 0,9380435 1,1461675 1,5170257 1,7369937 2,2692031 7 0,3572225 0,4947248 0,5792782 0,7828211 0,9484576 1,138908 1,4724104 1,6662827 2,1213024 8 0,3941057 0,527509 0,6084066 0,800924 0,9558808 1,132438 1,4373606 1,6118752 2,0123565 9 0,4250757 0,5544631 0,6321201 0,8152957 0,9614377 1,1267084 1,4089261 1,5684337 1,9281692 10 0,4515489 0,5771415 0,6519189 0,8270491 0,9657532 1,1216241 1,3852797 1,5327653 1,8607923 (11) ( ) 1 exp . b x F x c = − − Приводя распределение к виду с параметрами сдвига aw = lnc и масштаба w = 1/b, z = (lnx-aw)/w, получим соотношения для функции и плотности распределения: ( ) ( ) ( ) 1 ; , − − = − = = (12) z z e z e F z F z e z ze z рядковых статистик распределения Вейбулла по интегралам (9), (10) (функция dataorder в модуле cvar.js) и приближенных, основанных на аппроксимации Дэйвида–Джонсона (функция orderw, модуль stat.js), показали расхождения в 3-м, 4-м знаке после запятой. Пользовате- лям рекомендуется самостоятельно принимать решение о применении той или иной модели в зависимости от требуемой точности расчетов. Предлагаемая аппроксимация позволяет также вычислять ковариации порядковых статистик. которые подставляются в (9) и (10). Сравнительные расчеты числовых характеристик по- 142