Прогнозирование функциями дискретного аргумента (пример)
Материал из MachineLearning.
Строка 17: | Строка 17: | ||
Пусть <tex>X=\{x_1, ... x_T\}</tex> — временной ряд. | Пусть <tex>X=\{x_1, ... x_T\}</tex> — временной ряд. | ||
- | |||
- | |||
Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле: | Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле: | ||
- | |||
<tex> | <tex> | ||
S_t=\alpha x_t + \left( 1-\alpha \right) S_{t-1},\ \alpha \in (0,1). | S_t=\alpha x_t + \left( 1-\alpha \right) S_{t-1},\ \alpha \in (0,1). | ||
- | |||
</tex> | </tex> | ||
- | |||
Чем меньше <tex>\alpha</tex>, тем в большей степени фильтруются, подавляются колебания исходного ряда и шума. | Чем меньше <tex>\alpha</tex>, тем в большей степени фильтруются, подавляются колебания исходного ряда и шума. | ||
- | |||
- | |||
Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю <tex>S_t</tex> можно выразить через значения временного ряда <tex>X</tex>. | Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю <tex>S_t</tex> можно выразить через значения временного ряда <tex>X</tex>. | ||
- | |||
- | |||
<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. | 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> | ||
- | |||
- | |||
После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом. | После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом. | ||
- | |||
- | |||
Пусть задан временной ряд: <tex>y_i \cdot\cdot\cdot y_t,\; y_i \in R</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>\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> | <tex>Q_T=\sum_{i=1}^T \left( y_i-\hat{y}_i \right) \rightarrow min</tex> | ||
- | |||
- | |||
Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна. | Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна. | ||
- | |||
- | |||
<tex>\hat{y}_{t+d}=\alpha y_t + ( 1-\alpha ) \hat{y}_t,\; \hat{y}_0 = y_0,\; \alpha \in (0,1)</tex>. | <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> получается в результате корректировки предыдущего прогноза с учетом его ошибки — суть адаптации. | Если рассматривать прогноз на 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 \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> нужно уменьшить: <tex> \alpha \rightarrow 0,\; \hat{y}_{t+1} \rightarrow \bar{y}_t</tex>. | ||
- | |||
- | |||
- | |||
Т.о. эти два требования находятся в противоречии. Мы будем брать <tex>\alpha</tex> из интервала (0,0.5). | Т.о. эти два требования находятся в противоречии. Мы будем брать <tex>\alpha</tex> из интервала (0,0.5). |
Версия 16:49, 3 сентября 2011
|
Введение
В статье представлена попытка прогнозирования таких специфических временных рядов, как монофонические мелодии. Были осуществлены три различных подхода: экспоненциальное сглаживание, локальное прогнозирование и поиск постоянных закономерностей.
Предлагается опробовать первый метод в традиционной его форме, чтобы ответить на вопрос, пригоден ли он для решения данной задачи. Затем предлагается во втором методе проверить работоспособность коэффициента корреляции Пирсона в качестве меры сходства. Третий будет использоваться в упрощенном варианте.
Постановка задачи
Мелодия есть функция , где — позиция ноты, — конечное множество нот, занумерованных в порядке увеличения тона, — длительность ноты, в секундах. Таким образом, будем работать с пучком из двух временных рядов.
Предполагается, что мелодия дана законченная, но без нескольких финальных нот(в данной статье одной). Необходимо их предсказать.
Пути решения задачи
Экспоненциальное сглаживание
Пусть — временной ряд.
Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле:
Чем меньше , тем в большей степени фильтруются, подавляются колебания исходного ряда и шума.
Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю можно выразить через значения временного ряда .
После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом.
Пусть задан временной ряд: .
Необходимо решить задачу прогнозирования временного ряда, т.е. найти
— горизонт прогнозирования, необходимо, чтобы
Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна.
.
Если рассматривать прогноз на 1 шаг вперед, то — погрешность этого прогноза, а новый прогноз получается в результате корректировки предыдущего прогноза с учетом его ошибки — суть адаптации.
При краткосрочном прогнозировании желательно как можно быстрее отразить новые изменения и в то же время как можно лучше "очистить" ряд от случайных колебаний. Т.о. следует увеличивать вес более свежих наблюдений: . С другой стороны, для сглаживания случайных отклонений, нужно уменьшить: . Т.о. эти два требования находятся в противоречии. Мы будем брать из интервала (0,0.5).