522 гр., по выбору. Статистический анализ временных рядов
Место и время проведения: ?
Преподаватель: Голяндина Нина Эдуардовна
“Those who have the knowledge, don’t predict. Those who predict, don’t have knowledge.” – Lao Tzu, 6th Century BC Chinese philosopher
Вот спрашивают - а с чего это китайская цитата на английском. А нет ответа.
Примерное не совсем полное содержание семинара содержится в теоретических вопросах прошлых лет здесь
Задания нужно делать заранее в R (RMarkdown); приходите на занятия с ноутбуком. Выступления на занятиях по сделанным заданиям являются необходимым условием для зачета. Нужно показывать численные результаты, код и объяснять теорию. Мы будем обсуждать сделанное.
Обращаю внимание, что каждый раз нужно перерабатывать свою работу на основе (1) обсуждения показов заданий на предыдущих парах и (2) на новом материале. Для структурирования работы можно использовать приведенные выше теоретические вопросы, так как работа должна поддерживать с практической точки зрения почти все из них.
Кроме этого, сохраняйте все задания, исправляйте по результатам выступлений. Они понадобятся для зачета. (В зачет входит и теоретический опрос.)
Полезный ресурс по временным рядам в R - http://r-statistics.co/Time-Series-Analysis-With-R.html
Некоторые материалы лекций см. здесь
Конспект лекций по SSA за 2010 год(обозначения старые).
Электронная книга R.Hyndman Forecasting: Principles and Practice (включая экспоненциальное сглаживание и ARIMA)
К зачету¶
TBA
Семинары 2025¶
20.05.2025 - Экспоненциальные сглаживания (ETS), ссылка на книгу Hyndman выше. MSSA. 2D-SSA. Последнее задание на 27.05.2025: (1) Добавить к прогнозам с дов. интервалами и их ошибками по SSA и ARIMA то же самое по экспоненциальному сглаживанию (модель подбирает функция ets). (2) Генерировать систему временных рядов сколько-то (много) раз и проверить, что в случае согласованных сигналов точность MSSA выше точности SSA (в среднем). Посмотреть, как от уровня шума во втором ряде зависит, является ли он поддерживающим. (3) Взять какое-то изображение и сделать с ним что-нибудь (не?)осмысленное с помощью 2D-SSA.
13.05.2025 - Seasonal ARIMA. обнаружение разладки. Задание на 20.05.2025: (1) Постройте на основе модели auto.arima прогноз своего реального ряда с предсказательным интервалом. Используйте параметры trace, stepwise. Сравните с прогнозом по SSA (на отрезанном периоде) по точности. Для обоих методов рисуйте прогноз вместе с доверительными интервалами. Код подсматривайте здесь https://ssa-with-r-book.github.io/03-chapter3.html. (2) сгенерировать ряды с разладками разного типа, построить матрицу неоднородностей (hmatr), из нее взять строковую и диагональную функции разладки и нарисовать, синхронизировав с рядом. Объяснить. (3) Сделать то же самое для реального ряда - там все будет неочевидно, но просто посмотреть.
06.05.2025 - ARIMA. Задание на 13.05.2025: 0) погенерируйте процессы ARIMA и попробуйте оценить порядок с помощью ACF-PACF, а также auto.arima, посмотрите, насколько адекватно оцениваются коэффициенты. (1) Определение модели авторегрессии для модельных данных модельные ряды (возьмите пару примеров, варианты (1,5), (2,6), (3,7), (4,8), (9,10), (12,13), (10,15), (11,14)), построение прогноза с доверительными интервалами. Для определения модели используйте ACF, PACF, для оценивания параметров arima или лучше Arima (пакет forecast https://otexts.com/fpp2/arima-r.html, там же прогноз), потом еще автоматический подбор модели по AIC auto.arima. (Тест на единичный корень называется Dickey–Fuller test for unit roots.) Если ряд надо дифференцировать, то перед построением acf и pacf используйте diff. (2) Постройте на основе модели auto.arima прогноз своего реального ряда с предсказательным интервалом. Используйте параметры trace, stepwise.
29.04.2025 - обсуждали доверительные/предсказательные интервалы для SSA прогноза и заполнение пропусков. Задание на 06.05.2025: (1) Построить бутстреп-доверительные/предсказательные интервалы (vforecast, forecast), сравнить разные виды SSA прогноза, разный выбор параметров… (2) сделать в своем ряде искусственную “дырку” и заполнить ее gapfill и igapfill, сравнить (3)смоделировать искусственные ряды и сравнить среднюю ошибку gapfill и igapfill, если группа пропусков в середине, и если в конце (прогноз).
22.04.2025 - обсуждали сезонные разложения и SSA прогноз. Задание на 29.04.2025: (1) сделать разложение ряда методами SSA (с улучшением разделимости), classical seasonal decomposition (decompose), STL (stl). В каждом случае рисовать тренд на фоне ряда и проверять остаток на белый шум (периодограмма и ACF). (2) сделать SSA прогноз (rforecast, vforecast) отдельно сигнала, тренда и сезонности. По корням прогнозирующей ЛРФ посмотрите, как будет вести себя долгосрочный прогноз, проверьте, построив его. Делайте анализ ряда, предварительно отрезав для сравнения 1-2 периода с конца ряда. Можно укоротить ряд до пункта (1), чтобы два раза не делать разный SSA.
08.04.2025 - Обсудили ESPRIT и eossa Задание на 15.04.2024 Улучшить разделимость с помощью eossa, функция eossa_new. Можете попробовать поменять метод кластеризации корней (distance), если покажется, что его можно улучшить.
01.04.2025 - Обсудили методы оценки параметров на основе ЛРФ, а также iossa. Задание на 08.04.2024 (1) По сигналу без шума построить его вещественную аналитическую формулу, можно использовать функции из Rssa - lrr, roots (корни полинова по lrr) для модельных рядов, где ЛРФ - минимальная, т.е. L = r+1 (или (r+1)-й собственный вектор). Ранг ряда r определяется по числу ненулевых собственных чисел, лучше задавать svd.method = “svd”, он точнее. Добавьте пример с кратными корнями. (2) Усложнение задание - нужно пройти от ряда к явному виду сигнала, добавив к модельным сигналам шум. Разница в следующем: большая длина окна, выбор компонент, относящихся к сигналу, неминимальная ЛРФ, нахождение сигнальных корней по ESPRIT (parestimate), превращение близких корней в кратный корень усреднением, оценка коэффициентов перед слагаемыми по lm по всему ряду. (3) сделайте вариант ‘(1)’ после применения итераций Cadzow. (4) Попробуйте найти явный вид сигнала для своего реального ряда. (5) Проверьте, что метод, который собирает корни не меньше 1 по модулю, для ряда и перевернутого (inverse) ряда, работает (проверить просто визуально по plot, который, примененный к lrr (и/или roots), рисует корни на круге.) Помогут фрагменты 3.1.1, 3.1.2, 3.5.9-3.5.11 https://ssa-with-r-book.github.io/02-chapter2-part2.html
(6) Примените iossa для какого-нибудь модельного примера без обычной слабой разделимости; напоминаю, что в iossa важно задавать правильно nested.groups - их размеры должна соответствовать рангам отделяемых слагаемых, а включаемые в них компоненты должны быть больше похожи на то, что вы ожидаете получить после улучшения.
25.03.2025 - Задание на 01.04.2025 (1) Попробовать перед auto-ssa улучшить разделимость с помощью fossa (DerivSSA) https://ssa-with-r-book.github.io/02-chapter2-part2.html#fragment-286-us-unemployment-improvement-by-derivssa. (2) Сгенерировать ряды конечного ранга с разными наборами корней характеристического полинома, включая кратные. Потом подать ряд на вход, построить линейную рекуррентную формулу, найти корни ее х.п., по ним построить регрессоры и найти коэффициенты C_{mj}, решая линейную систему (а можно и по lm). Проверить, что полученная явная формула ряда действительно описывает исходный ряд.
18.03.2025 - Задание на 25.03.2025 (1) построить еще тренды с помощью loess и HP фильтра (там в случае отсутствия периодичности эмпирически подходящая lambda = 100. Частота в квадрате от второй производной, умноженная на lambda, примерно равна 100. Поэтому для периода 12 получаем lambda = 14400). Для loess проверить устойчивость к выбросам в варианте с итерациями; (2) посмотреть, как работает box-cox transformation; (3) попробовать выделить тренд с помощью автоматической группировки в SSA. (4) посмотреть, как SSA с проекциями выделяет полиномиальный тренд.
11.03.2025 - Задание на 18.03.2025 с помощью выделения тренда построить огибающую для модулированной синусоиды. Если огибающая - косинус с маленькой частотой, то тренд хорошо выделяется SSA, включить это в примеры. Также для шума с меняющейся дисперсией получить поведение этой дисперсии (нарисовать шум с наложенным доверительным интервалом). (и SSA фильтр, кто не делал)
04.03.2025 - смотрели задания по фильтрам и трендам, аддитивная и мультипликативная модель. Задание на 11.03.2025: (l) добавить к трендам с прошлого раза полиномиальные тренды и (2) посмотреть на SSA как на применение адаптивного фильтра.
25.02.2025 - про фильтры, АЧХ. Д.з. Задание на 04.03.2025: (1) разобраться с фильтрами, их АЧХ, и применить к модельным и реальным данным (для реальных данных попробовать выделить тренд скользящим средним). В том числе, построить периодограмму до применения фильтра и после. Код для АЧХ см. http://statmod.ru/wiki/study:spring2019:ts_pract за 1 марта (поменяйте неправильные символы типа стрелочек и кавычек на текстовые варианты или попросите ChatGPT/deepseek написать вам код на r для АЧХ). (2) сгенерировать белый и красный шумы и с помощью скользящего среднего, примененного к периодограмме, оценить спектральную плотность.
(3) (по SSA) воспользоваться пакетом Rssa: проверить теорию SSA по разделимости на модельных рядах - посмотреть, какой ранг у экспонент, полиномов, косинусов и их произведений (пользуйтесь svd.method = “svd” в функции ssa; если s <- ssa(…), то доступ к сингулярным числам svd разложения идет через s\$sigma); построить примеры, когда есть/нет точная разделимость, есть/нет разделимость по вкладу. Посмотреть, как выглядят собственные векторы, по ним сделать группировку и найти слагаемые ряда. Применить к вашему реальному ряду. Примеры кода см. https://ssa-with-r-book.github.io/01-chapter2-part1.html (фрагменты 2.1.1-2.1.3). Нарисовать на одном графике тренды, которые выделены скользящим средним и SSA для реального ряда.
18.02.2025 - Смотрели задания по периодограммам.
11.02.2025 - о типах рядов и их структуре. Периодограммы. Задание на 18.02.2025: 1) на примере синуса показать эффект растекания в периодограммах (taper=0), 2) сгенерировать белый и красный шум и построить их периодограммы. (в 1) и 2) показать, как меняются периодограммы при увеличении длинs ряда; научиться строить периодограммы без лог-шкалы по оси Y, использовать demean, detrend), 3) найти реальный временной ряд, состоящий их тренда, периодичности и шума, построить периодограмму и объяснить ее.
Функции для периодограммы - spec.pgram (без сглаживания), periodogram. Напоминаю про тип данных ts.
Вот тут пример, но разложение делать не надо https://habr.com/ru/articles/505738/, только ДО него.
Семинары 2024¶
21.05.2024 - Обнаружение разладки SSA (матрица неоднородностей, функции разладки). Экспоненциальные сглаживания (ETS), ссылка на книгу Hyndman выше. MSSA. 2D-SSA. Последнее задание (28.05.2024 - все показывают всё): (1) сгенерировать ряд с разладкой, построить матрицу неоднородностей (hmatr), из нее взять строковую и диагональную функции разладки и нарисовать, синхронизировав с рядом. Объяснить. (2) Добавить к прогнозам с дов. интервалами и их ошибками по SSA и ARIMA то же самое по экспоненциальному сглаживанию (модель подбирает функция ets). (3) Взять систему временных рядов и проверить, что в случае согласованных сигналов точность MSSA выше точности SSA. Взять какое-то изображение и сделать с ним что-нибудь осмысленное с помощью 2D-SSA.
14.05.2024 - Показ заданий. Обнаружение разладки, разные подходы. Начало про SSA подход.
30.04.2024 - ARIMA и Seasonal ARIMA. Задание на 14.05.2024: (1) Определение модели авторегрессии для модельных данных модельные ряды (возьмите пару примеров, варианты (1,5), (2,6), (3,7), (4,8), (9,10), (12,13), (10,15), (11,14)), построение прогноза с доверительными интервалами. Для определения модели используйте ACF, PACF, для оценивания параметров arima или лучше Arima (пакет forecast https://otexts.com/fpp2/arima-r.html, там же прогноз), потом еще автоматический подбор модели по AIC auto.arima. (Тест на единичный корень называется Dickey–Fuller test for unit roots.) Если ряд надо дифференцировать, то перед acf и pacf используйте diff. (2) Постройте на основе модели auto.arima прогноз своего реального ряда. Напоминаю: там есть параметры trace, stepwise. Сравните с прогнозом по SSA (на отрезанном периоде) по точности. Для обоих методов рисуйте прогноз вместе с доверительными интервалами. Код подсматривайте здесь https://ssa-with-r-book.github.io/03-chapter3.html.
23.04.2024 - доказательство метода ESPRIT, eossa (для улучшения разделимости, код у Павла, добавьте к iossa), заполнение пропусков. Начали изучать AR(p) - модель, оценка параметров, oценка p. Задание на 30.04.2024: (1) отрезать от ряда последние точки (1-2 периода) и построить прогноз, рекуррентный и векторный, сравнить по точности (rforecast, bforecast). Построить бутстреп-доверительные интервалы (vforecast). (2) сделать в своем ряде искусственную “дырку” и заполнить ее gapfill и igapfill. (3) cгенерируйте процесс авторегрессии и попробуйте оценить его порядок с помощью ACF-PACF, а также auto.arima.
16.04.2024 - Обсудили методы оценки параметров на основе ЛРФ и два метода SSA прогноза (задания на 16.04.2024 в расширенном виде перенеслись на 23.04.2024). Задание на 23.04.2024 (1) Задание с прошлого раза, были функции из Rssa - lrr, roots (корни полинова по lrr) для модельных рядов, где ЛРФ - минимальная, т.е. L = r+1. Ранг ряда r определяется по числу ненулевых собственных чисел. Добавьте пример с кратными корнями. (2) Усложнение задание - нужно пройти от ряда к явному виду сигнала, добавив к модельным рядам шум. Разница в следующем: большая длина окна, выбор компонент, относящихся к сигналу, неминимальная ЛРФ, нахождение сигнальных корней по ESPRIT (parestimate), превращение близких корней в кратный корень усреднением, оценка коэффициентов перед слагаемыми по lm по всему ряду. (3) Попробуйте найти явный вид сигнала для своего реального ряда. (4) Проверьте, что метод, которые собирает корни не меньше 1 по модулю, для ряда и перевернутого (inverse) ряда, работает. (plot, примененная к lrr (и/или roots), рисует корни на круге.)
Помогут фрагменты 3.1.1, 3.1.2, 3.5.9-3.5.11 https://ssa-with-r-book.github.io/02-chapter2-part2.html
09.04.2024 - смотрели задания, разбирались, как ходить по цепочке (Явный вид ряда) - (корни х.п.) - (х.п.) - ЛРФ - (временной ряд), туда и обратно. Задание на 16.04.2024 Взять модельные ряды конечного ранга и пройти по этой цепочке в оба направления для минимальной ЛРФ. Для нахождения линейных коэффициентов можно использовать lm.
02.04.2024 - смотрели задания, обсуждали преобразования для стабилизации дисперсии и box-cox transformation. Задание на 09.04.2024: попробовать, как работает преобразование box-cox transformation (функция BoxCox), попробовать сделать разложение и выделение тренда с преобразованными данными и потом вернуться обратно (InvBoxCox).
26.03.2024 - смотрели задания, обсуждали iossa и сезонные разложения. Задание на 02.04.2024: добавить разложение ряда методами SSA (можно использовать fossa, iossa - перед заданием начальной группировки в iossa можно использовать fossa), classical seasonal decomposition (decompose), STL (stl). В каждом случае рисовать тренд на фоне ряда и проверять остаток на белый шум (периодограмма и ACF).
19.03.2024 - смотрели задания и обсуждали автоматическую группировку. Задание на 26.03.2024: применить для выделения тренда автогруппировку https://ssa-with-r-book.github.io/02-chapter2-part2.html#fragment-289-paynsa-automatically-identified-trend. Попробовать перед ее применением улучшить разделимость с помощью fossa (DerivSSA) https://ssa-with-r-book.github.io/02-chapter2-part2.html#fragment-286-us-unemployment-improvement-by-derivssa.
12.03.2024 - смотрели задания по трендам и разделимости. Задание на 19.03.2024: (l) с помощью выделения тренда построить огибающую для модулированной синусоиды. Если огибающая - косинус с маленькой частотой, то тренд хорошо выделяется SSA, включить это в примеры. Также для шума с меняющейся дисперсией получить поведение этой дисперсии (нарисовать шум с наложенным доверительным интервалом) и (2) посмотреть на модельных примерах, как работает вариант SSA для стац. рядов (Toeplitz) и при линейном тренде (SSA двойным центрированием). В последнем случае линейный тренд получается сначала применением SSA с двойным центрированием, а потом применением линейной регрессии к результату.
Toeplitz: https://ssa-with-r-book.github.io/01-chapter2-part1.html#fragment-221-noisy-sinusoid-toeplitz-ssa
Centering: https://ssa-with-r-book.github.io/01-chapter2-part1.html#fragment-231-co2-ssa-with-projection
05.03.2024 - смотрели задания по фильтрам и трендам, добавились тренды HP и loess. Задание на 12.03.2024: (l) добавить к трендам с прошлого раза два новых тренда и (2) посмотреть на модельных примерах, как работает асимптотическая разделимость, и построить для модельных примеров и реального ряда матрицу взвешенных корреляций.
27.02.2024 - про фильтры, АЧХ, скользящее среднее, аддитивную/мультипликативную модель. Задание на 05.03.2024: (1) разобраться с фильтрами, их АЧХ, и применить к модельным и реальным данным (для реальных данных попробовать выделить тренд скользящим средним). В том числе, построить периодограмму до применения фильтра и после. Код для АЧХ см. http://statmod.ru/wiki/study:spring2019:ts_pract за 1 марта (поменяйте неправильные символы типа стрелочек и кавычек на текстовые варианты). (2) сгенерировать белый и красный шумы и с помощью скользящего среднего, примененного к периодограмме, оценить спектральную плотность. (3) нарисовать на одном графике тренды, которые выделены скользящим средним, SSA и полиномиальной регрессией (посмотрите на полиномы разной степени, функция poly генерирует признаки для полиномиальной регрессии заданной степени). Идея состоит в том, что в каждом методе есть параметр, отвечающий за степень “извилистости” тренда. Поэтому можно получить похожие тренды.
20.02.2024 - Смотрели задания по периодограммам. Рассказала про автокорреляционную функцию ACF. Задание на 27.02.2024: 1) построить для шумов и вашего ряда ACF; 2) воспользоваться пакетом Rssa: проверить теорию SSA по разделимости на модельных рядах - посмотреть, какой ранг у экспонент, полиномов, косинусов и их произведений (пользуйтесь svd.method = “svd” в функции ssa; если s <- ssa(…), то доступ к сингулярным числам svd разложения идет через s\$sigma); построить примеры, когда есть/нет точная разделимость, есть/нет разделимость по вкладу. Посмотреть, как выглядят собственные векторы, по ним сделать группировку и найти слагаемые ряда. Примеры кода см. https://ssa-with-r-book.github.io/01-chapter2-part1.html (фрагменты 2.1.1-2.1.3).
13.02.2024 - о типах рядов и их структуре. Периодограммы. Задание на 20.02.2024: 1) на примере синуса показать эффект растекания в периодограммах (taper=0), 2) сгенерировать белый и красный шум и построить их периодограммы. (в 1) и 2) показать, как меняются периодограммы при увеличении длинs ряда; научиться строить периодограммы без лог-шкалы по оси Y, использовать demean, detrend), 3) найти реальный временной ряд, состоящий их тренда, периодичности и шума, построить периодограмму и объяснить ее.
Функции для периодограммы - spec.pgram (без сглаживания), periodogram. Напоминаю про тип данных ts.
Вот тут пример, но разложение делать не надо https://habr.com/ru/articles/505738/, только до него.
Семи/Вебинары 2023¶
23.05.2023 Forecasting: Principles and Practice - ссылка на книгу, где можно почитать про ETS (и про многое другое). Последнее домашнее задание на 30.05. (1) Добавить к сравнению прогнозов по MSE прогноз по ETS (2) сгенерировать подходящие данные и продемострировать на них обнаружение разладки, многомерный SSA (что лучше, одномерный или многомерный), а также взять картинку и провести 2D-SSA разложение.
16.05.2023 Д.з. на 23.05. Построение прогноза по Seasonal ARIMA для реальных данных, сравнение с SSA, в SSA строить доверительные бутстреп интервалы. По SSA дополнение - сделать в ряде искусственные дырки и заполнить их gapfill и igapfill. Еще - автоматическая идентификация тренда.
10.05.2023 Д.з. на 16.05. Определение модели авторегрессии для модельных данных модельные ряды (возьмите пару примеров, варианты (1,5), (2,6), (3,7), (4,8), (9,10), (12,13), (10,15), (11,14)), построение прогноза с доверительными интервалами. Для определения модели используйте ACF, PACF, для оценивания параметров arima или лучше Arima (пакет forecast https://otexts.com/fpp2/arima-r.html, там же прогноз), потом еще автоматический подбор модели по AIC auto.arima. (Тест на единичный корень называется Dickey–Fuller test for unit roots.) Если ряд надо дифференцировать, то перед acf и pacf используйте diff.
02.05.2023 Д.з. на 10.05. Добавить бутстреп-доверительные интервалы к прогнозу по SSA.
25.04.2023 - Д.з. на 02.05 (1) к д.з. на 25.04 добавить нахождение явного вида сигнала вашего реального ряда; (2) отрезать от своего реального ряда 1 или 2 периода и спрогнозировать их с помощью рекуррентного и векторного прогноза (rforecast и vforecast), сравнить. Объяснить поведение долгосрочного прогноза на основе корней прогнозирующей ЛРФ. Для выбора компонент для прогноза провести ssa-анализ укороченного ряда.
18.04.2023 - Рассказывала про связь связь линейного рекуррентного соотношения и сигнального подпространства. Методы оценивания подпространства, включая алгоритм ESPRIT. Д.з. на 25.04: (1) взять ряд конечного ранга без шума и без кратных корней х.п., оценить его ранг r с большим L. Потом взять L=r+1, получить минимальную ЛРФ из ортогонального дополнения к подпространству сигнала (U_{r+1}), на основе ее корней оценить нелинейно входящие параметры временного ряда. Решив систему уравнений для первых r элементов ряда найти линейно входящие параметры. Полученную формулу сигнала сравнить с исходным сигналом. (2) то же самое, только взять сигнал с кратными корнями и провести кластеризацию близких корней х.п. ЛРФ. (3) Взять сигналы из (1) и (2), добавить шум и найти примерно формулу сигнала. Разница с предыдущим в том, что L большое, сигнальные корни оцениваются приближенно с помощью ESPRIT (parestimate), линейно входящие параметры оцениваются по всем элементам ряда с помощью lm.
11.04.2023 - Рассказывала про связь связь линейного рекуррентного соотношения и явного вида временного ряда.
04.04.2023 - Дедлайн для отправки всех заданий, можно без выполнения заданий на 11 апреля, если вы сделаете эти задания к 11-му - воскресенье 9 апреля (при нарушении сроков будут штрафы). Задание на 11 апреля: добавить iossa для улучшения разложений в заданиях ранее (iossa можно сочетать с fossa, применяя последовательно), попробовать применить Toeplitz SSA на моделированных данных, SSA with projections (вариант с двойным центрированием для выделения линейного тренда) для ваших данных и для модельных с линейным трендом (в сравнении с Basic SSA).
28.03.2023 - Задание на 04 апреля: добавить разложение ряда методами SSA (можно использовать fossa), classical seasonal decomposition, STL. В каждом случае рисовать тренд на фоне ряда и проверять остаток на белый шум (периодограмма и ACF).
21.03.2023 - Задание на 28 марта: (1) найти тренд методом loess и с помощью HP-фильтра и добавить результаты к графику с прошлого раза, где на одном графике изображены тренды, которые выделены скользящим средним, SSA и полиномиальной регрессией. (2) Взять косинус с косинусоидально модулированной амплитудой, с помощью SSA найти эту огибающую и наложить ее на исходный ряд. То же самое сделать для шума с меняющейся дисперсией, только на исходный ряд накладывать предсказательный интервал (+- 1.96 SD). Напомню, что это делается с помощью нахождения тренда у квадрата исходного ряда.
14.03.2023 - Задание на 21 марта: нарисовать на одном графике тренды, которые выделены скользящим средним, SSA и полиномиальной регрессией (посмотрите на полиномы разной степени, функция poly генерирует признаки для полиномиальной регрессии заданной степени)
07.03.2023 - про фильтры, АЧХ, скользящее среднее. Задание на 14 марта: (1) разобраться с фильтрами, их АЧХ, и применить к модельным и реальным данным (для реальных данных попробовать выделить тренд скользящим средним). В том числе, построить периодограмму до применения фильтра и после. Код для АЧХ см. http://statmod.ru/wiki/study:spring2019:ts_pract за 1 марта (поменяйте неправильные символы типа стрелочек и кавычек на текстовые варианты). (2) сгенерировать белый и красный шумы и с помощью скользящего среднего, примененного к периодограмме, оценить спектральную плотность.
Вторая часть задания - по SSA. Попробуйте выделить тренд с помощью SSA (R-пакет Rssa).
28.02.2023 - все показывают задания по периодограммам.
21.02.2023 - периодограммы. Задание на 28.02: 1) на примере синуса показать эффект растекания в периодограммах (taper=0), 2) сгенерировать белый и красный шум и построить их периодограммы. (в 1) и 2) показать, как меняются периодограммы при увеличении длиня ряда; научиться строить приодограммы без лог-шкалы по оси Y), 3) найти временной ряд, состоящий их тренда, периодичности и шума, построить периодограмму и объяснить ее.
14.02.2023 - о типах рядов и их структуре
Литература и ссылки¶
- Ссылка на R-пакет Rssa, версия R будет нужна не меньше 3.2
- Статьи-tutorial для Rssa:
- Nina Golyandina, Anton Korobeynikov, Anatoly Zhigljavsky “Singular spectrum analysis with R”, 2018. Сайт с примерами в R из книги http://ssa-with-r-book.github.io
- Базовый метод (примеры частично не работают с новой версией пакета v1): N.Golyandina, A.Korobeynikov. Basic Singular Spectrum Analysis and Forecasting with R. Computational Statistics and Data Analysis. Volume 71, March 2014, pp.934-954. Версия в Arxiv
- Многомерные обобщения метода и общая схема: N.Golyandina, A.Korobeynikov, A.Shlemov, K.Usevich. Multivariate and 2D Extensions of Singular Spectrum Analysis with the Rssa Package. Journal of Statistical Software, v.67, Issue 2, 2015, pp.1-78. Открытый доступ к статье с кодом примеров: J.Stat.Soft.
- (не будет использоваться в курсе) Программа CaterpillarSSA (Windows). Для получения рег.ключа к студенческой версии мне нужно прислать запрос.