Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7615.pdf
Скачиваний:
2
Добавлен:
23.11.2023
Размер:
1.17 Mб
Скачать

Рисунок 5. Временной ход МПЧ с выделенными выбросами, которые были обнаружены средствами алгоритма МО, вторая итерация.

Сглаживание временного ряда

Далее средствами библиотеки statsmodels создадим сглаженную копию скорректированного временного хода. statsmodels — это модуль Python, который предоставляет классы и функции для оценки множества различных статистических моделей, а также для проведения статистических тестов и исследования статистических данных. Для каждого оценщика доступен обширный список статистики результатов. Напрмиер, данная библиотека, имеет возможность использовать Фильтр ХодрикаПрескотта. Данный фильтр представляет собой математический инструмент, используемый в макроэкономике, особенно в теории реального делового цикла, для удаления циклического компонента временного ряда из необработанных данных. Он используется для получения представления временного ряда в виде сглаженной кривой, которая более чувствительна к долгосрочным, чем к краткосрочным колебаниям. Вызвать данный фильтр можно командой statsmodels.tsa.filters.hp_filter.hpfilter(x, lamb=1600), где x

- временной ряда, а lamb - параметр сглаживания. import statsmodels.api as sm

# Корректируем аномалии

df_filtered = AnomalyInterpolation(anomaly_df, df_filtered, col_name)

# Выполняем сглаживание оригинального ряда и ряда с корректировкой аномалий gdp_cycle, df_trend_filtered = sm.tsa.filters.hpfilter(df_filtered, 100)

gdp_cycle, df_trend = sm.tsa.filters.hpfilter(original_df, 100)

fig = go.Figure()

fig.add_trace(go.Scatter( x=original_df.index, y=original_df['muf'],

# hovertext=df['A_info'], hoverinfo="text", marker=dict(

color="blue"

), showlegend=True, name = 'df_original'

))

fig.add_trace(go.Scatter( x=df_trend_filtered.index, y=df_trend_filtered,

# hovertext=df['B_info'],

37

line=dict( width=6), hoverinfo="text", marker=dict(

color="green"

), showlegend=True,

name = 'df_trend_filtered'

))

fig.add_trace(go.Scatter( x=df_trend.index, y=df_trend,

line=dict(color='red', width=2),

# hovertext=df['B_info'], hoverinfo="text", marker=dict(

color="green"

), showlegend=True, name = 'df_trend'

))

fig.update_xaxes(range=['2021-01-03', '2021-01-07'])

fig.show()

Рисунок 6. Сравнение оригинального временного ряда, сгаженного оригинального временного ряда и рядв с корректировкой аномалий и сглаживанием

На рисунке 6 в начале и конце дня 03.02 четко видны сглаженные отрезки. Функция сглаживания хорошо апроксимирует аномальные значения. Применение фильтрации выбросов позволило произвести более точное сглаживание аномальных участков.

ПРАКТИЧЕСКАЯ ЧАСТЬ Задание на лабораторную работу

Произвести детектирование аномалий и сглаживание временного ряда полного электронного содержания. Сделать вывод о необходимой чувствительности алгоритма IsolationForest и параметров сглаживащей функции.

38

ЛАБОРАТОРНАЯ РАБОТА № 3

Анализ временных рядов (регрессия)

Цель работы: изучение основных моделей временных рядов и стационарных временных рядов, расчѐт автокорреляционной и частной автокорреляционной функции временного ряда.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Анализ моделей временных рядов является логическим продолжением базового курса эконометрики пространственных данных. Принципиальное различие в структурах пространственных и временных выборок требует рассмотрения для них отдельных методов и подходов к оцениванию. При построении эконометрических регрессионных моделей для временных рядов возникает ряд особенностей, которые необходимо учесть:

упорядоченность во времени (хронологический порядок);

зависимость от прошлого (―память‖, серийная или автокорреляция);

различаются краткосрочные и долгосрочные зависимости и модели;

часто встречается феномен ―ложной регрессии‖;

бывает небольшое число наблюдений (как правило при работе с макроданными), которое невозможно увеличить (т.к. изменяется вид или структура зависимости).

Наиболее распространѐнные модели временных рядов (одномерные и многомерные): 1. стационарные ряды;

2. стационарные относительно тренда или TS-ряды; 3. ряды с единичным корнем или DS-ряды;

4. ряды с переменной волатильностью или с условной гетероскедастичностью. Для каждой модели существуют свои подходы к оцениванию и построению регрессий.

Рассмотрим основные модели стационарных временных рядов:

модель скользящего среднего MA (Moving Average);

модель авторегрессии AR (AutoRegression);

общая смешанная модель ARMA авторегрессии-скользящего среднего.

Модели стационарных рядов Для удобства представления различных моделей часто используется (формальный)

лаговый оператор L:

Далее

Следовательно,

и формально положим

Модель ARMA Начнѐм сразу с общего вида модели ARMA(p, q)

(1.1)

Замечание. Проинтерпретировать модель можно следующим образом: текущее значение зависит от прошлых значений до лага p и от текущего и прошлых внешних

39

шоков до лага q. Коэффициенты такой модели в общем случае не имеют экономической интерпретации

Запишем (1.1) используя лаговый оператор L:

Перепишем в виде

Теперь введѐм два многочлена степени p и q:

Тогда модель (1.1) формально можно записать

Определение. Многочлен φ(z) называется авторегрессионным многочленом.

Определение. называется авторегрессионной частью модели ARMA, а – частью скользящего среднего.

Утверждение. Модель ARMA определяет стационарный ряд выполнено условие стационарности: все корни (в том числе из C) авторегрессионного многочлена

по модулю больше единицы. Ссылка:

https://drive.google.com/file/d/1yH4QKhV2iJPdF2fnbSJK9ovgKD6U9Y85/view?usp=shari

ng

ПРАКТИЧЕСКАЯ ЧАСТЬ Задание на лабораторную работу

1.Произвести расчѐт автокорреляционной и частной автокорреляционной функции временного ряда

2.Определить степень стационарности временного ряда с помощью критериев ДикиФуллера

3.Применить модель ARIMA для прогнозирования значений временного ряда на один период

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]