Прогнозирование функциями дискретного аргумента (пример)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 10: Строка 10:
Мелодия есть функция <tex>m: \ T \rightarrow X\times Y</tex>, где <tex>T = 0, 1, 2, ...</tex> — позиция ноты, <tex>X = 0, 1, 2, ...</tex> — конечное множество нот, занумерованных в порядке увеличения тона, <tex>Y</tex> — длительность ноты, в секундах. Таким образом, будем работать с пучком из двух временных рядов.
Мелодия есть функция <tex>m: \ T \rightarrow X\times Y</tex>, где <tex>T = 0, 1, 2, ...</tex> — позиция ноты, <tex>X = 0, 1, 2, ...</tex> — конечное множество нот, занумерованных в порядке увеличения тона, <tex>Y</tex> — длительность ноты, в секундах. Таким образом, будем работать с пучком из двух временных рядов.
 +
Предполагается, что мелодия дана законченная, но без нескольких финальных нот(в данной статье одной). Необходимо их предсказать.
 +
==Пути решения задачи==
-
Предполагается, что мелодия дана законченная, но без нескольких финальных нотданной статье одной). Необходимо их предсказать.
+
<b><big>Экспоненциальное сглаживание</big></b>
 +
 
 +
Пусть <tex>X=\{x_1, ... x_T\}</tex> — временной ряд.
 +
 
 +
 
 +
 
 +
Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле:
 +
 
 +
<tex>
 +
S_t=\alpha x_t + \left( 1-\alpha \right) S_{t-1},\ \alpha \in (0,1).
 +
 
 +
</tex>
 +
 
 +
 
 +
Чем меньше <tex>\alpha</tex>, тем в большей степени фильтруются, подавляются колебания исходного ряда и шума.
 +
 
 +
 
 +
 
 +
Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю <tex>S_t</tex> можно выразить через значения временного ряда <tex>X</tex>.
 +
 
 +
 
 +
 
 +
<tex>
 +
 
 +
S_t =\alpha x_t + (1-\alpha)\left( \alpha x_{t-1} + (1-\alpha)S_{t-2}\right)= \cdot\cdot\cdot = \alpha \sum_{i=0}^{t-1} (1-\alpha)^i x_{t-i} + (1-\alpha)^t S_0.
 +
 
 +
</tex>
 +
 
 +
 
 +
 
 +
После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом.
 +
 
 +
 
 +
 
 +
Пусть задан временной ряд: <tex>y_i \cdot\cdot\cdot y_t,\; y_i \in R</tex>.
 +
 
 +
 
 +
 
 +
Необходимо решить задачу прогнозирования временного ряда, т.е. найти
 +
 
 +
 
 +
 
 +
<tex>\hat{y}_{t+d}=f_{t,d}\left(y_{1} ... y_{t} \right),\; d \in \{1,2, ... D\},\; D</tex> — горизонт прогнозирования, необходимо, чтобы
 +
 
 +
 
 +
 
 +
<tex>Q_T=\sum_{i=1}^T \left( y_i-\hat{y}_i \right) \rightarrow min</tex>
 +
 
 +
 
 +
 
 +
Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна.
 +
 
 +
 
 +
 
 +
<tex>\hat{y}_{t+d}=\alpha y_t + ( 1-\alpha ) \hat{y}_t,\; \hat{y}_0 = y_0,\; \alpha \in (0,1)</tex>.
 +
 
 +
 
 +
 
 +
Если рассматривать прогноз на 1 шаг вперед, то <tex>\left(y_t - \hat{y}_t\right)</tex> — погрешность этого прогноза, а новый прогноз <tex>\hat{y}_{t+1}</tex> получается в результате корректировки предыдущего прогноза с учетом его ошибки — суть адаптации.
 +
 
 +
 
 +
 
 +
При краткосрочном прогнозировании желательно как можно быстрее отразить новые изменения и в то же время как можно лучше "очистить" ряд от случайных колебаний.
 +
 
 +
Т.о. следует увеличивать вес более свежих наблюдений: <tex> \alpha \rightarrow 1,\; \hat{y}_{t+d} \rightarrow y_t</tex>.
 +
 
 +
 
 +
 
 +
С другой стороны, для сглаживания случайных отклонений, <tex>\alpha</tex> нужно уменьшить: <tex> \alpha \rightarrow 0,\; \hat{y}_{t+1} \rightarrow \bar{y}_t</tex>.
 +
 
 +
 
 +
 
 +
Т.о. эти два требования находятся в противоречии. Мы будем брать <tex>\alpha</tex> из интервала (0,0.5).

Версия 16:47, 3 сентября 2011

Содержание

Введение

В статье представлена попытка прогнозирования таких специфических временных рядов, как монофонические мелодии. Были осуществлены три различных подхода: экспоненциальное сглаживание, локальное прогнозирование и поиск постоянных закономерностей.

Предлагается опробовать первый метод в традиционной его форме, чтобы ответить на вопрос, пригоден ли он для решения данной задачи. Затем предлагается во втором методе проверить работоспособность коэффициента корреляции Пирсона в качестве меры сходства. Третий будет использоваться в упрощенном варианте.

Постановка задачи

Мелодия есть функция m: \ T \rightarrow X\times Y, где T = 0, 1, 2, ... — позиция ноты, X = 0, 1, 2, ... — конечное множество нот, занумерованных в порядке увеличения тона, Y — длительность ноты, в секундах. Таким образом, будем работать с пучком из двух временных рядов.

Предполагается, что мелодия дана законченная, но без нескольких финальных нот(в данной статье одной). Необходимо их предсказать.

Пути решения задачи

Экспоненциальное сглаживание

Пусть X=\{x_1, ... x_T\} — временной ряд.


Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле:


S_t=\alpha x_t + \left( 1-\alpha \right) S_{t-1},\ \alpha \in (0,1).
</p><p>


Чем меньше \alpha, тем в большей степени фильтруются, подавляются колебания исходного ряда и шума.


Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю S_t можно выразить через значения временного ряда X.



</p><p>S_t =\alpha x_t + (1-\alpha)\left( \alpha x_{t-1} + (1-\alpha)S_{t-2}\right)= \cdot\cdot\cdot = \alpha \sum_{i=0}^{t-1} (1-\alpha)^i x_{t-i} + (1-\alpha)^t S_0.
</p><p>


После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом.


Пусть задан временной ряд: y_i \cdot\cdot\cdot y_t,\; y_i \in R.


Необходимо решить задачу прогнозирования временного ряда, т.е. найти


\hat{y}_{t+d}=f_{t,d}\left(y_{1} ... y_{t} \right),\; d \in \{1,2, ... D\},\; D — горизонт прогнозирования, необходимо, чтобы


Q_T=\sum_{i=1}^T \left( y_i-\hat{y}_i \right) \rightarrow min


Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна.


\hat{y}_{t+d}=\alpha y_t + ( 1-\alpha ) \hat{y}_t,\; \hat{y}_0 = y_0,\; \alpha \in (0,1).


Если рассматривать прогноз на 1 шаг вперед, то \left(y_t - \hat{y}_t\right) — погрешность этого прогноза, а новый прогноз \hat{y}_{t+1} получается в результате корректировки предыдущего прогноза с учетом его ошибки — суть адаптации.


При краткосрочном прогнозировании желательно как можно быстрее отразить новые изменения и в то же время как можно лучше "очистить" ряд от случайных колебаний.

Т.о. следует увеличивать вес более свежих наблюдений:  \alpha \rightarrow 1,\; \hat{y}_{t+d} \rightarrow y_t.


С другой стороны, для сглаживания случайных отклонений, \alpha нужно уменьшить:  \alpha \rightarrow 0,\; \hat{y}_{t+1} \rightarrow \bar{y}_t.


Т.о. эти два требования находятся в противоречии. Мы будем брать \alpha из интервала (0,0.5).

Личные инструменты