Научная статья на тему 'РЕАЛИЗАЦИЯ МЕТОДА «ИЗОЛЯЦИОННЫЙ ЛЕС» В ВИДЕ РАСШИРЕНИЯ СУБД POSTGRESQL'

РЕАЛИЗАЦИЯ МЕТОДА «ИЗОЛЯЦИОННЫЙ ЛЕС» В ВИДЕ РАСШИРЕНИЯ СУБД POSTGRESQL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
475
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
выбросы / статистические данные / PostgreSQL / Изоляционный лес / базы данных / алгоритм без учителя / plpgsql / outliers / statistical data / PostgreSQL / Isolation forest / databases / unsupervised algorithm / plpgsql

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Постойко Анастасия Юрьевна

Предложена технология интеграции метода «Изоляционный лес» (Isolation Forest), предназначенного для обнаружения выбросов в статистических данных, в среду системы управления базами данных PostgreSQL, имеющей открытый исходный код. Показаны преимущества использования методов машинного обучения непосредственно внутри базы данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Постойко Анастасия Юрьевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF ISOLATION FOREST METHOD AS EXTENSION OF POSTGRESQL DATABASE MANAGEMENT SYSTEM

There are proposed the integration technology of the "Isolation Forest" method, designed for detecting outliers in statistical data, into open source PostgreSQL database management system. The advantages of using machine learning methods directly inside the database are shown.

Текст научной работы на тему «РЕАЛИЗАЦИЯ МЕТОДА «ИЗОЛЯЦИОННЫЙ ЛЕС» В ВИДЕ РАСШИРЕНИЯ СУБД POSTGRESQL»

УДК 004.032.26

doi :10.18720/SPBPU/2/id21 -391

Постойко Анастасия Юрьевна1,

студент

РЕАЛИЗАЦИЯ МЕТОДА «ИЗОЛЯЦИОННЫЙ ЛЕС» В ВИДЕ РАСШИРЕНИЯ СУБД POSTGRESQL

1 Россия, Красноярск, Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева, postoiko. anastasya@yandex.ru

Аннотация. Предложена технология интеграции метода «Изоляционный лес» (Isolation Forest), предназначенного для обнаружения выбросов в статистических данных, в среду системы управления базами данных PostgreSQL, имеющей открытый исходный код. Показаны преимущества использования методов машинного обучения непосредственно внутри базы данных.

Ключевые слова: выбросы, статистические данные, PostgreSQL, Изоляционный лес, базы данных, алгоритм без учителя, plpgsql.

Anastasia Yu. Postoyko1, Student

IMPLEMENTATION OF ISOLATION FOREST METHOD AS EXTENSION OF POSTGRESQL DATABASE MANAGEMENT

SYSTEM

1 Reshetnev Siberian State University of Science and Technology,

Krasnoyarsk, Russia, postoiko. anastasya@yandex.ru

Abstract. There are proposed the integration technology of the "Isolation Forest" method, designed for detecting outliers in statistical data, into open source PostgreSQL database management system. The advantages of using machine learning methods directly inside the database are shown.

Keywords: outliers, statistical data, PostgreSQL, Isolation forest, databases, unsupervised algorithm, plpgsql.

Введение

Процесс обнаружения выбросов в наборах данных является одним из важных этапов повышения их качества. Для идентификации выбросов применяются не только статистические методы, но и методы машинного обучения. Зачастую применение уже готовых систем для выявления выбросов связано с множеством трудностей, начиная с обработки и преобразования данных к нужному формату до невозможности отобразить полученные результаты вычислений в понятом, хорошо интерпретируемом

виде. При интеграции метода в системе управления базами данных (СУБД) PostgreSQL можно достигнуть независимости модуля выявления выбросов от системы. Это позволит исследовать данные на наличие выбросов с помощью выполнения встроенной команды, при этом остальной функционал, обеспечивающий отображение графиков, статистики, информации об обнаружении выбросов, будет независим и может быть разработан индивидуально для различных пользователей в зависимости от поставленных требований.

В связи с этим особую значимость приобретает изучение метода «Изоляционный лес», а также технологии разработки функций на языке plpgsql, для интегрирования и использования внутри СУБД PostgreSQL.

В статье речь пойдет о разработке прототипа реализации алгоритма идентификации выбросов в статистических данных, интегрированного в среду СУБД PostgreSQL.

1. Описание предметной области

Термин интеллектуального анализа данных (Data Mining) был введен в 1989 году Григорием Пятецким-Шапиро. Анализ данных включает в себя совокупность методов обнаружения в данных новых, ранее неизвестных, а также полезных знаний, которые необходимы для принятия решений в различных сферах деятельности человека [1].

К методам данного анализа относят не только методы классификации, прогнозирования, основанные на применении нейронных сетей, построении деревьев решений, генетических алгоритмах, но и статистические методы, такие как корреляционный и регрессионный анализ, анализ временных рядов, связей, компонент. Идентификация выбросов в данных относится к классу проблем поиска образцов данных, которые не соответствуют определенному понятию нормального, ожидаемого поведения и называются выбросами [3].

Зачастую выбросы в данных являются следствием наличия шумов (неверно классифицированных объектов), допущенных ошибок в данных (неточные измерения и округления, опечатки), а также, если данные являются показаниями неисправного прибора. Наиболее простыми способами обнаружения выбросов являются графические методы. Также применяются статистические методы, но их недостатком является значительная вычислительная сложность при большом объеме данных, из-за чего их применение невозможно без использования специальных компьютерных программ [2].

Для решения описанной задачи все больше используются и методы машинного обучения. При поиске аномалий предполагается построение системы, которая совершенствуется на основе предыдущих знаний. В данной статье рассматривается метод «Изоляционный лес» и произведена его интеграция в СУБД PostgreSQL.

2. Метод обнаружения выбросов

Isolation Forest — алгоритм обучения без учителя, относится к семейству деревьев решений ансамбля. Изолирующий лес состоит из деревьев, при этом каждое дерево строится до исчерпания выборки. Затем для построения ветвей в дереве случайным образом выбираются признаки и расщепления. Мерой нормальности в данном методе является среднее арифметическое глубин листьев, в которые попал объект. Таким образом, аномальные значения попадают в листья на небольшой глубине дерева и тем самым идентифицируются. Алгоритм успешно работает с наборами данных очень большого размера, и он оказался очень эффективным способом обнаружения аномалий.

При использовании данного метода скорость поиска достаточно высока, а объем занимаемой памяти небольшой в сравнении с другими алгоритмами, предназначенными для выявления выбросов. Также, при использовании ансамбля деревьев важно заметить, что чем больше их количество, тем точнее будет результат работы метода. Обычно оптимальное число деревьев подбирается с помощью минимизации ошибки классификатора на тестовой выборке или оценки ошибки неотобранных элементов [4].

Пусть T это узел изоляционного дерева. Данный узел является либо внешним узлом без дочернего, либо внутренним с одним «тестовым» узлом и двумя дочерними узлами (Tls Tr). Тестовое значение состоит из атрибута q и разделенного значения p, такие, что тестовое значение определяет обход точки данных к Tl или Tr при q < p. Учитывая выборку данных X={x1, ..., xn} из n-значений распределения d-мерных точек, для построения дерева изоляции (ITree). Х рекурсивно разделяется случайным образом выбирая атрибут q и разделенное значение p, до тех пор, пока дерево не достигнет предела высоты (узел будет иметь только один экземпляр или все данные в узле будут иметь одинаковые значения). Когда дерево полностью построено число внешних узлов равно n, а число внутренних узлов равно (n-1). Общее число узлов дерева равно (2n-1).

Таким образом, потребность в памяти ограничена и растет линейно только с n. Задача обнаружения аномалий состоит в том, чтобы обеспечить ранжирование, отражающее степень аномалии.

Одним из способов выявления аномалий является сортировка точек данных в соответствии с их длиной пути или оценками аномалий, такие точки находятся в верхней части списка. Длина пути h(x) точки x определяется числом ребер, пересекающих дерево от корневого узла, пока обход не завершится во внешнем узле [5].

3. Подход к программной реализации метода

Автором статьи предложено реализовать метод в виде расширения СУБД PostgreSQL. Расширение СУБД (extension) — это набор SQL объ-

ектов, которые встраиваются в сервер баз данных и могут использоваться так же, как и встроенные функции, предоставляемые пользователям СУБД изначально [6].

Алгоритм взаимодействия базы данных (БД) с функциями на языке PL/Python можно представить следующим образом (рис. 1).

Рис. 5. Алгоритм взаимодействия БД и встроенных функций

В результате выполнения интеграции метода Изоляционного леса в среду PostgreSQL доступ к алгоритмам метода осуществляется с помощью выполнения обычной SQL-команды SELECT, в которой вызывается функция, реализующая метод:

SELECT name, predict_isolation_tree('models', 'model', 4, ar-ray[['salary']]) from salary;

Ниже на рисунке 2 представлен результат выполнения функции.

папе | predlctisol "

Mike г {1}

John {1}

Nadla {1}

Olga {1}

Kostya {1}

Mikle {1}

Max {1}

Vasya {1}

Dima {1}

Tes {1}

Frank {1}

Zoya {1}

Mike {1}

Рис. 6. Результат вычислений методом «Изоляционный лес»

В методе Изоляционного леса выбросы помечаются -1. Из рисунка видно, что у двух записей из таблицы обнаружено значение, являющееся выбросом. Для поиска аномалий был выбран набор данных, содержащий заработные платы людей, возраст, место работы и т.д.

Результаты вычислений сохраняются в базе данных и поэтому могут быть представлены пользователю в любом виде. Например, в виде отчетов, графиков, таблиц, диаграмм, а также в форме SQL-команд, вводимых в интерактивном режиме взаимодействия с СУБД. Пользователь может самостоятельно написать функции, формирующие отчетную информацию по отдельным аспектам исследования, или использовать стандартные средства языка SQL.

Заключение

Таким образом, в работе был рассмотрен метод Изоляционного леса для обнаружения выбросов в статистических данных. Построен алгоритм взаимодействия БД со встроенными функциями и разработан прототип реализации интегрированной системы для выявления выбросов на основе методов машинного обучения в СУБД PostgreSQL. При этом интерфейс пользователя такой системы может быть создан с применением различных технологий, в то время как все вычисления производятся на стороне базы данных. В рамках дальнейшего исследования планируется интеграция и других методов с применением искусственного интеллекта, а также оценка эффективности их использования.

Список литературы

1. АСУ-АНАЛИТИКА. Системы принятия решений: официальный сайт компании. - URL: https://asu-analitika.ru/obzor-metodov-data-mining/ (дата обращения 08.08.2021).

2. Тюрин Ю.Н., Макаров А.А Анализ данных на компьютере.- М., 1998. - 270с.

3. Чубукова И.А. Data Mining. - М., 2016. - 471с.

4. Шолохова А. А. Поиск аномалий в сенсорных данных на примере анализа движения морского судна. // Моделирование, оптимизация и информационные технологии. - 2017. - №3(18). - URL: https://moitvivt.ru/ru/journal/pdf?id=384 (дата обращения: 04.06.2021).

5. Fei Tony Liu, Kai Ming Ting, Zhi-Hua Zhou. Isolation Forest. // Proceedings of the Eighth IEEE International Conference on Data Mining. - 2009. - Pp. 413-422.

6. PostgreSQL [Электронный ресурс] // The PostgreSQL Global Development Group: официальный сайт. - URL: http://www.postgresql.org (дата обращения: 04.06.2021).

УДК 330.1

doi :10.18720/SPBPU/2/id21 -392

Мерзляков Кирилл Дмитриевич1,

магистрант, бакалавр

СОЗДАНИЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩЕГО КОМПЛЕКСА ООО «ФОРВАРД-С»

1 Россия, Санкт-Петербург, Санкт-Петербургский политехнический университет Петра Великого,

x-sive2016@yandex.ru

Аннотация. Данная работа посвящена созданию информационно-управляющего комплекса. В ходе работы строятся организационная структура предприятия, а также структура целей и функций по методике, основанной на взаимодействии системы со средой. На основе полученной структуры выбираются задачи и необходимые информационные массивы. Во второй части работы предлагается внедрение инноваций.

Ключевые слова: информационно-управляющий комплекс, системно-целевой подход, информация, управление.

Kirill D. Merzlyakov1, Master Student, BSc

DEVELOPMENT OF INFORMATION AND CONTROL COMPLEX OF FORWARD-S LTD

1 Peter the Great St. Petersburg Polytechnic University, St. Petersburg, Russia, x-sive2016@yandex.ru

Abstract. The article investigates the development of information and control complex. During the research, the organizational structure of an organization, as well as the structure of goals and functions, are built according to a methodology based on the interaction of the system with the environment. Based on the resulting structure, tasks and necessary information arrays are selected. In the second part of the work, the insertion of innovations is proposed.

i Надоели баннеры? Вы всегда можете отключить рекламу.