Прогнозирование функциями дискретного аргумента (пример)
Материал из MachineLearning.
 (→Пути решения задачи)  | 
				 (→Пути решения задачи)  | 
			||
| Строка 23: | Строка 23: | ||
</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>.  | + | |
Необходимо решить задачу прогнозирования временного ряда, т.е. найти  | Необходимо решить задачу прогнозирования временного ряда, т.е. найти  | ||
| Строка 42: | Строка 39: | ||
Если рассматривать прогноз на 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>   | <tex>   | ||
\alpha \rightarrow 1,\; \hat{y}_{t+d} \rightarrow y_t  | \alpha \rightarrow 1,\; \hat{y}_{t+d} \rightarrow y_t  | ||
</tex>.  | </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).  | + | |
<b><big>Локальные методы прогнозирования</big></b>  | <b><big>Локальные методы прогнозирования</big></b>  | ||
| Строка 54: | Строка 49: | ||
Музыкальный временной ряд отличается от обычного хаотического: он почти не хаотичен. В нем встречаются похожие, повторяющиеся и прочие регулярные структуры.  | Музыкальный временной ряд отличается от обычного хаотического: он почти не хаотичен. В нем встречаются похожие, повторяющиеся и прочие регулярные структуры.  | ||
| - | <i>Регулярной структурой</i> назовем кусок временного ряда, обладающий автономностью по отношению к остальному временному ряду, склонный к повторению в немного искаженной форме.  | + | <i>Регулярной структурой</i> назовем кусок временного ряда, обладающий автономностью по отношению к остальному временному ряду, склонный к повторению в немного искаженной форме. Очевидно, что "немного" должно определяться некой функцией близости. В работе использовался вариант коэффициента корреляции Неймана-Пирсона:  | 
| - | Очевидно, что "немного" должно определяться некой функцией близости. В работе использовался вариант коэффициента корреляции Неймана-Пирсона:  | + | |
<center><tex>k(f,g) = \frac{\int fg}{\sqrt{\int f^2}\cdot\sqrt{\int g^2}},</tex></center>  | <center><tex>k(f,g) = \frac{\int fg}{\sqrt{\int f^2}\cdot\sqrt{\int g^2}},</tex></center>  | ||
| - | где интеграл понимается в смысле суммы в силу дискретности функций.  | + | где интеграл понимается в смысле суммы в силу дискретности функций. Прогноз будет строиться на естественном предположении компактности регулярных структур: у похожих кусков временного ряда должны быть похожие продолжения. Воспользуемся самым простым локальным алгоритмом, который ищет ближайшего соседа к прогнозируемому участку.  | 
| - | Прогноз будет строиться на естественном предположении компактности регулярных структур: у похожих кусков временного ряда должны быть похожие продолжения.  | + | |
| - | Воспользуемся самым простым локальным алгоритмом, который ищет ближайшего соседа к прогнозируемому участку.  | + | |
<b><big>Поиск постоянных закономерностей</big></b>  | <b><big>Поиск постоянных закономерностей</big></b>  | ||
| Строка 76: | Строка 68: | ||
(Предполагается, что наборы расположены в лексикографическом порядке.)  | (Предполагается, что наборы расположены в лексикографическом порядке.)  | ||
| - | Обозначим <tex>\nu_{\alpha, max} = \max_{v\in\{1, 2, \dots , |X|-1\}} \nu_{\alpha, v}</tex> и <tex>v_{m} = \arg\max_{v\in\{1, 2, \dots , |X|-1\}} \nu_{\alpha, v}</tex> (в случае, если максимум достигается на нескольких значениях, <tex>v_m</tex> выбирается среди этих значений произвольным образом).  | + | Обозначим   | 
| + | <tex>\nu_{\alpha, max} = \max_{v\in\{1, 2, \dots , |X|-1\}} \nu_{\alpha, v}</tex>   | ||
| + | и   | ||
| + | <tex>v_{m} = \arg\max_{v\in\{1, 2, \dots , |X|-1\}} \nu_{\alpha, v}</tex>   | ||
| + | (в случае, если максимум достигается на нескольких значениях, <tex>v_m</tex> выбирается среди этих значений произвольным образом).  | ||
Обозначим также <tex>\nu_{\alpha, max-1} = \max_{v\in\{1, 2, \dots , |X|-1\}, v\ne v_m} \nu_{\alpha, v}</tex> и <tex>\nu_{\alpha} = \sum_{v=0}^{|X|-1}\nu_{\alpha, v}</tex>.  | Обозначим также <tex>\nu_{\alpha, max-1} = \max_{v\in\{1, 2, \dots , |X|-1\}, v\ne v_m} \nu_{\alpha, v}</tex> и <tex>\nu_{\alpha} = \sum_{v=0}^{|X|-1}\nu_{\alpha, v}</tex>.  | ||
Версия 08:59, 6 сентября 2011
 
  | 
Введение
В статье представлена попытка прогнозирования таких специфических временных рядов, как монофонические мелодии. Были осуществлены три различных подхода: экспоненциальное сглаживание, локальное прогнозирование и поиск постоянных закономерностей.
Предлагается опробовать первый метод в традиционной его форме, чтобы ответить на вопрос, пригоден ли он для решения данной задачи. Затем предлагается во втором методе проверить работоспособность коэффициента корреляции Пирсона в качестве меры сходства. Третий будет использоваться в упрощенном варианте.
Постановка задачи
Мелодия есть функция , где 
 — позиция ноты, 
 — конечное множество нот, занумерованных в порядке увеличения тона, 
 — длительность ноты, в секундах. Таким образом, будем работать с пучком из двух временных рядов.
Предполагается, что мелодия дана законченная, но без нескольких финальных нот(в данной статье одной). Необходимо их предсказать.
Пути решения задачи
Экспоненциальное сглаживание
Пусть  — временной ряд.
Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле:
Чем меньше , тем в большей степени фильтруются, подавляются колебания исходного ряда и шума. Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю 
 можно выразить через значения временного ряда 
.
После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом. Пусть задан временной ряд: .
Необходимо решить задачу прогнозирования временного ряда, т.е. найти
 — горизонт прогнозирования, необходимо, чтобы
.
Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна.
.
Если рассматривать прогноз на 1 шаг вперед, то 
 — погрешность этого прогноза, а новый прогноз 
 получается в результате корректировки предыдущего прогноза с учетом его ошибки — суть адаптации.
При краткосрочном прогнозировании желательно как можно быстрее отразить новые изменения и в то же время как можно лучше "очистить" ряд от случайных колебаний. Т.о. следует увеличивать вес более свежих наблюдений: 
.
С другой стороны, для сглаживания случайных отклонений, 
 нужно уменьшить: 
. Т.о. эти два требования находятся в противоречии. Мы будем брать 
 из интервала (0,0.5).
Локальные методы прогнозирования
Музыкальный временной ряд отличается от обычного хаотического: он почти не хаотичен. В нем встречаются похожие, повторяющиеся и прочие регулярные структуры.
Регулярной структурой назовем кусок временного ряда, обладающий автономностью по отношению к остальному временному ряду, склонный к повторению в немного искаженной форме. Очевидно, что "немного" должно определяться некой функцией близости. В работе использовался вариант коэффициента корреляции Неймана-Пирсона:
где интеграл понимается в смысле суммы в силу дискретности функций. Прогноз будет строиться на естественном предположении компактности регулярных структур: у похожих кусков временного ряда должны быть похожие продолжения. Воспользуемся самым простым локальным алгоритмом, который ищет ближайшего соседа к прогнозируемому участку.
Поиск постоянных закономерностей
Рассмотрим один из подходов к поиску закономерностей в пучках временных рядов, который предполагает отсутствие изменений в закономерностях с течением времени. Для простоты будем рассматривать единственный временной ряд длины  вместо пучка.
Маской  на отрезке назовем булеву строку длины 
 (здесь параметр 
 определяет максимальный отступ по времени). Число единиц в маске 
 будем называть весом маски и обозначать 
. Элемент маски, находящийся на 
-ом месте будем обозначать 
 или 
. Закономерностью 
 назовем пару 
, где маска 
 указывает на значения ряда, являющиеся аргументами функции 
, а частично-определенная функция 
 задает зависимость значений целевого ряда от переменных, на которые указывает маска 
.
где  означает, что функция не определена на соответствующем наборе переменных.
Зафиксировав теперь маску , построим множество пар 
, где 
, а 
.
Полученное множество пар записывается в виде таблицы частот  с числом строк, равным числу всех возможных наборов из 
, и числом столбцов, равным 
. Элемент таблицы частот 
 — это число раз, которое значение 
 встречается во входных данных на наборе 
 c номером 
 из 
.
(Предполагается, что наборы расположены в лексикографическом порядке.)
Обозначим 
 
и 
 
(в случае, если максимум достигается на нескольких значениях, 
 выбирается среди этих значений произвольным образом).
Обозначим также  и 
.
На основе таблицы частот порождается закономерность , где частично-определенная функция 
 задается на каждом наборе 
 из 
 следующим образом:
Здесь символ  обозначает отсутствие значения на данном наборе, а 
 — параметр алгоритма, 
.
Литература
|   |  Данная статья является непроверенным учебным заданием.
 До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 

