Долгосрочное прогнозирование ежедневных цен на электроэнергию (пример)
Материал из MachineLearning.
(7 промежуточных версий не показаны.) | |||
Строка 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] | ||
==Литература== | ==Литература== | ||
Строка 63: | Строка 112: | ||
|ссылка = http://www3.iam.metu.edu.tr/iam/images/9/9b/Strijov-ankara.pdf | |ссылка = http://www3.iam.metu.edu.tr/iam/images/9/9b/Strijov-ankara.pdf | ||
|заглавие = Model Generation and its Applications in Financial Sector | |заглавие = Model Generation and its Applications in Financial Sector | ||
+ | |издательство = Middle East Technical University | ||
|год = 2009 | |год = 2009 | ||
}} | }} | ||
Строка 74: | Строка 124: | ||
|автор = Стрижов В.В | |автор = Стрижов В.В | ||
|заглавие = Методы выбора регрессионных моделей | |заглавие = Методы выбора регрессионных моделей | ||
+ | |издательство = ВЦ РАН | ||
|год = 2010 | |год = 2010 | ||
}} | }} | ||
Строка 95: | Строка 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 в учебном процессе. |