Анализ подходов к решению задачи прогнозирования загрузки системы хранения данных
Автор: В. В. Тынченко, Т. Э. Хохрякова
Журнал: Informatics. Economics. Management - Информатика. Экономика. Управление.
Рубрика: Информатика, вычислительная техника
Статья в выпуске: 2 (1), 2023 года.
Бесплатный доступ
Система хранения данных представляет собой комплексное программно-аппаратное решение по организации надёжного хранения информационных ресурсов, а также отказоустойчивого, высокопроизводительного доступа к данным. Автоматизация управления системой хранения данных повысит доступность данных и скорость работы системы, что позволит обеспечить стабильную производительность и непрерывность рабочих процессов. Целью статьи является обзор и выбор методов машинного обучения, наиболее подходящих для решения задачи прогнозирования загрузки системы хранения данных. Наблюдения заполнения томов системы по своей сути являются временным рядом. Следовательно, проблему прогнозирования загрузки можно интерпретировать как проблему прогнозирования временного ряда. Для дальнейшей разработки алгоритма прогнозирования рассмотрены наиболее популярные статистические и структурные модели, а именно регрессия, авторегрессия и нейронные сети, выделены достоинства и недостатки каждого подхода.
Прогнозирование временных рядов, машинное обучение, регрессия, авторегрессия, искусственные нейронные сети
Короткий адрес: https://sciup.org/14125862
IDR: 14125862 | DOI: 10.47813/2782-5280-2023-2-1-0201-0209
Текст статьи Анализ подходов к решению задачи прогнозирования загрузки системы хранения данных
2023; 2(1)
DOI:
Прогнозирование временных рядов является одной из важнейших прикладных задач, решаемых интеллектуальными информационными системами с целью наиболее точно предсказать будущее поведение различных факторов на основе известных прошлых событий. Построенный прогноз позволяет выявлять закономерности и принимать эффективные решения по различным вопросам в экономических, социальных, технических и многих других сферах деятельности.
Временной ряд представляет собой последовательность значений некоторой переменной, изменяющейся во времени. От простой выборки данных временной ряд отличается тем, что наблюдаемый показатель последовательно измеряется через некоторые, зачастую равные, промежутки времени. Таким образом, при анализе учитываются не только статические характеристики данных, но и их взаимосвязь со временем [1, 2].
Важным фактором в построении качественного анализа временного ряда является выбор метода прогнозирования. Согласно классификации Дж. Бокса и Г. Дженкинса [13] существуют интуитивные и формализованные методы прогнозирования временного ряда.
Интуитивные методы не предполагают реализацию какой-либо модели и основываются на экспертных оценках, исторических аналогиях, общих образцах. Они применяются тогда, когда прогнозируемая ситуация очень сложна и не поддается математическому описанию, или очень проста и в таком описании не нуждается.
Формализованные методы ставят своей целью разработать и обучить такую математическую модель, которая сможет найти зависимость между значениями целевой переменной и исходя из этой зависимости построить прогноз временного ряда. Данный класс методов включает в себя статические модели (регрессия, авторегрессия, экспоненциальное сглаживание и др.) и структурные модели (классификационные деревья, нейронные сети и др.). Они основаны на технологиях машинного обучения, которые находят все большее применение, особенно в условиях шума или пропусков, при нестационарных и длинных последовательностях данных. С помощью обучения можно получить такие параметры модели, которые позволят построить сложные зависимости в поведении временного ряда как от предыдущих значений, так и от внешних факторов, при этом расхождение между реальными и предсказанными значениями целевого признака будет минимальным [4].
ОБЗОР МЕТОДОВ ПРОГНОЗИРОВАНИЯ
Регрессионные модели
Регрессионная модель является семейством параметрических функций, которые описывают закономерности между зависимой переменой и одной или несколькими независимыми переменными [5].
Уравнение регрессии имеет вид:
Y = f(W, X) + e, где Y – зависимая переменная, X – независимые переменные, W – параметры модели, ε – случайная величина, характеризующая отклонение реального значения Y от прогноза. Таким образом, для построения модели в основном используются измеряемые данные, а не свойства исследуемого временного ряда [1].
Различают следующие основные виды регрессионной модели [1, 3, 5]:
-
1. Линейная регрессия моделирует линейную зависимость между переменными. Для определения коэффициенты регрессии, как правило, используют метод наименьших квадратов. В случае простой регрессии уравнение имеет вид:
-
2. Логистическая регрессия также анализирует линейную связь, однако предназначена она для прогнозирования вероятности наступления некоторого события, а не самого значения переменой (т.е. для классификации). На практике для нахождения параметров часто используют метод максимального правдоподобия.
-
3. Гребневая регрессия (ридж-регрессия), лассо-регрессия, байесовская регрессия были разработаны как подходы к линейной регрессии, которые повышают точность модели в случаях сложных зависимостей. Ридж- и лассо-регрессию применяют в случае корреляции независимых переменных между собой. Байесовская регрессия предназначена для данных, содержащих шум, который распределен нормально.
Y(t) = w0 + w1X(t) + e(t).
В случае множественной регрессии, когда переменная зависит от нескольких признаков:
Y(t) = w0 + w1X1(t) + w2X2(t) + ... + wnXn(t) + e(t).
Авторегрессионные модели
Регрессионная модель строит зависимость временной последовательности от ее сопутствующих признаков. Если для прогнозирования необходимо определить зависимость от предыдущих значений того же ряда, то для этого используют авторегрессионные модели [1, 3, 6, 7].
Авторегрессия AR(p) представляет собой модель временного ряда, в которой значение переменной в текущий момент линейно зависит от некоторого количества ее предыдущих значений и описывается следующим образом:
X(t) = c + w1X1(t-1) + w2X2(t-2) + ... + wpXp(t-p) + e(t), где X – временной ряд, c – константа, p – порядок авторегрессии. Например, модель авторегрессии четвертого порядка AR(4) будет строить прогноз, учитывая наблюдения за четыре последних временных шага.
Модель скользящего среднего MA(q) предназначена для моделирования случайных ошибок одномерного временного ряда и записывается в виде:
X(t) = e(t) + w1e1(t-1) + w2e2(t-2) + ... + wqeq(t-q), где ε – шумовые компоненты, q – порядок скользящего среднего, иногда добавляют константу. Таким образом, оценка прогнозируемой переменой линейно зависит от текущего и ранее наблюдаемых случайных компонентов.
Авторегрессионная модель скользящего среднего ARMA(p, q) объединяет две более простые модели. Согласно модели, временной ряд содержит две составляющие: авторегрессионную и скользящее среднее. Соответственно, прогнозируемый член временного ряда может быть выражен в виде линейной комбинации прошлых значений и случайных ошибок этого же ряда.
Использование ARMA-модели предполагает, что анализируемый ряд является стационарным, т.е. имеет постоянные среднее и дисперсию. В противном случае можно рассмотреть применение интегрированной авторегрессионной модели скользящего среднего ARIMA(p, d, q). Это расширение ARMA-модели для нестационарных рядов, которые можно преобразовать в стационарные с помощью взятия разностей порядка d от исходного ряда.
ARIMA-модель может обрабатывать данные с трендом, но не поддерживает последовательности, содержащих сезонную компоненту. Для этого была разработана SARIMA-модель – расширение ARIMA-модели, в которую добавлены четыре сезонных элемента: сезонный порядок авторегрессии, порядок сезонных разниц, сезонный порядок скользящих средних, количество временных шагов за один сезонный период
Так как авторегрессия для прогнозирования использует только значения временного ряда, то для учета внешних факторов существует еще одно расширение ARIMA – модель ARIMAX. При этом для корректной работы необходимо, чтобы все показатели должны соответствовать одному промежутку времени. Соответственно, сезонным вариантом данной модели является SARIMAX.
Нейросетевые модели
Искусственные нейронные сети находят свое применение в решении самых разных задач анализа данных, в том числе и в прогнозировании временных рядов. Алгоритм прогнозирования с помощью нейросетевой модели выглядит следующим образом [8, 9]:
-
1. Формирование обучающей выборки. Исходный временной ряд с помощью окна фиксированной длины разбивается на обучающие примеры. Задача нейронной сети заключается в предсказании значения, следующего после окна.
-
2. Выбор архитектуры модели. Определяются гиперпараметры: количество внутренних слоев и их связи, количество узлов внутренних слоев, функция активации, оптимизатор, функция потерь, метрики качества, значение коэффициента обучения, количество эпох обучения. Размер входного слоя будет равен длине окна выборки, выходной слой будет предоставлять вычисленное значение.
-
3. Обучение нейронной сети. Цель обучения – настроить веса модели таким образом, чтобы минимизировать функцию потерь и получить наилучшее значение метрики.
Существует множество подходов, которые позволяют улучшить результат обучения нейросетевой модели для дальнейшего осуществления прогноза. Далее приведены некоторые из них [8]:
-
• нормализация и стандартизация исходных данных;
-
• замена входных значений временного ряда на разность соседних элементов;
-
• использование обратных вызовов и дропаутов для предотвращения переобучения.
Для задачи прогнозирования временных рядов применяют различные конфигурации нейронных сетей. Среди них особо выделяют рекуррентные нейронные сети, которые могут использовать свое внутреннее состояние для обработки серий событий во времени и последовательных пространственных цепочек. Таким образом рекуррентные сети учитывают и текущий вход, и предшествующие вычисления. На сегодняшний день наиболее часто встречающимся типом рекуррентных моделей является сеть с долго-краткосрочной памятью (LSTM) [9]. Данная сеть способна запоминать данные на долгое время, и кроме того, ей удается обходить проблему затухания градиента во время обучения.
РЕЗУЛЬТАТЫ И ОБСУЖДЕНИЯ
Рассмотрим конкретную задачу прогнозирования временного ряда.
Для эффективного управления системой хранения данных (СХД), необходимо разработать алгоритм прогнозирования ее загрузки. В процессе работы платформы в тома СХД загружаются и хаотично удаляются данные средствами клиентов. Исходные данные представляют собой наблюдения заполнения СХД, которые содержат дату, время, процент заполнения конкретного тома на текущий момент.
Таким образом получаем одномерный временной ряд, содержащий значения заполнения тома. Обозначим, какие из рассмотренных методов будет возможным применить для решения задачи прогнозирования такого ряда.
Так как явных внешних факторов нет, то предположим, что прогнозируемый член временного ряда зависит только от прошлых значений. В данном случае подходят авторегрессионные и нейросетевые модели. Чтобы для дальнейшей разработки сузить круг возможных решений, необходимо провести анализ исходного временного ряда.
Если зависимости ряда будут иметь линейный характер, а переменные запаздывания показывать высокую корреляцию с выходной переменной, то стоит отдать предпочтение авторегрессионным моделям. Тогда необходимо проверить ряд на стационарность и сезонность, и исходя из этого использовать модели ARMA, ARIMA или SARIMA. Модели авторегрессии быстро и точно обучаются в связи с небольшим количеством параметров, но являются несовершенным решением для сложных зависимостей [10].
В случае не подтверждения гипотезы о линейности ряда нужно протестировать различные архитектуры рекуррентных нейронных сетей, выполнив предобработку исходных данных и подбор гиперпараметров модели. Нейронные сети более эффективны для прогнозирования сложных процессов, однако тщательная настройка обучения и необходимость в большом объеме данных являются серьезными недостатками [10].
ЗАКЛЮЧЕНИЕ
В данной статье были проанализированы методы машинного обучения, применение которых будет исследовано в дальнейшем при разработке алгоритма прогнозирования загрузки системы хранения данных для платформы искусственного интеллекта. Необходимо провести множество экспериментов с использованием авторегрессионных моделей ARMA, ARIMA и SARIMA, а также рекуррентных нейронных сетей, в частности LSTM-сетей, чтобы определить лучшее решение.