Математические методы прогнозирования/Осень 2022
Материал из MachineLearning.
Each tuesday 16:10 at the channel m1p.org/go_zoom
Ведущие Алина Самохина, Денис Тихонов, Святослав Панченко
Mathematical forecasting
This course delivers methods of model selection in machine learning and forecasting. The modelling data are videos, audios, encephalograms, fMRIs and another measurements in natural science. The models are linear, tensor, deep neural networks, and neural ODEs. The practical examples are brain-computer interfaces, weather forecasting and various spatial-time series forecasting. The lab works are organised as paper-with-code reports.
Schedule
- [Sep] 6, 13, 20, 27~--- lab 1
- [Oct] 4, 14, 18, 25~--- lab 2, 3
- [Nov] 8, 15, 22, 29~--- lab 4
- [Dec] 6, 13 exam
Discussion and course page
Lab works
Lab work contains report in the notebook and talk with discussion
- Title and motivated abstract
- Problem statement
- Model, problem solution
- Code, analysis and illustrative plots
- References
Note: the model (and sometimes data) are personal. The rest – infrastructure, error functions, plots, are welcome to be created collectively and shared.
Topics of the lab works are
- Autoregressive forecasting (Singular Structure Analysis)
- Spatial-time forecasting (Tensor Decomposition)
- Signal decoding (Projection to Latent Space)
- Continuous-time forecasting (Neural Differential Equations)
Exam and grading
Four lab works within deadlines and the exam on topics with problems and discussion.
Terminology and list of notations
See PhD thesis by Roman Isachenko See also
- Tensor terminology in the PhD thesis by Anastasia Motrenko
- Model selection terminology in the PhD theses by Oleg Bakhteev and by Andery Grabovoy
Lecture topics
- Energy forecasting example
- Regression
- Linear model
- Model selection call
- Forecasting protocol
- Error functions
- Singular spectrum analysis
- SSA forecasting
- Forecasting protocols and verification (before AR)
- Autoregression
- Singular values decomposition (PCA, AE, Kar-Lo)
- QPFS model selection
- Auto, cross-correlation, cointegration
- Diagrams for ML and PLS
- Projection to latent space and relation to PCA, canonical-correlation analysis
- PLS-QPFS model selection
- Higher-order SSA
- Tensor decomposition
- Tensor model selection
- HOPLS
- Granger causality test
- Convergent cross mapping
- HOCCM to invent
- Taken’s theorem
- Neural ODE
- Adjoint and back-propagation
- Flows and forecasting
- Space state models
- S4, Hippo, SaShiMi models
\\ To include
- RNN, LSTM, attention, transformer models
- Directional regression
- Harmonic functions
- Phase extraction
- Non-parametric regression and customer demands forecasting
- Graph earth prediction
Format of the lab works
TODO Check the format!
- Create a .pynb or .py file Surname2022Lab in the folder
- The report also could be in the .tex file.
- Find the format of your report above.
- The computational experiment contains common part and individual part.
- Common part:
- use four short sample set [airplane], [electricity], [accelerometer hand motion], [video hand motion],
- prepare the design matrix and target a scalar/vector for each time sample (in the form time, vecx, vecy),
- set the forecast horizon, plot the forecast and estimate the error.
- Individual part:
- select a lab work and specify your model (you can adopt any code available for),
- tune parameters, make your forecast according the horizon,
- write the report.
- Error analysis is a part of the report:
- plot of the forecast,
- MAPE error (and your optimization error, if available) and its standard deviation.
Details:
- time refers to each sample (in unix or any useful format),
- the horizon is an expected fundamental period,
- the forecasting protocol is in parer, text, slides.
Examples:
- Old format of the report
- Code and project
- Previous project from Sourceforge.net
Lab work series I
Протокол поточечного прогнозирования
Взять из работы Никиты Уварова
Задача 1: Непараметрическое прогнозирование: выбор ядра, настройка параметров
В работе описывается метод ядерного сглаживания временного ряда, как один из видов непараметрической регрессии. Суть метода состоит в восстановлении функции времени, как взвешенной линейной комбинации точек из некоторой окрестности. Непрерывную ограниченную симметричную вещественную весовую функцию называют ядром. Полученная ядерная оценка используется для прогнозирования следующей точки ряда. Исследуется зависимость качества прогнозирования от параметров ядра и наложенного шума.
Задача 2: Экспоненциальное сглаживание и прогноз
В работе исследуется применение алгоритма экспоненциального сглаживания к прогнозированию временных рядов. В основе алгоритма лежит учет предыдущих значений ряда с весами, убывающими по мере удаления от исследуемого участка временного ряда. Изучено поведение алгоритма на модельных данных в различных моделях весов. Проведен анализ работы алгоритма на реальных данных -– биржевых индексах.
Задача 3: Выделение периодической компоненты временного ряда (пример)
В проекте исследуется временной ряд на наличие периодической компоненты, строится тригонометрическая интерполяция предложенных временных рядов методом наименьших квадратов. Производится оценка параметров функции метода наименьших квадратов в зависимости от качества прогнозирования. В вычислительном эксперименте приводятся результаты работы корреляционной функции и метода наименьших квадратов на зашумлённом модельном синусе и реальном временном ряде электрокардиограммы.
Задача 4: Многомерная гусеница, выбор длины и числа компонент гусеницы (сравнение сглаженного и несглаженного временного ряда) (пример)
В работе описывается метод гусеницы и его применение для прогнозирования временных рядов. Алгоритм основан на выделении из изучаемого временного ряда его информативных компонент и последующего построения прогноза. Исследуется зависимость точности прогнозов от выбора длины гусеницы и числа ее компонент. В вычислительном эксперименте приводятся результаты работы алгоритма на периодических рядах с разным рисунком внутри периода, на рядах с нарушением периодичности, а так же на реальных рядах почасовой температуры.
Задача 5: Прогнозирование функциями дискретного аргумента (пример)
В работе исследуются короткие временные ряды на примере монофонических музыкальных мелодий. Происходит прогнозирование одной ноты экспоненциальным сглаживанием, локальным методом, а также методом поиска постоянных закономерностей. Вычислительный эксперимент проводится на двух мелодиях, одна из которых имеет точно повторяющиеся фрагменты.
Задача 7: Локальные методы прогнозирования,поиск метрики
Временной ряд делится на отдельные участки, каждому из которых сопоставляется точка в n-мерном пространстве признаков. Локальная модель рассчитывается в три последовательных этапа. Первый – находит k-ближайших соседей наблюдаемой точки. Второй – строит простую модель, используя только этих k соседей. Третий – используя данную модель, по наблюдаемой точке прогнозирует следующую. Многие исследователи, используют эвклидову метрику для измерения расстояний между точками. Данная работа призвана сравнить точность прогнозирования при использовании различных метрик. В частности, требуется исследовать оптимальный набор весов во взвешенной метрике для максимизации точности прогнозирования.
Задача 8: Локальные методы прогнозирования, поиск инвариантного преобразования
В проекте используются локальные методы прогнозирования временных рядов. В этих методах не находится представления временного ряда в классе заданных функций от времени. Вместо этого прогноз осуществляется на основе данных о каком-то участке временного ряда (используется локальная информация). В данной работе подробно исследован следующий метод (обобщение классического «ближайшего соседа»).
Пусть имеется временной ряд, и стоит задача продолжить его. Предполагается, что такое продолжение определяется предысторией, т.е. в ряде нужно найти часть, которая после некоторого преобразования A становится схожа с той частью, которую мы стремимся прогнозировать. Поиск такого преобразования A и есть цель данного проекта. Для определения степени сходства используется функция B – функция близости двух отрезков временного ряда (подробнее об этом см. здесь). Так мы находим ближайшего соседа к нашей предыстории. В общем случае ищем несколько ближайших соседей. Продолжение запишется в виде их линейной комбинации.
Задача 9: Выравнивание временных рядов: прогнозирование с использованием DTW (пример)
Временным рядом называется последовательность упорядоченных по времени значений некоторой вещественной переменной . Задача, сопутствующая появлению временных рядов, - сравнение одной последовательности данных с другой. Сравнение последовательностей существенно упрощается после деформации временного ряда вдоль одной из осей и его выравнивания. Dynamic time warping (DTW) представляет собой технику эффективного выравнивая временных рядов. Методы DTW используются при распознавании речи, при анализе информации в робототехнике, в промышленности, в медицине и других сферах.
Цель работы - привести пример выравнивания, ввести функционал сравнения двух временных рядов, обладающий естественными свойствами коммутативности, рефлексивности и транзитивностина. Функционал должен принимать на вход два временных ряда, а на выходе давать число, характеризующее степень их "похожести".
Задача 10: Выбор функции активации при прогнозировании нейронными сетями (убрать задачу)
Целью проекта является исследование зависимости качества прогнозирования нейронными сетями без обратной связи (одно- и многослойными перцептронами) от выбранной функции активации нейронов в сети, а также от параметров этой функции.
Результатом проекта является оценка качества прогнозирования нейронными сетями в зависимости от типа и параметров функции активации.
Задача 11: Прогнозирование музыкальных произведений
Соединить три проекта
Задача 12: Исследование сходимости при прогнозировании нейронными сетями с обратной связью
Исследуется зависимость скорости сходимости при прогнозировании временных рядов от параметров нейронной сети с обратной связью. Понятие обратной связи характерно для динамических систем, в которых выходной сигнал некоторого элемента cистемы оказывает влияние на входной сигнал этого элемента. Выходной сигнал можно представить в виде бесконечной взвешенной суммы текущего и предыдущих входных сигналов. В качестве модели нейронной сети используется сеть Джордана. Предлагается исследовать скорость сходимости в зависимости от выбора функции активации (сигмоидной, гиперболического тангенса), от числа нейронов в промежуточном слое и от ширины скользящего окна. Также исследуется способ повышения скорости сходимости при использовании обобщенного дельта-правила.
Задача 13: Многомерная гусеница, выбор длины и числа компонент гусеницы (пример)
Работа посвящена исследованию одного из методов анализа многомерных временных рядов - метода "гусеницы", также известного как Singular Spectrum Analysis или SSA. Метод можно разделить на четыре этапа - представление временного ряда в виде матрицы при помощи сдвиговой процедуры, вычисление ковариационной матрицы выборки и сингулярное ее разложение, отбор главных компонент,относящихся к различным составляющим ряда (от медленно меняющихся и периодических до шумовых), и, наконец, восстановление ряда.
Областью применения алгоритма являются задачи как метеорологии и геофизики, так и экономики и медицины. Целью данной работы является выяснение зависимости эффективности алгоритма от выбора временных рядов, используемых в его работе.
Задача 14: Использование теста Гренджера при прогнозировании временных рядов
При прогнозировании ряда бывает полезно определить, является ли данный ряд "зависимым" от некоторого другого ряда. Выявить подобную связь помогает тест Грейнджера, основанный на статистических тестах(при этом метод не гарантирует точного результата - при сравнении двух рядов, зависящих от еще одного ряда возможна ошибка). Метод применяется при прогнозировании экономических явлений и явлений природного характера (например, землятрясений).
Цель работы - предложить алгоритм, наилучшим образом использующий данный метод; исследовать эффективность метода в зависимости от прогнозируемых рядов.
Задача 15: Прогнозирование и аппроксимация сплайнами
Описание.
Задача 16: ARIMA и GARCH при прогнозировании высоковолатильных рядов
Описание.
Задача 17: Прогнозирование и SVN–регрессия
Описание.
Задача 18: Прогнозирование методом PLS
Описание.
Список задач, черновик
- Непараметрическое прогнозирование (выбор ядра из набора, настройка параметров)
- Прогнозирование и экспоненциальное сглаживание (набор временных рядов, исследование современного состояния)
- Непараметрическое прогнозирование рядов с периодической составляющей (по мотивам работ прогнозирования объемов продаж)
- Многомерная гусеница, выбор длины и числа компонент гусеницы (сравнение сглаженного и несглаженного временного ряда)
- Многомерная гусеница, выбор временных рядов при прогнозировании
- Многомерная авторегрессия
- Локальные методы прогнозирования, поиск метрики
- Локальные методы прогнозирования, поиск инвариантного преобразования
- Прогнозирование с использованием пути наименьшей стоимости (DTW)
- Выбор функции активации при прогнозировании нейронными сетями
- Выбор ядра при прогнозировании функциями радиального базиса
- Исследование сходимости при прогнозировании нейронными сетями с обратной связью
- Прогнозирование функциями дискретного аргумента
- Использование теста Гренджера при прогнозировании временных рядов
- Прогнозирование и SVN – регрессия
- ARIMA и GARCH при прогнозировании высоковолатильных рядов с периодической составляющей (цен на электроэнергию)
- Прогнозирование и аппроксимация сплайнами
Экспоненциальное сглаживание
- Модель Брауна — экспоненциальное сглаживание.
- Модель Хольта — учитываются линейный тренд без сезонности.
- Модель Хольта-Уинтерса — учитываются мультипликативный тренд и сезонность.
- Модель Тейла-Вейджа — учитываются аддитивный тренд и сезонность.
- Модель Тригга-Лича — следящий контрольный сигнал используется для адаптации параметров адаптации
- Сезонность
- Анализ адекватности адаптивных моделей
Примеры и данные
- Временной ряд
- Временной ряд (библиотека примеров)
- Прогнозирование ежедневных цен на электроэнергию (отчет)
- Daily electricity price forecasting (report)
- Прогнозирование временных рядов методом SSA (пример)
- Многомерная гусеница, выбор длины и числа компонент гусеницы (пример)
- Прогнозирование функциями дискретного аргумента (пример)
- Коллекция реальных данных
ARIMA model examples [1] , [2] , [3] , [4] , [5] !!!!!! , [6] , [7] , [8] , [9] , [10]
Ковариационный анализ
- Ковариационный анализ
- Canonical correlation
- Cross-covariance matrix
- Причинность по Грейнджеру
Ссылки на ранее сделанный код и домашние задания
- Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Группа 874, весна 2011
- Руководство исследовательскими проектами (практика, В.В. Стрижов)
- Выделение периодической компоненты временного ряда (пример)
- Сравнение временных рядов при авторегрессионном прогнозе (пример)
- Прогнозирование финансовых пузырей (пример)
- Прогнозирование объемов продаж групп товаров (отчет)
- Долгосрочное прогнозирование ежедневных цен на электроэнергию (пример)
- Обнаружение жизненного цикла товаров (отчет)
Список вопросов и задач для зкзамена
Ссылки на материалы курса
Youtube video
- Л1: Анализ ошибки и вероятностные модели
- Л2: Примеры прогностических моделей и вероятностная интерпретация
- Л3: Свертка и фазовая траектория
- Л4: Авторегрессионные модели и учет ошибки
- Л5: Динамическое выравнивание, локальное прогнозирование
- Л6: Метод проекции в скрытые пространства PLS
ACF: автокорреляционная функция
- Autocorrelation
- Autocorrelation Matrix
- FPCA illustration
- An Example of ACF in Two Dimensions
- Effect of Windowing Function on Autocorrelation Function
- Sample ACF and Properties of AR(1) Model
- 2.8 Autocorrelation
- Autocorrelation Function of Exponential Sequence
- Fast way reduce noise of autocorrelation function in python?
References
Main and supplimentary
- Математические методы прогнозирования (лекции, В.В. Стрижов)/Группы 674, 774, весна 2021. (Взять лабы и материалы)
- Математические методы прогнозирования (лекции, А.В. Грабовой, В.В. Стрижов)/Осень 2021 (Взять материалы без лаб)