Прогнозирование функциями дискретного аргумента (пример)
Материал из MachineLearning.
|
Введение
В статье представлена попытка прогнозирования таких специфических временных рядов, как монофонические мелодии. Были осуществлены три различных подхода: экспоненциальное сглаживание, локальное прогнозирование и поиск постоянных закономерностей.
Предлагается опробовать первый метод в традиционной его форме, чтобы ответить на вопрос, пригоден ли он для решения данной задачи. Затем предлагается во втором методе проверить работоспособность коэффициента корреляции Пирсона в качестве меры сходства. Третий будет использоваться в упрощенном варианте.
Постановка задачи
Мелодия есть функция , где
— позиция ноты,
— конечное множество нот, занумерованных в порядке увеличения тона,
— длительность ноты, в секундах. Таким образом, будем работать с пучком из двух временных рядов.
Предполагается, что мелодия дана законченная, но без нескольких финальных нот(в данной статье одной). Необходимо их предсказать.
Пути решения задачи
Экспоненциальное сглаживание
Пусть — временной ряд.
Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле:
Чем меньше , тем в большей степени фильтруются, подавляются колебания исходного ряда и шума. Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю
можно выразить через значения временного ряда
.
После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов следующим способом. Пусть задан временной ряд: .
Необходимо решить задачу прогнозирования временного ряда, т.е. найти
— горизонт прогнозирования, необходимо, чтобы
.
Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна.
.
Если рассматривать прогноз на 1 шаг вперед, то
— погрешность этого прогноза, а новый прогноз
получается в результате корректировки предыдущего прогноза с учетом его ошибки — суть адаптации.
При краткосрочном прогнозировании желательно как можно быстрее отразить новые изменения и в то же время как можно лучше "очистить" ряд от случайных колебаний. Т.о. следует увеличивать вес более свежих наблюдений:
.
С другой стороны, для сглаживания случайных отклонений,
нужно уменьшить:
. Т.о. эти два требования находятся в противоречии. Мы будем брать
из интервала (0,0.5).
Локальные методы прогнозирования
Музыкальный временной ряд отличается от обычного хаотического: он почти не хаотичен. В нем встречаются похожие, повторяющиеся и прочие регулярные структуры.
Регулярной структурой назовем кусок временного ряда, обладающий автономностью по отношению к остальному временному ряду, склонный к повторению в немного искаженной форме. Очевидно, что "немного" должно определяться некой функцией близости. В работе использовался вариант коэффициента корреляции Неймана-Пирсона:
где интеграл понимается в смысле суммы в силу дискретности функций. Прогноз будет строиться на естественном предположении компактности регулярных структур: у похожих кусков временного ряда должны быть похожие продолжения. Воспользуемся самым простым локальным алгоритмом, который ищет ближайшего соседа к прогнозируемому участку.
Поиск постоянных закономерностей
Рассмотрим один из подходов к поиску закономерностей в пучках временных рядов, который предполагает отсутствие изменений в закономерностях с течением времени. Для простоты будем рассматривать единственный временной ряд длины вместо пучка.
Маской на отрезке назовем булеву строку длины
(здесь параметр
определяет максимальный отступ по времени). Число единиц в маске
будем называть весом маски и обозначать
. Элемент маски, находящийся на
-ом месте будем обозначать
или
. Закономерностью
назовем пару
, где маска
указывает на значения ряда, являющиеся аргументами функции
, а частично-определенная функция
задает зависимость значений целевого ряда от переменных, на которые указывает маска
.
где означает, что функция не определена на соответствующем наборе переменных.
Зафиксировав теперь маску , построим множество пар
, где
, а
.
Полученное множество пар записывается в виде таблицы частот с числом строк, равным числу всех возможных наборов из
, и числом столбцов, равным
. Элемент таблицы частот
— это число раз, которое значение
встречается во входных данных на наборе
c номером
из
.
(Предполагается, что наборы расположены в лексикографическом порядке.)
Обозначим
и
(в случае, если максимум достигается на нескольких значениях, выбирается среди этих значений произвольным образом).
Обозначим также
и
.
На основе таблицы частот порождается закономерность , где частично-определенная функция
задается на каждом наборе
из
следующим образом:
Здесь символ обозначает отсутствие значения на данном наборе, а
— параметр алгоритма,
.
Вычислительный эксперимент
На следующих изображениях представлены изначальный временной ряд Медиа:Гуси.mid и его экспоненциальное сглаживание и тот же временной ряд с уже предсказанной точкой
Литература
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |