Краткосрочное прогнозирование почасовых цен на электроэнергию (пример)
Материал из MachineLearning.
В работе описывается и производится сравнение эффективности ряда алгоритмов для краткосрочного прогнозирования цен на электроэнергию: SSA, авторегрессии, гребневой регрессии, метода наименьших углов, метода построения локальных регрессионных моделей. В вычислительном эксперименте приводятся результаты работы перечисленных алгоритмов, сравнивается точность из прогнозов.
Полный текст этой работы, PDF |
Постановка задачи
Временным рядом называется последовательность измерений некоторой величины через фиксированные промежутки времени:
Требуется предсказать следующие значений последовательности:
Рассматриваемый временной ряд имеет периодическую составляющую с периодом , на который и будет производиться прогноз:
Для контроля качества алгоритма прогноза будем выделять во временном ряде последовательных значений (контрольную выборку), которые алгоритм будет прогнозировать по всем предыдущим значениям. В качестве критерия качества прогноза будем использовать следующий функционал:
, где - прогнозируемое значение , --- фактическое значение.
Пути решения задачи
Особенностью почасовых цен является наличие суточной периодики во временном ряде, и одним из наиболее эффективных методов краткосрочного прогнозирования (на сутки) является авторегрессия. В основе этого алгоритма лежит построение авторегрессионной матрицы, в которую построчно укладывается временной ряд, на котором происходит обучение, причем длина строки (ширина матрицы авторегрессии) равна периодике --- 24-м часам. Таким образом, каждый столбец содержит цены в некоторый час по всем суткам, и рассматривается как признак в задаче регрессии, а каждая строка является элементом выборки. Строится 24 регрессионные модели --- для прогнозирования цены на каждый час следующих суток.
При использовании линейных моделей задача может быть решена методом наименьших квадратов (МНК). Для повышения точности линейной модели необходимо расширить пространство признаков за счет функциональных преобразований исходных признаков. При этом вследствие большой размерности пространства признаков, среди которых много неинформативных, может наблюдаться переобучение модели, существенно возрастает вычислительная сложность ее построения, а вследствие наличия мультикоррелирующих признаков модель неустойчива. Следовательно, необходимо произвести отбор информативных признаков и устранить мультикорреляцию.
Одним из методов повышения устойчивости линейной модели является гребневая регрессия --- введение дополнительного слагаемого в МНК, штрафующего большие веса параметров модели, что приводит к лучшей обусловленности матрицы корреляций признаков перед ее обращением в МНК. Однако гребневая регрессия, повышая устойчивость модели, не производит отбор признаков. В алгоритме Лассо норма вектора параметров модели ограничивается некоторых числом, что приводит к обнулению некоторых параметров при наличии мультикорреляции. Метод наименьших углов (LARS, Least Angle Regression) строит оценку параметров модели итерационно, причём на -й итерации только элементов вектора параметров отличны от нуля, и они изменяются так, чтобы доставить добавляемому признаку наибольшую корреляцию с вектором регрессионных остатков.
При построении регрессионных моделей по всей выборке возникает задача порождения признаков за счет функциональных преобразований исходных признаков, и преобразующие функции либо назначаются из априорных знаний о предметной области, либо являются всевозможными мономами некоторой степени, что при высоких степенях приводит к очень большому числу признаков. При построении локальных регрессионных моделей строится линейная по исходным признакам модель не по всей выборке, а только по объектам, ближайшим к контрольному в пространстве признаков. Также предлагается проводить усреднение по ближайшим объектам выборки. Для определения ближайших соседей используется взвешенная евклидова метрика, веса признаков в которой подбираются таким образом, чтобы построенная по ближайшим соседям линейная модель наилучшим образом приближала зависимую переменную.
В работе рассматривается несколько алгоритмов для прогнозирования временных рядов: SSA, авторегрессия\cite{ModelGeneration, Models}, гребневая регрессия, метод наименьших углов, построение локальных регрессионных моделей. В вычислительном эксперименте сравнивается точность прогноза с использованием каждого алгоритма с целью отбора наиболее эффективных.
Смотри также
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |