Модель регрессии с ошибками ARIMA имеет следующую общую форму (t = 1..., T)
(1) |
t = 1..., T.
yt является рядом ответа.
Xt является строкой t X, который является матрицей конкатенированных векторов данных предиктора. Таким образом, Xt является наблюдением t каждого ряда предиктора.
c является прерыванием модели регрессии.
β является коэффициентом регрессии.
ut является рядом воздействия.
εt является инновационным рядом.
который является степенью p, несезонный авторегрессивный полином.
который является степенью ps, сезонный авторегрессивный полином.
который является степенью D, несезонный полином интегрирования.
который является степенью s, сезонный полином интегрирования.
который является степенью q, несезонный полином скользящего среднего значения.
который является степенью qs, сезонный полином скользящего среднего значения.
Если вы указываете, что D = s = 0 (т.е. вы не указываете на сезонное или несезонное интегрирование), то каждый параметр идентифицируется. Другими словами, целевая функция вероятности чувствительна к изменению в параметре, учитывая данные.
Если вы указываете, что D> 0 или s> 0, и хотите оценить прерывание, c, то c не идентифицируется.
Можно показать, что это верно.
Рассмотрите уравнение 1. Решите для ut во втором уравнении и замените им в первое.
где
Функция правдоподобия основана на распределении εt. Решите для εt.
Обратите внимание на то, что Lj c = c. Постоянный термин способствует вероятности можно следующим образом.
или
Поэтому, когда ошибочная модель ARIMA интегрирована, целевая функция вероятности на основе распределения εt инвариантная к значению c.
В целом эффективная константа в эквивалентном представлении ARIMAX модели регрессии с ошибками ARIMA является функцией составных авторегрессивных коэффициентов и исходного прерывания c, и включает нелинейное ограничение. Это ограничение беспрепятственно включено для приложений, таких как симуляция Монте-Карло интегрированных моделей с ненулевыми прерываниями. Однако для оценки, модель ARIMAX не может идентифицировать константу в присутствии интегрированного полинома, и это приводит к побочным или необычным оценкам параметра.
Необходимо исключить прерывание из интегрированных моделей в большинстве приложений.
Как рисунок, рассмотрите модель регрессии с ARIMA (2,1,1) ошибки без предикторов
(2) |
(3) |
Можно переписать уравнение 3 замены использования и некоторая манипуляция
Обратите внимание на то, что
Поэтому модель регрессии с ARIMA (2,1,1) ошибки в уравнении 3 имеет представление модели ARIMA (2,1,1)
Вы видите, что константа не присутствует в модели (который подразумевает, что ее значение 0), даже при том, что значение модели регрессии с ошибочным прерыванием ARIMA 0.5.
Можно также моделировать это поведение. Запустите путем определения модели регрессии с ARIMA (2,1,1) ошибки в уравнении 3.
Mdl = regARIMA('D',1,'AR',{0.8 -0.4},'MA',0.3,... 'Intercept',0.5,'Variance', 0.2);
Моделируйте 1 000 наблюдений.
rng(1); T = 1000; y = simulate(Mdl, T);
Соответствуйте Mdl
к данным.
ToEstMdl = regARIMA('ARLags',1:2,'MALags',1,'D',1);... % "Empty" model to pass into estimate [EstMdl,EstParamCov] = estimate(ToEstMdl,y,'Display','params');
Warning: When ARIMA error model is integrated, the intercept is unidentifiable and cannot be estimated; a NaN is returned.
ARIMA(2,1,1) Error Model (Gaussian Distribution): Value StandardError TStatistic PValue ________ _____________ __________ ___________ Intercept NaN NaN NaN NaN AR{1} 0.89647 0.048507 18.481 2.921e-76 AR{2} -0.45101 0.038916 -11.59 4.6576e-31 MA{1} 0.18804 0.054505 3.45 0.00056068 Variance 0.19789 0.0083512 23.696 3.9373e-124
estimate
выводит предупреждение, чтобы сообщить вам, что прерывание не идентифицируется, и устанавливает свою оценку, стандартную погрешность и t - статистическая величина к NaN
.
Постройте вероятность профиля для прерывания.
c = linspace(Mdl.Intercept - 50,... Mdl.Intercept + 50,100); % Grid of intercepts logL = nan(numel(c),1); % For preallocation for i = 1:numel(logL) EstMdl.Intercept = c(i); [~,~,~,logL(i)] = infer(EstMdl,y); end figure plot(c,logL) title('Profile Log-Likelihood with Respect to the Intercept') xlabel('Intercept') ylabel('Loglikelihood')
loglikelihood не переключает сетку значений прерывания. Небольшое колебание является результатом числовой стандартной программы, используемой infer
.