В современном мире получаемый нами объем информации слишком велик. Любая деятельность человека предусматривает, как минимум, ее содержание и анализ, ведь информация в чистом виде, поступающая непрерывным потоком трудна для восприятия. Поэтому существует множество способов хранения и обработки данных. Наиболее популярный из них - базы данных.
Сравнивая разные системы управления базами данных, в каждой можно найти свои плюсы и минусы. PostgreSQL [1, 4] стоит наряду со многими крупными СУБД, но по сравнению с другими она бесплатно распространяется. Однако, там не хватает пакетов аналитических функций для полноценного статистического анализа. Нужно сказать, что на сегодняшний день существуют различные способы обхода и решения этой проблемы, но в большинстве случаев это происходит за счёт сторонних программ и приложений, что имеет ряд своих минусов (таких, как возникновение конфликтных ситуаций, неудобство использования, и т.д.). Другие же методы не разрешают или разрешают не в полной мере эти вопросы. Поэтому было решено взяться за реализацию некоторых алгоритмов в этой системе управления базами данных.
2. Задачи
Целью данной работы является создание пакета аналитических методов, включающего в себя наиболее популярные алгоритмы прогнозирования, а также способы оценки ее качества.
Для достижения этой цели были сформулированы следующие задачи:
• Выполнить обзор существующих методов решения данной проблемы;
• Реализация алгоритмов прогнозирования средствами PostgreSQL, их объединение в пакет;
• Тестирование реализованных алгоритмов, проверка их качества с помощью метрик;
• Написание спецификации к пакету функций;
• Написание инструкции по установке и использованию пакета функций в PostgreSQL.
В рамках данной работы был произведен обзор наиболее популярных и полезных алгоритмов прогнозирования, а также метрик оценки их качества. Позднее на языке PL/pgSQL был разработан пакет аналитических функций, разворачиваемый в СУБД PostgreSQL и, включающий в себя наравне с другими функции, реализующие такие алгоритмы как: экспоненциальное сглаживание, линейная регрессия, авторегрессия, ARIMA, а также алгоритмы оценки качества прогнозирования. Результат разработки был опубликован на портале GitHub и доступен по ссылке https://github.com/Twicelab/anfun. К коду приложены файлы спецификации и инструкции по установке. Метод разработки продукта позволяет масштабировать его и добавлять функциональность в будущем, расширяя возможности и оптимизируя его работу.