Модели ARIMAX и модели регрессии с ошибками ARIMA тесно связаны, и выбор которого можно использовать, обычно диктуется вашими целями по анализу. Если ваша цель состоит в том, чтобы соответствовать экономной модели к данным и предсказывать ответы, то существует очень мало различия между этими двумя моделями.
Если вы больше интересуетесь сохранением обычной интерпретации коэффициента регрессии, когда мера чувствительности, т.е. эффект модульного изменения в переменной прогноза на ответе, то использует модель регрессии с ошибками ARIMA. Коэффициенты регрессии в моделях ARIMAX не обладают той интерпретацией из-за динамической зависимости от ответа [1].
Предположим, что у вас есть оценки параметра из модели регрессии с ошибками ARIMA, и вы хотите, чтобы видеть, как образцовая структура выдерживает сравнение с моделью ARIMAX. Или, предположите, что вы хотите некоторое понимание относительно базового отношения между этими двумя моделями.
Модель ARIMAX (t = 1..., T):
(1) |
yt является одномерным рядом ответа.
Xt является строкой t X, который является матрицей конкатенированного ряда предиктора. Таким образом, Xt является наблюдением t каждого ряда предиктора.
β является коэффициентом регрессии.
c является прерыванием модели регрессии.
который является степенью полином оператора задержки P, который получает совместное воздействие сезонных и несезонных авторегрессивных полиномов и сезонных и несезонных полиномов интегрирования. Для получения дополнительной информации на обозначении, см. Мультипликативную Модель ARIMA.
который является степенью полином оператора задержки Q, который получает совместное воздействие сезонных и несезонных полиномов скользящего среднего значения.
εt является белым шумовым инновационным процессом.
Модель регрессии с ошибками ARIMA (t = 1..., T)
(2) |
ut является безусловным процессом воздействий.
который является степенью полином оператора задержки P, который получает совместное воздействие сезонных и несезонных авторегрессивных полиномов и сезонных и несезонных полиномов интегрирования.
который является степенью полином оператора задержки Q, который получает совместное воздействие сезонных и несезонных полиномов скользящего среднего значения.
Значения переменных, заданных в уравнении 2, не обязательно эквивалентны значениям переменных в уравнении 1, даже при том, что обозначение может быть подобным.
Рассмотрите уравнение 2, модель регрессии с ошибками ARIMA. Используйте следующие операции, чтобы преобразовать модель регрессии с ошибками ARIMA к его соответствующей модели ARIMAX.
Решите для ut.
Замените ut в уравнение регрессии.
Решите для yt.
(3) |
A (L) c = (1 – a 1 – a 2 –...– a P) c. Таким образом, константа в модели ARIMAX является прерыванием в модели регрессии с ошибками ARIMA с нелинейным ограничением. Хотя приложения, такие как simulate
, обрабатывают это ограничение, estimate
не может включить такое ограничение. В последнем случае модели эквивалентны, когда вы фиксируете прерывание и постоянный к 0.
В термине A (L) Xtβ полином оператора задержки A (L) фильтрует T-by-1 векторный Xtβ, который является линейной комбинацией предикторов, взвешенных коэффициентами регрессии. Этот процесс фильтрации требует преддемонстрационных наблюдений P за рядом предиктора.
arima
создает матричный Zt можно следующим образом:
Каждый столбец Zt соответствует каждому термину в A (L).
Первым столбцом Zt является векторный Xtβ.
Второй столбец Zt является последовательностью d 2
NaN
s (d 2 является степенью второго срока в A (L)), сопровождаемый продуктом . Таким образом, программное обеспечение присоединяет d 2
NaN
s в начале T-by-1 столбец, присоединяет Xtβ после NaN
s, но обрезает конец того продукта d 2 наблюдения.
j th столбец Zt является последовательностью dj
NaN
s (dj является степенью j th термин в A (L)), сопровождаемый продуктом . Таким образом, программное обеспечение присоединяет dj
NaN
s в начале T-by-1 столбец, присоединяет Xtβ после NaN
s, но обрезает конец того продукта наблюдениями dj.
.
Γ = [1 –a 1 –a 2... –a P]'.
Конвертер arima
удаляет все авторегрессивные коэффициенты с нулевым знаком разностного уравнения. Впоследствии, конвертер arima
не сопоставляет авторегрессивные коэффициенты с нулевым знаком со столбцами в Zt, и при этом это не включает соответствующие, коэффициенты с нулевым знаком в Γ.
Перепишите уравнение 3,
Например, рассмотрите следующую модель регрессии, ошибки которой являются ARMA (2,1):
(4) |
или
где Γ = [1 – 0.8 0.4]' и
Эта модель не интегрирована, потому что все собственные значения, сопоставленные с полиномом AR, в модульном кругу, но предикторы могут влиять на в противном случае стабильный процесс. Кроме того, вы нуждаетесь в преддемонстрационных данных о предикторе, возвращающихся по крайней мере 2 периода к, например, соответствуете модели к данным.
Можно проиллюстрировать это далее посредством симуляции и оценки.
Задайте модель регрессии с ошибками ARIMA в уравнении 4.
Mdl1 = regARIMA('Intercept',0.2,'AR',{0.8 -0.4},... 'MA',0.3,'Beta',[0.3 -0.2],'Variance',0.2);
Сгенерируйте преддемонстрационные наблюдения и данные о предикторе.
rng(1); % For reproducibility T = 100; maxPQ = max(Mdl1.P,Mdl1.Q); numObs = T + maxPQ;... % Adjust number of observations to account for presample X1 = randn(numObs,2); % Simulate predictor data u0 = randn(maxPQ,1); % Presample unconditional disturbances u(t) e0 = randn(maxPQ,1); % Presample innovations e(t)
Моделируйте данные из Mdl1
.
rng(100) % For reproducibility [y1,e1,u1] = simulate(Mdl1,T,'U0',u0,... 'E0',e0,'X',X1);
Преобразуйте Mdl1
в модель ARIMAX.
[Mdl2,X2] = arima(Mdl1,'X',X1);
Mdl2
Mdl2 = arima with properties: Description: "ARIMAX(2,0,1) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 2 D: 0 Q: 1 Constant: 0.12 AR: {0.8 -0.4} at lags [1 2] SAR: {} MA: {0.3} at lag [1] SMA: {} Seasonality: 0 Beta: [1 -0.8 0.4] Variance: 0.2
Сгенерируйте преддемонстрационные ответы для модели ARIMAX, чтобы гарантировать непротиворечивость Mdl1
. Моделируйте данные из Mdl2
.
y0 = Mdl1.Intercept + X1(1:maxPQ,:)*Mdl1.Beta' + u0; rng(100) y2 = simulate(Mdl2,T,'Y0',y0,'E0',e0,'X',X2); figure plot(y1,'LineWidth',3) hold on plot(y2,'r:','LineWidth',2.5) hold off title('{\bf Simulated Paths for Both Models}') legend('regARIMA Model','ARIMAX Model','Location','Best')
Моделируемые пути эквивалентны, потому что конвертер arima
осуществляет нелинейное ограничение, когда это преобразовывает прерывание модели регрессии в постоянную модель ARIMAX.
Соответствуйте модели регрессии ошибками ARIMA к моделируемым данным.
ToEstMdl1 = regARIMA('ARLags',[1 2],'MALags',1); EstMdl1 = estimate(ToEstMdl1,y1,'E0',e0,'U0',u0,'X',X1);
Regression with ARMA(2,1) Error Model (Gaussian Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Intercept 0.14074 0.1014 1.3879 0.16518 AR{1} 0.83061 0.1375 6.0407 1.5349e-09 AR{2} -0.45402 0.1164 -3.9007 9.5927e-05 MA{1} 0.42803 0.15145 2.8262 0.0047109 Beta(1) 0.29552 0.022938 12.883 5.597e-38 Beta(2) -0.17601 0.030607 -5.7506 8.8941e-09 Variance 0.18231 0.027765 6.5663 5.1569e-11
Соответствуйте модели ARIMAX к моделируемым данным.
ToEstMdl2 = arima('ARLags',[1 2],'MALags',1); EstMdl2 = estimate(ToEstMdl2,y2,'E0',e0,'Y0',... y0,'X',X2);
ARIMAX(2,0,1) Model (Gaussian Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Constant 0.084996 0.064217 1.3236 0.18564 AR{1} 0.83136 0.13634 6.0975 1.0775e-09 AR{2} -0.45599 0.11788 -3.8683 0.0001096 MA{1} 0.426 0.15753 2.7043 0.0068446 Beta(1) 1.053 0.13685 7.6949 1.4166e-14 Beta(2) -0.6904 0.19262 -3.5843 0.00033796 Beta(3) 0.45399 0.15352 2.9572 0.0031047 Variance 0.18112 0.028836 6.281 3.3634e-10
Преобразуйте EstMdl1
в модель ARIMAX.
ConvertedMdl2 = arima(EstMdl1,'X',X1)
ConvertedMdl2 = arima with properties: Description: "ARIMAX(2,0,1) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 2 D: 0 Q: 1 Constant: 0.087737 AR: {0.830611 -0.454025} at lags [1 2] SAR: {} MA: {0.428031} at lag [1] SMA: {} Seasonality: 0 Beta: [1 -0.830611 0.454025] Variance: 0.182313
Предполагаемая постоянная модель ARIMAX не эквивалентна модели ARIMAX, постоянной преобразованный из модели регрессии с ошибками ARIMA. Другими словами, EstMdl2.Constant = 0.0849961
и ConvertedMdl2.Constant = 0.087737
. Это вызвано тем, что estimate
не осуществляет нелинейное ограничение, которое осуществляет конвертер arima
. В результате другие оценки не эквивалентны также, хотя близко.
[1] Хиндмен, R. J. (2010, октябрь). “Образцовая путаница ARIMAX”. Роб Дж. Хиндмен. Полученный 4 мая 2017 из https://robjhyndman.com/hyndsight/arimax/
.