Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
1. Из базы данных global_economy (в пакете fpp3) выберите страну (или территорию, или
регион) и какую-либо экономическую переменную (временной ряд с 1960 по 2017 гг.).
view(global_economy)
Построим графики ACF и PACF для первой разности ряда при помощи команды:
Диагностический график для разностного ряда - acf слабо выходят за границы. На pacf
статистически значимы первые 2 пика по графику - (коэффициенты отрицательные)
авторегрессия 2-го порядка AR(2). Для acf только один пик выходит за границы - скорее
всего, это модель скользящего среднего первого порядка.
Проверим, какой порядок разности (AR) нужно взять. Функция сама вычислит, сколько раз
нужно взять первую разность, чтобы прийти к стационарности. Код:
Country ndiffs
<fct> <int>
1 Netherlands 1
Таким образом, требуемый порядок разности - n=1
Наша модель приемлема, если в остатках нет автокорреляции. В идеале, остатки должны
быть белым шумом. Все пики на графике acf находятся в пределах интервала - значит, в
остатках нет автокорреляции. Однако график распределения остатков отличается от
нормального.
Проведем формальный тест Льюнга-Бокса. Если p-value - большое, значит остатки - это
белый шум. Команда:
Результат исполнения:
Вывод: Пост-диагностика показала, что модель удовлетворительна – высокий уровень p-
value.
Разбиваем выборку на две части - обучающую и тестовую (меньшую по размеру, после 2010
года).
training <- global_economy %>% filter(Code == "NLD") %>% filter(Year <= 2010)
test <- global_economy %>% filter(Code == "NLD") %>% filter(Year > 2010)
Сравниваем прогноз с тем, что реализовано на самом деле. Команда:
График прогноза для модели (например, для (2,1,0)) можно построить при помощи
следующей команды:
install.packages('arfima')
install.packages('fracdiff')
В связи с другой структурой данных в этом пакете, заново отделим часть от дататфрейма,
необходимую нам для анализа, а также удалим из нее все NA:
NLD_part=df[df$Code == "NLD", ]
avector=na.omit(avector)
avector<-ts(avector,start=c(1961,1),frequency=1)
view(avector)
coef_hurst(avector)
summary(Model)
Результат исполнения:
d.f - имеет высокий уровень значимости. Теперь построим модель ARFIMA для разностного
ряда: