Проверяйте допущения модели на Критерий Чоу

В этом примере показано, как проверить допущения модели для критерия Чоу. Модель представляет собой валовой внутренний продукт (ВВП) США с индексом потребительских цен (ИПЦ) и выплаченной компенсацией работникам (COE) в качестве предикторов. Прогнозный горизонт - 2007 - 2009, как раз до и после начала американской рецессии 2008 года.

Загрузка и проверка данных

Загрузите набор макроэкономических данных США.

load Data_USEconModel

Временные ряды в наборе данных содержат ежеквартальные макроэкономические измерения с 1947 по 2009 год. Для получения дополнительной информации, списка переменных и описаний введите Description в командной строке.

Извлеките предикторы и ответ из таблицы. Фокусируйте выборку на наблюдениях, взятых в 1960-2009 годах.

idx = year(DataTable.Time) >= 1960; 
dates = DataTable.Time(idx);
y = DataTable.GDP(idx);
X = DataTable{idx,{'CPIAUCSL' 'COE'}};
varNames = {'CPIAUCSL' 'COE' 'GDP'};

Идентифицируйте прогнозные индексы горизонта.

fHIdx = year(dates) >= 2007;

Постройте график всех серий индивидуально. Определить периоды спада.

figure;
subplot(2,2,1);
plot(dates,y)
title(varNames{end});
xlabel('Year');
axis tight;
datetick;
recessionplot;
for j = 1:size(X,2)
    subplot(2,2,j + 1);
    plot(dates,X(:,j))
    title(varNames{j});
    xlabel('Year');
    axis tight;
    datetick;
    recessionplot;
end

Figure contains 3 axes. Axes 1 with title GDP contains 9 objects of type line, patch. Axes 2 with title CPIAUCSL contains 9 objects of type line, patch. Axes 3 with title COE contains 9 objects of type line, patch.

Все переменные, по-видимому, растут экспоненциально. Также вокруг последней рецессии появляется спад. Предположим, что линейная регрессионая модель ВВП на ИПЦ и COE является подходящей, и вы хотите проверить, есть ли структурное изменение модели в 2007 году.

Проверяйте допущения критерия Чоу

Критериям Чоу полагаемся на:

  • Независимые, распределенные по Гауссу инновации

  • Постоянство отклонения инноваций в подвыборках

  • Постоянство инноваций на любых структурных пропусках

Если модель нарушает эти допущения, результат критерия Чоу может быть неправильным, или критерий Чоу может не иметь степени. Выясните, сохраняются ли допущения. Если таковые не выполняются, предварительно обработайте данные далее.

Подбор линейной модели ко всему ряду. Включите точку пересечения.

Mdl = fitlm(X,y);

Mdl является LinearModel объект модели.

Извлеките невязки из оцененной линейной модели. Нарисуйте две гистограммы графиков с помощью невязок: одну относительно подобранных значений в порядке обращения, а другую - относительно предыдущих невязок.

res = Mdl.Residuals.Raw;
figure;
plotResiduals(Mdl,'lagged');

Figure contains an axes. The axes with title Plot of residuals vs. lagged residuals contains 3 objects of type line.

figure;
plotResiduals(Mdl,'caseorder');

Figure contains an axes. The axes with title Case order plot of residuals contains 2 objects of type line.

Поскольку график поля точек остатка по сравнению с отстающим остатком образует тренд, автокорреляция существует в остатках. Кроме того, невязки крайностей, по-видимому, вспыхивают, что говорит о наличии гетероскедастичности.

Проведите тест ARCH Engle на уровне 5% значимости, чтобы оценить, являются ли нововведения гетероскедастическими.

[hARCH,pValueARCH] = archtest(res)
hARCH = logical
   1

pValueARCH = 0

hARCH = 1 предлагает отклонить нулевую гипотезу о том, что весь остаточный ряд не имеет условной гетероскедастичности.

Примените преобразование журнала ко всем сериям, которые, по-видимому, растут экспоненциально, чтобы уменьшить эффекты гетероскедастичности.

y = log(y);
X = log(X);

Чтобы принять во внимание автокорреляцию, создайте переменные предиктора для всех экспоненциальных рядов, запаздывая их на один период.

LagMat = lagmatrix([X y],1);
X = [X(2:end,:)  LagMat(2:end,:)]; % Concatenate data and remove first row
fHIdx = fHIdx(2:end);
y = y(2:end);

На основе остаточной диагностики выберите эту линейную модель для ВВП

GDPt=β0+β1CPIAUCSLt+β2COEt+β3CPIAUCSLt-1+β4COEt-1+β5GDPt-1+εt.

εt должен быть Гауссов ряд инноваций со средним нули и постоянным отклонением σ2.

Снова диагностируйте невязки.

Mdl = fitlm(X,y);

res = Mdl.Residuals.Raw;
figure;
plotResiduals(Mdl,'lagged');

Figure contains an axes. The axes with title Plot of residuals vs. lagged residuals contains 3 objects of type line.

figure;
plotResiduals(Mdl,'caseorder');

Figure contains an axes. The axes with title Case order plot of residuals contains 2 objects of type line.

[hARCH,pValueARCH] = archtest(res)
hARCH = logical
   0

pValueARCH = 0.2813
SubMdl = {fitlm(X(~fHIdx,:),y(~fHIdx)) fitlm(X(fHIdx,:),y(fHIdx))};
subRes = {SubMdl{1}.Residuals.Raw SubMdl{2}.Residuals.Raw};
[hVT2,pValueVT2] = vartest2(subRes{1},subRes{2})
hVT2 = 0
pValueVT2 = 0.1645

Остаточные графики и тесты позволяют предположить, что нововведения являются гомосцедастическими и некоррелированными.

Проведите тест Колмогорова-Смирнова, чтобы оценить, являются ли нововведения Гауссовыми.

[hKS,pValueKS] = kstest(res/std(res))
hKS = logical
   0

pValueKS = 0.2347

hKS = 0 предлагает не отвергать нулевую гипотезу о том, что нововведения Гауссовы.

Для модели распределенной задержки предположения критерия Чоу кажутся допустимыми.

Ведение Критерия Чоу

Рассматривая 2007 год и далее как режим после рецессии, проверяйте, является ли линейная модель стабильной. Укажите, что пропуском является последний квартал 2006 года. Поскольку дополнительный размер подмножества больше, чем количество коэффициентов, проведите тест точки пропуска.

bp = find(~fHIdx,1,'last');
chowtest(X,y,bp,'Display','summary');
RESULTS SUMMARY

***************
Test 1

Sample size: 196
Breakpoint: 187

Test type: breakpoint
Coefficients tested: All

Statistic: 1.3741
Critical value: 2.1481

P value: 0.2272
Significance level: 0.0500

Decision: Fail to reject coefficient stability

Тест не может отклонить стабильность линейной модели. Доказательства неэффективны, чтобы сделать вывод о структурном изменении между Q4-2006 и Q1-2007.

См. также

| | | |

Похожие темы