В этом примере показано, как проверять предположения модели на критерий Чоу. Модель имеет американский валовой внутренний продукт (ВВП) с индексом потребительских цен (CPI) и заплаченной компенсацией сотрудников (COE) как предикторы. Горизонт прогноза 2007 - 2009, незадолго до и после того, как 2 008 американских рецессий начались.
Загрузите американский макроэкономический набор данных.
load Data_USEconModel
Временные ряды в наборе данных содержат ежеквартальные, макроэкономические измерения от 1 947 до 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
Все переменные, кажется, растут экспоненциально. Кроме того, вокруг последней рецессии появляется снижение. Предположим, что модель линейной регрессии GDP на CPI и COE является соответствующей, и вы хотите протестировать, существует ли структурное изменение в модели в 2 007.
Критерии Чоу используют:
Независимые, Распределенные гауссовым образом инновации
Постоянство инновационного отклонения в рамках подвыборок
Постоянство инноваций через любые структурные пропуски
Если модель нарушает эти предположения, то результат критерия Чоу не может быть правильным, или критерий Чоу может испытать недостаток в степени. Займитесь расследованиями, содержат ли предположения. Если кто-либо не делает, предварительно обработайте данные далее.
Подбирайте линейную модель к целому ряду. Включайте прерывание.
Mdl = fitlm(X,y);
Mdl
LinearModel
объект модели.
Извлеките остаточные значения предполагаемой линейной модели. Постройте два графика гистограммы с помощью остаточных значений: один относительно подходящих значений в случае, если порядок и другой относительно предыдущей невязки.
res = Mdl.Residuals.Raw;
figure;
plotResiduals(Mdl,'lagged');
figure;
plotResiduals(Mdl,'caseorder');
Поскольку график рассеивания невязки по сравнению с изолированной невязкой формирует тренд, автокорреляция существует в остаточных значениях. Кроме того, остаточные значения экстремальных значений, кажется, становятся шире, который предлагает присутствие heteroscedasticity.
Проведите тест ДУГИ Энгла на 5%-м уровне значения оценить, является ли инновациями heteroscedastic.
[hARCH,pValueARCH] = archtest(res)
hARCH = logical
1
pValueARCH = 0
hARCH = 1
предлагает отклонить нулевую гипотезу, что целый остаточный ряд не имеет никакого условного выражения heteroscedasticity.
Примените логарифмическое преобразование ко всем рядам, которые, кажется, растут экспоненциально, чтобы уменьшать эффекты heteroscedasticity.
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);
На основе остаточной диагностики выберите эту линейную модель для GDP
должна быть серия Gaussian инноваций со средним нулевым и постоянным отклонением .
Диагностируйте остаточные значения снова.
Mdl = fitlm(X,y);
res = Mdl.Residuals.Raw;
figure;
plotResiduals(Mdl,'lagged');
figure;
plotResiduals(Mdl,'caseorder');
[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 и вне как режим после рецессии, протестируйте, устойчива ли линейная модель. Укажите, что точка останова является последним кварталом из 2 006. Поскольку дополнительный подобъем выборки больше количества коэффициентов, проведите тест точки останова.
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
.
LinearModel
| archtest
| chowtest
| fitlm
| vartest2