Процесс unit root является процессом генерации данных, первое различие которого является стационарным. Другими словами, модуль корневой процесс, yt имеет форму
yt = y t -1 + стационарный процесс.
Корневой тест модуля пытается определить, соответствуют ли данные временные ряды корневому процессу модуля.
В следующем разделе приводится более подробная информация об единичных корневых процессах и предлагается, почему важно их обнаружить.
Существуют две основные модели для экономических данных с линейными характеристиками роста:
Тренд-стационарный процесс (TSP): yt = c + δt + стационарный процесс
Единичный корневой процесс, также названный разностно-стационарным процессом (DSP): И yt = δ + стационарный процесс
Здесь Δ - оператор дифференцирования, Δ <reservedrangesplaceholder6> = yt - <reservedrangesplaceholder4> <reservedrangesplaceholder3>-1 = (1 - L) yt, где L - оператор задержки, определенный Liyt = yt – i.
Процессы неразличимы для конечных данных. Другими словами, существуют и TSP, и DSP, которые подходят к конечному набору данных произвольно хорошо. Однако процессы различимы, когда они ограничены конкретным подклассом процессов, генерирующих данные, таких как процессы AR (p). После подбор кривой модели к данным корневой тест модуля проверяет, является ли коэффициент AR (1) равным 1.
Существуют две основные причины для различения этих типов процессов:
TSP и DSP формируют различные прогнозы. В основном, потрясения к возвращению TSP на линию тренда с увеличением времени. Напротив, удары по ЦСП могут быть постоянными с течением времени.
Для примера рассмотрим простую модель trend-stationary
и дифференцированную стационарную модель
В этих моделях, и являются независимыми инновационными процессами. В данном примере нововведения являются независимыми и распределенными N (0,1).
Оба процесса растут со скоростью 0,2. Чтобы вычислить скорость роста для TSP, который имеет линейный термин , set . Затем решите модель для и .
Решение является , .
График для t = 1:1000 показывает, что TSP остается очень близко к линии тренда, в то время как DSP имеет постоянные отклонения от линии тренда.
T = 1000; % Sample size t = (1:T)'; % Period vector rng(5); % For reproducibility randm = randn(T,2); % Innovations y = zeros(T,2); % Columns of y are data series % Build trend stationary series y(:,1) = .02*t + randm(:,1); for ii = 2:T y(ii,1) = y(ii,1) + y(ii-1,1)*.9; end % Build difference stationary series y(:,2) = .2 + randm(:,2); y(:,2) = cumsum(y(:,2)); figure plot(y(:,1),'b') hold on plot(y(:,2),'g') plot((1:T)*0.2,'k--') legend('Trend Stationary','Difference Stationary',... 'Trend Line','Location','NorthWest') hold off
Прогнозы, основанные на двух сериях, различаются. Чтобы увидеть это различие, постройте график предсказанного поведения двух рядов с помощью varm
, estimate
, и forecast
. Следующий график показывает последние 100 точек данных в двух сериях и предсказания следующих 100 точек, включая доверительные границы.
AR = {[NaN 0; 0 NaN]}; % Independent response series trend = [NaN; 0]; % Linear trend in first series only Mdl = varm('AR',AR,'Trend',trend); EstMdl = estimate(Mdl,y); EstMdl.SeriesNames = ["Trend stationary" "Difference stationary"]; [ynew,ycov] = forecast(EstMdl,100,y); % This generates predictions for 100 time steps seY = sqrt(diag(EstMdl.Covariance))'; % Extract standard deviations of y CIY = zeros([size(y) 2]); % In-sample intervals CIY(:,:,1) = y - seY; CIY(:,:,2) = y + seY; extractFSE = cellfun(@(x)sqrt(diag(x))',ycov,'UniformOutput',false); seYNew = cell2mat(extractFSE); CIYNew = zeros([size(ynew) 2]); % Forecast intervals CIYNew(:,:,1) = ynew - seYNew; CIYNew(:,:,2) = ynew + seYNew; tx = (T-100:T+100); hs = 1:2; figure; for j = 1:Mdl.NumSeries hs(j) = subplot(2,1,j); hold on; h1 = plot(tx,tx*0.2,'k--'); axis tight; ha = gca; h2 = plot(tx,[y(end-100:end,j); ynew(:,j)]); h3 = plot(tx(1:101),squeeze(CIY(end-100:end,j,:)),'r:'); plot(tx(102:end),squeeze(CIYNew(:,j,:)),'r:'); h4 = fill([tx(102) ha.XLim([2 2]) tx(102)],ha.YLim([1 1 2 2]),[0.7 0.7 0.7],... 'FaceAlpha',0.1,'EdgeColor','none'); title(EstMdl.SeriesNames{j}); hold off; end legend(hs(1),[h1 h2 h3(1) h4],... {'Trend','Process','Interval estimate','Forecast horizon'},'Location','Best');
Исследуйте установленные параметры путем передачи предполагаемой модели в summarize
и вы находите estimate
проделал отличную работу.
TSP имеет доверительные интервалы, которые не растут со временем, в то время как DSP имеет доверительные интервалы, которые растут. Кроме того, TSP быстро переходит к линии тренда, в то время как DSP не стремится к линии тренда бессимптотически.
Наличие модуля корней может привести к ложным выводам в регрессиях между временными рядами.
Предположим, xt и yt являются единичными корневыми процессами с независимыми шагом, такими как случайные прогулки с дрейфом
xt = <reservedrangesplaceholder4> 1 + <reservedrangesplaceholder3> <reservedrangesplaceholder2>-1 + <reservedrangesplaceholder1> 1 (<reservedrangesplaceholder0>)
yt = <reservedrangesplaceholder4> 2 + <reservedrangesplaceholder3> <reservedrangesplaceholder2>-1 + <reservedrangesplaceholder1> 2 (<reservedrangesplaceholder0>),
где εi (t) являются независимыми инновационными процессами. Регрессия y на x приводит, в целом, к ненулевому коэффициенту регрессии и значительному коэффициенту детерминации R2. Этот результат держится, несмотря на то, что xt и yt являются независимыми случайными прогулками.
Если оба процесса имеют тенденции (ci ≠ 0), существует корреляция между x и y из-за их линейных трендов. Однако, даже если ci = 0, наличие модуля корней в xt и yt процессах выражений корреляцией. Для получения дополнительной информации о ложной регрессии см. Granger and Newbold [1] и Временные ряды Regression IV: Spurious Regression.
Существует четыре теста Econometrics Toolbox™ для единичных корней. Эти функции проверяют на существование корня с одним модулем измерения. Когда существует два или более корней модуля, результаты этих тестов могут быть неправильными.
adftest
выполняет дополненный тест Дикки-Фуллера. pptest
выполняет тест Филлипса-Перрона. Эти два класса тестов имеют нулевую гипотезу единичного корневого процесса вида
yt = <reservedrangesplaceholder5> <reservedrangesplaceholder4>-1 + c + <reservedrangesplaceholder2> <reservedrangesplaceholder1> + εt,
которые функции проверяют на соответствие альтернативной модели
yt = <reservedrangesplaceholder6> <reservedrangesplaceholder5> <reservedrangesplaceholder4>-1 + c + <reservedrangesplaceholder2> <reservedrangesplaceholder1> + εt,
где γ < 1. Нулевые и альтернативные модели для теста Дикки-Фуллера аналогичны моделям для теста Филлипса-Перрона. Это различие adftest
расширяет модель с дополнительными параметрами с учетом последовательной корреляции среди нововведений:
yt = c + δt + <reservedrangesplaceholder15> <reservedrangesplaceholder14> <reservedrangesplaceholder13> - 1 + <reservedrangesplaceholder12> 1Δ <reservedrangesplaceholder11> <reservedrangesplaceholder10> - 1 + <reservedrangesplaceholder9> 2Δ <reservedrangesplaceholder8> <reservedrangesplaceholder7> - 2 +... + <reservedrangesplaceholder6> <reservedrangesplaceholder5> Δ <reservedrangesplaceholder4> <reservedrangesplaceholder3> - p + <reservedrangesplaceholder1> <reservedrangesplaceholder0>,
где
L оператор задержки: Lyt = y t -1.
Δ = 1 - L, таким образом, Δ <reservedrangesplaceholder3> = yt - <reservedrangesplaceholder1> <reservedrangesplaceholder0>-1.
ε t - это инновационный процесс.
Phillips-Perron настраивает статистику тестов с учетом последовательной корреляции.
Существует три варианта обоих adftest
и pptest
, соответствующий следующим значениям 'model'
параметр:
'AR'
предполагает, что c и δ, которые появляются в предыдущих уравнениях, оба являются 0
; а 'AR'
альтернатива имеет среднее 0.
'ARD'
принимает, δ является 0
. The 'ARD'
альтернатива имеет среднее c/( 1- γ).
'TS'
не делает никаких предположений о c и δ.
Для получения информации о том, как выбрать соответствующее значение 'model'
, см. «Выбор моделей для тестирования».
Тест KPSS, kpsstest
, является обратной характеристикой теста Филлипса-Перрона: она отменяет нулевую и альтернативную гипотезы. В тесте KPSS используется модель:
yt = ct + δt + ut, с
ct = <reservedrangesplaceholder2> <reservedrangesplaceholder1>-1 + vt.
Здесь ut является стационарным процессом, и vt является i.i.d. обработка со средним значением 0 и отклонением σ2. Нулевая гипотеза заключается в том, что σ2 = 0, так что случайный срок ct становится постоянной точкой пересечения. Альтернатива - σ2 > 0, который представляет корень модуля в случайной ходьбе.
Тест коэффициента отклонения, vratiotest
, основано на том, что отклонение случайной прогулки увеличивается линейно со временем. vratiotest
может также учитывать гетероскедастичность, где отклонение увеличивается с переменной скоростью со временем. Тест имеет нулевые гипотезы случайной прогулки:
Β yt = ε t.
Преобразуйте временные ряды, чтобы она была примерно линейной перед тестированием на модуль корень. Если серия имеет экспоненциальный рост, примите ее логарифм. Например, ВВП и потребительские цены обычно имеют экспоненциальный рост, поэтому проверяйте их логарифмы на единичные корни.
Если вы хотите преобразовать ваши данные в стационарные вместо приблизительно линейных, единичные корневые тесты могут помочь вам определить, различать ли ваши данные или вычесть линейный тренд. Для обсуждения этой темы смотрите Что такое Unit Root Test?
Для adftest
или pptest
, выберите model
следующим образом:
Если ваши данные показывают линейный тренд, задайте model
на 'TS'
.
Если ваши данные не показывают тренда, но, кажется, имеют ненулевое среднее, задайте model
на 'ARD'
.
Если ваши данные не показывают тренда и, кажется, имеют нулевое среднее, задайте model
на 'AR'
(значение по умолчанию).
Для kpsstest
, задать trend
на true
(по умолчанию), если данные показывают линейный тренд. В противном случае задайте trend
на false
.
Для vratiotest
, задать IID
на true
если вы хотите протестировать на независимые, идентично распределенные инновации (нет гетероскедастичности). В противном случае уходите IID
в значение по умолчанию, false
. Линейные тренды не влияют vratiotest
.
Установка соответствующих лагов зависит от теста, который вы используете:
adftest
- Один метод должен начинаться с максимальной задержки, такой как рекомендованный Schwert [2]. Затем проверяйте вниз путем оценки значимости коэффициента члена при задержке p макс. Schwert рекомендует максимальную задержку в
где - целочисленная часть x. Обычная статистическая величина t подходит для проверки значимости коэффициентов, как сообщается в reg
структура output.
Другой способ состоит в том, чтобы объединить меру подгонки, такую как SSR, с информационными критериями, такими как AIC, BIC и HQC. Эти статистические данные также появляются в reg
структура output. Ng и Perron [3] обеспечивают дополнительные рекомендации.
kpsstest
- Один из методов состоит в том, чтобы начать с нескольких лагов, а затем оценить чувствительность результатов, добавив больше лагов. Для согласованности оценки Ньюи-Уэста количество лагов должно перейти к бесконечности, когда размер выборки увеличивается. Kwiatkowski et al. [4] предложить использовать ряд лагов порядка T1/2, где T - размер выборки.
Для примера выбора лагов для kpsstest
, см. Тестирование данных временных рядов для корня модуля измерения.
pptest
- Один из методов состоит в том, чтобы начать с нескольких лагов, а затем оценить чувствительность результатов, добавив больше лагов. Другой метод заключается в рассмотрении выборочных автокорреляций yt - y t -1; медленные скорости распада требуют больших лагов. Оценка Ньюи-Уэста согласована, если количество лагов составляет O (T1/4), где T эффективный размер выборки, скорректированный на задержку и отсутствующие значения. White and Domowitz [5] и Perron [6] обеспечивают дополнительные рекомендации.
Для примера выбора лагов для pptest
, см. Тестирование данных временных рядов для корня модуля измерения.
vratiotest
не использует лаги.
Выполните несколько тестов одновременно путем ввода вектора параметров для lags
, alpha
, model
, или test
. Все векторные параметры должны иметь одинаковую длину. Тест расширяет любой скалярный параметр до длины векторного параметра. Для примера, использующей этот метод, см. «Тестирование данных временных рядов для корня Модуля».
[1] Грейнджер, К. У. Дж., и П. Ньюболд. Ложные регрессии в эконометрике. Журнал эконометрики. Том 2, 1974, стр. 111-120.
[2] Schwert, W. «Тесты на корни Модуля: Расследование Монте-Карло». Журнал деловой и экономической статистики. Том 7, 1989, стр. 147-159.
[3] Ng, S. и P. Perron. «Модульные корневые тесты в моделях ARMA с зависящими от данных методами для выбора задержки усечения». Журнал Американской статистической ассоциации. Том 90, 1995, стр. 268-281.
[4] Квятковский, Д., П. К. Б. Филлипс, П. Шмидт и Я. Шин. «Проверка нулевой гипотезы стационарности против альтернативы единичного корня». Журнал эконометрики. Том 54, 1992, стр. 159-178.
[5] Уайт, Х. и И. Домовиц. Нелинейная регрессия с зависимыми наблюдениями. Эконометрика. Том 52, 1984, стр. 143-162.
[6] Perron, P. «Trends and Random Walks in Macroeconomic Time Series: Further Expernment From a New Approach». Журнал экономической динамики и контроля. Том 12, 1988, стр. 297-332.
adftest
| kpsstest
| pptest
| vratiotest