Долгосрочное прогнозирование ежедневных цен на электроэнергию (пример)
Материал из MachineLearning.
 (→Литература)  | 
				|||
| (6 промежуточных версий не показаны.) | |||
| Строка 1: | Строка 1: | ||
| + | Решается задача долгосрочного прогнозирования цен на электроэнергию. Долгосрочное прогнозирование цен является основой для планирования и инвестирования. Для решения задачи рассматривается метод авторегрессии. При построении модели также производится отбор признаков при помощи   | ||
| + | [[Метод наименьших углов (пример)|метода наименьших углов]]  | ||
| + | {{tip|Полный текст этой работы, [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group774/Dzhamtyrova2010Forecasting/doc/Dzhamtyrova10forecasting.pdf PDF]}}  | ||
| + | |||
== Постановка задачи ==  | == Постановка задачи ==  | ||
| - | + | Дан временной ряд <tex>\mathbf{s}_1=[x_1,\ldots,x_{T-1}]^T</tex>, <tex>x\in\mathbb{R}^1</tex>  и матрица признаков, столбцами которой являются <tex> \mathbf{s}_2, \mathbf{s}_3 \ldots \mathbf{s}_m</tex>. Необходимо спрогнозировать следующую величину <tex>x_{T}</tex>.  | |
| - | + | Предполагается, что  | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | Составляется <tex> (m   | + | 1) отсчёты сделаны через равные промежутки времени,  | 
| + | |||
| + | 2) ряд имеет периодическую составляющую,  | ||
| + | |||
| + | 3) ряд не имеет пропущенных значений,  | ||
| + | |||
| + | 4) длина ряда кратна периоду  <tex>k</tex>.  | ||
| + | |||
| + | |||
| + | Составляется <tex> (m \times k)</tex> — матрица значений временного ряда:  | ||
<tex>  | <tex>  | ||
| - | + | A =  | |
| - | x_T   | + | \left(  | 
| - | x_(m-1)k & x_(m-1)k-1   | + | \begin{array}{llll}  | 
| - | \  | + | x_T     & x_{T-1}   & \ldots & x_{T-k+1}   \\  | 
| - | \\  | + | x_{(m-1)k} & x_{(m-1)k-1} & \ldots & x_{(m-2)k+1} \\  | 
| - | x_k &   | + | \ldots  & \ldots    & \ldots & \ldots    \\  | 
| - | \end{  | + | x_{nk} & x_{nk-1} & \ldots & x_{n(k-1)+1} \\  | 
| - | </tex>  | + | \ldots  & \ldots    & \ldots & \ldots    \\  | 
| + | x_k     & x_{k-1}   & \ldots & x_1       \\  | ||
| + | \end{array}  | ||
| + | \right),  | ||
| + | </tex>  | ||
| + | в которой длина ряда <tex> T= mk </tex>.  | ||
| - | + | <tex>  | |
| - | + | A =  | |
| + | \left(  | ||
| + | \begin{array}{l|lll}  | ||
| + | x_T     & x_{T-1}   & \ldots & x_{T-k+1}   \\  | ||
| + | \hline\\  | ||
| + | x_{(m-1)k} & x_{(m-1)k-1} & \ldots & x_{(m-2)k+1} \\  | ||
| + | \ldots  & \ldots    & \ldots & \ldots    \\  | ||
| + | x_{nk} & x_{nk-1} & \ldots & x_{n(k-1)+1} \\  | ||
| + | \ldots  & \ldots    & \ldots & \ldots    \\  | ||
| + | x_k     & x_{k-1}   & \ldots & x_1       \\  | ||
| + | \end{array}  | ||
| + | \right).  | ||
| + | </tex>  | ||
| + | Введём обозначения  | ||
| + | <tex>  | ||
| + | A=   | ||
| + | \left(  | ||
| + | \begin{array}{l|l}  | ||
| + | x_T     & \mathbf{x}^T\\  | ||
| + | \hline \\  | ||
| + | \mathbf{y} & X \\  | ||
| + | \end{array}  | ||
| + | \right).  | ||
| + | </tex>  | ||
| - | |||
| - | |||
| - | =  | + | В случае, когда учитываются временные ряды <tex> \mathbf{s}_1, \mathbf{s}_2 \cdots \mathbf{s}_m</tex>, для каждого <tex>j</tex>-го временного ряда строится матрица <tex>S_j</tex> и присоединяется справа. Полученная матрица <tex> A= \begin{bmatrix} S_1 & S_2 & \cdots & S_m \end{bmatrix} .</tex>  | 
| - | + | Пусть задан набор функций <tex>G=\{g_1,\ldots,g_r\}</tex>, например,  | |
| - | + | ||
| - | + | <tex>g_1=1, g_2=\sqrt{x}, g_3=x, g_4=x\sqrt{x}</tex>. Матрица порождённых признаков   | |
<tex>  | <tex>  | ||
| - | + | A =  | |
| - | g_1  | + | \left(  | 
| - | g_1  | + | \begin{array}{l|lllllll}  | 
| - | \  | + | x_T  & g_1\circ x_{T-1}    & \ldots & g_r\circ x_{T-1}        & \ldots & g_1\circ x_{T-k+1} & \ldots   & g_r\circ x_{T-k+1}\\  | 
| - | \\  | + | \hline\\  | 
| - | g_1(  | + | x_{(m-1)k} & g_1\circ x_{(m-1)k-1}& \ldots & g_r\circ x_{(m-1)k-1}   & \ldots & g_1\circ x_{(m-2)k+1} & \ldots & g_r\circ x_{(m-2)k+1} \\  | 
| - | \end{  | + | \ldots & \ldots      & \ldots & \ldots        & \ldots & \ldots  & \ldots      & \ldots\\  | 
| + | x_{nk} & g_1\circ x_{nk-1}    & \ldots & g_r\circ x_{nk-1}       & \ldots & g_1\circ x_{n(k-1)+1} & \ldots & g_r\circ x_{n(k-1)+1}\\  | ||
| + | \ldots & \ldots      & \ldots & \ldots        & \ldots & \ldots  & \ldots      & \ldots\\  | ||
| + | x_k & g_1\circ x_{k-1}     & \ldots & g_r\circ x_{k-1}        & \ldots & g_1\circ x_1  & \ldots         & g_r\circ x_1\\  | ||
| + | \end{array}  | ||
| + | \right).  | ||
</tex>  | </tex>  | ||
| - | + | ==Пути решения задачи==  | |
| + | Требуется решить задачу линейной регресии  <tex>|X\mathbf{w}-\mathbf{y}\|^2\longrightarrow\min. </tex>  | ||
| + | Требуется найти такие параметры <tex>\mathbf{w}</tex>, которые доставляют минимум норме вектора невязок <tex>X\mathbf{w}-\mathbf{y}</tex>.  | ||
| + | |||
| + | <tex> \mathbf{w}=(X^TX)^{-1}(X^T\mathbf{y}).</tex>  | ||
| + | |||
| + | В терминах линейной регрессии  | ||
| + | |||
| + | <tex>\mathbf{y}= X\mathbf{w}</tex>  | ||
| + | |||
| + | <tex>y_T=  <\mathbf{x}^{T}, \mathbf{w}></tex>  | ||
| - | + | Возможны два подхода к нахождению значения <tex>x_T</tex>. Первый заключается в последовательном построении прогнозируемых значений. В качестве вектора <tex>\mathbf{x}^{T}</tex> выбираюся <tex>K-1</tex> предыдущих значений временного ряда, и для каждого следующего значения <tex>x_{T+1}, x_{T+2}, ..., x_{T+l}</tex>   необходимо заново строить авторегрессионную матрицу <tex>X</tex>. Второй подход заключается в прогнозировании периода ряда по предыдущему. В качестве вектора <tex>\mathbf{x}^{T}</tex> выбираются <tex>K-1</tex> значений ряда предшествующего периода. При данном подходе перестраивать авторегрессионную матрицу <tex>X</tex> не нужно.  | |
| + | При увеличении числа признаков (в случае добавления столбцов <tex>\mathbf{s}_2..., \mathbf{s}_m)</tex> необходимо уменьшить размерность пространства засчёт отбора признаков. В качестве алгоритма отбора признаков выбран [[Метод наименьших углов (пример)|метод наименьших углов]]. Проверяется, улучшает ли отбор признаков прогнозирование.  | ||
==Смотри также==  | ==Смотри также==  | ||
| - | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/  | + | * Полный текст этой работы, [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group774/Dzhamtyrova2010Forecasting/doc/Dzhamtyrova10forecasting.pdf PDF]  | 
| + | * Исходный код вычислительного эксперимента [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group774/Dzhamtyrova2010Forecasting]  | ||
==Литература==  | ==Литература==  | ||
| Строка 75: | Строка 124: | ||
|автор        = Стрижов В.В  | |автор        = Стрижов В.В  | ||
|заглавие     =  Методы выбора регрессионных моделей  | |заглавие     =  Методы выбора регрессионных моделей  | ||
| + | |издательство = ВЦ РАН  | ||
|год          = 2010  | |год          = 2010  | ||
}}  | }}  | ||
| Строка 96: | Строка 146: | ||
}}  | }}  | ||
| - | {{  | + | {{ЗаданиеВыполнено|Раиса Джамтырова|В.В.Стрижов|24 декабря 2010|Раиса Джамтырова|Strijov}}  | 
[[Категория:Практика и вычислительные эксперименты]]  | [[Категория:Практика и вычислительные эксперименты]]  | ||
Текущая версия
Решается задача долгосрочного прогнозирования цен на электроэнергию. Долгосрочное прогнозирование цен является основой для планирования и инвестирования. Для решения задачи рассматривается метод авторегрессии. При построении модели также производится отбор признаков при помощи метода наименьших углов
|   | Полный текст этой работы, PDF | 
Содержание | 
Постановка задачи
Дан временной ряд , 
  и матрица признаков, столбцами которой являются 
. Необходимо спрогнозировать следующую величину 
.
Предполагается, что
1) отсчёты сделаны через равные промежутки времени,
2) ряд имеет периодическую составляющую,
3) ряд не имеет пропущенных значений,
4) длина ряда кратна периоду  .
Составляется   матрица значений временного ряда:
в которой длина ряда 
.
Введём обозначения
В случае, когда учитываются временные ряды , для каждого 
-го временного ряда строится матрица 
 и присоединяется справа. Полученная матрица 
Пусть задан набор функций , например,
. Матрица порождённых признаков 
Пути решения задачи
Требуется решить задачу линейной регресии  
Требуется найти такие параметры 
, которые доставляют минимум норме вектора невязок 
.
В терминах линейной регрессии
Возможны два подхода к нахождению значения . Первый заключается в последовательном построении прогнозируемых значений. В качестве вектора 
 выбираюся 
 предыдущих значений временного ряда, и для каждого следующего значения 
   необходимо заново строить авторегрессионную матрицу 
. Второй подход заключается в прогнозировании периода ряда по предыдущему. В качестве вектора 
 выбираются 
 значений ряда предшествующего периода. При данном подходе перестраивать авторегрессионную матрицу 
 не нужно.
При увеличении числа признаков (в случае добавления столбцов  необходимо уменьшить размерность пространства засчёт отбора признаков. В качестве алгоритма отбора признаков выбран метод наименьших углов. Проверяется, улучшает ли отбор признаков прогнозирование.
Смотри также
Литература
- Vadim Strijov Model Generation and its Applications in Financial Sector. — Middle East Technical University, 2009.
 - Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani Least Angle Regression. — 2002.
 - Стрижов В.В Методы выбора регрессионных моделей. — ВЦ РАН, 2010.
 - Rafal Weron Modeling and Forecasting Electricity Loads and Prices. — 2006.
 - Hsiao-Tien Pao A Neural Network Approach to m-Daily-Ahead Electricity Price Prediction. — 2006.
 - Wei Wu, Jianzhong Zhou,Li Mo and Chengjun Zhu Forecasting Electricity Market Price Spikes Based on Bayesian Expert with Support Vector Machines. — 2006.
 
|   |  Данная статья была создана в рамках учебного задания.
 
 См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 

