Регрессия временных рядов III: влиятельные наблюдения

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

Введение

При рассмотрении эмпирических ограничений, которые влияют на оценки OLS, Белсли и др. [1] советует, чтобы коллинеарности были обращены сначала. Следующий шаг должен искать влиятельные наблюдения, присутствие которых, индивидуально или в группах, имеют измеримые эффекты на результаты регрессии. Мы отличаем чрезвычайно метрическое понятие "влиятельного наблюдения" от более субъективного понятия "выброса", который может включать любые данные, которые не следуют за ожидаемыми шаблонами.

Мы начинаем путем загрузки соответствующих данных из предыдущего примера на "Collinearity & Estimator Variance" и продолжаем анализ модели значения по умолчанию кредита, представленной там:

load Data_TSReg2

Влиятельные наблюдения

Влиятельные наблюдения возникают двумя существенно отличными способами. Во-первых, они могут быть результатом ошибок измерения или записи. В этом случае они - только неправильные данные, вредные для образцовой оценки. С другой стороны, они могут отразить истинное распределение инновационного процесса, показав heteroscedasticity, скошенности или leptokurtosis, для которого модели не удается считать. Такие наблюдения могут содержать аварийную демонстрационную информацию, которая, тем не менее, важна для точной образцовой оценки. Определение типа влиятельного наблюдения является трудным при рассмотрении одних только данных. Лучшие подсказки часто находятся во взаимодействиях модели данных, которые производят остаточный ряд. Мы исследуем их далее в примере на "Остаточной Диагностике".

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

Данные временных рядов отличаются от перекрестных частных данных в том удалении, наблюдения покидают "дыры" в основе времени выборки. Стандартные методы для приписывания заменяющих значений, таких как сглаживание, нарушают предположение CLM о строгом exogeneity. Если данные временных рядов покажут последовательную корреляцию, как они часто делают в экономических настройках, то удаление наблюдений изменит оцененные автокорреляции. Способность диагностировать отклонения от образцовой спецификации, посредством остаточного анализа, поставилась под угрозу. В результате процесс моделирования должен циклически повториться между диагностикой и respecification, пока приемлемые содействующие оценки не производят приемлемую серию невязок.

Диагностика удаления

Функциональный fitlm (эквивалентный статическому методу LinearModel.fit) вычисляет многие стандартные статистические данные регрессии, используемые, чтобы измерить влияние отдельных наблюдений. Они основаны на последовательности по одному удалений строки совместно наблюдаемого предиктора и значений ответа. Статистические данные регрессии вычисляются для каждого, удаляют 1 набор данных и по сравнению со статистикой для полного набора данных.

Существенные изменения в содействующих оценках βˆ после удаления наблюдения основное беспокойство. Свойство Diagnostics.dfBetas подобранной модели масштабирует эти различия оценками отдельных содействующих отклонений для сравнения:

dfBetas = M0.Diagnostics.dfBetas;

figure
hold on
plot(dates,dfBetas(:,2:end),'LineWidth',2)
plot(dates,dfBetas(:,1),'k','LineWidth',2)
hold off
legend([predNames0,'Intercept'],'Location','Best')
xlabel('Observation Deleted') 
ylabel('Scaled Change in Coefficient Estimate') 
title('{\bf Delete-1 Coefficient Estimate Changes}')
axis tight
grid on

Эффекты удалений на парах компонента в βˆ сделаны очевидными в матрице 2D графиков рассеивания изменений:

figure
gplotmatrix(dfBetas,[],[],[],'o',2,[],...
            'variable',['Const',predNames0]);
title('{\bf Delete-1 Coefficient Estimate Changes}')

С достаточными данными эти рассеяния имеют тенденцию быть приблизительно эллиптические [2]. Отдаленные точки могут быть маркированы именем соответствующего удаленного наблюдения путем ввода gname(dates) в командной строке, затем нажатия на точку в графиках.

Также расстояние Повара, найденное в свойстве Diagnostics.CooksDistance подобранной модели, является общей итоговой статистической величиной для этих графиков с контурами, формирующими замещающие знаки, сосредоточенные вокруг βˆ (то есть, dfBeta = 0). Точки, далекие от центра в нескольких графиках, имеют расстояние крупного Кука, указывая на влиятельное наблюдение:

cookD = M0.Diagnostics.CooksDistance;

figure;
plot(dateNums,cookD,'m','LineWidth',2)
ax = gca;
ax.XTick = dateNums(1:2:end);
datetick('x','yyyy','keepticks');
recessionplot;
xlabel('Observation'); 
ylabel('Cook''s Distance'); 
title('{\bf Cook''s Distance}');
axis('tight');
grid('on');

Если βˆ(i) предполагаемый вектор коэффициентов с ith наблюдение, удаленное из данных, затем расстояние Кука, является также Евклидовым расстоянием между

ytˆ=Xtβˆ

и

ytˆ(i)=Xtβˆ(i).

В результате расстояние Повара является прямой мерой влияния наблюдения относительно подходящих значений ответа.

Связанной мерой влияния являются рычаги, которые используют нормальные уравнения, чтобы записать

ytˆ=Xtβˆ=Xt(XtTXt)-1XtTyt=Hyt,

где H матрица шляпы, вычисленная из одних только данных о предикторе. Диагональные элементы H значения рычагов, давая покомпонентные пропорции наблюдаемого yt содействие в соответствующие оценки в ytˆ. Значения рычагов, найденные в свойстве Diagnostics.Leverage подобранной модели, подчеркивают другие источники влияния:

leverage = M0.Diagnostics.Leverage;

figure;
plot(dateNums,leverage,'m','LineWidth',2)
ax = gca;
ax.XTick = dateNums(1:2:end);
datetick('x','yyyy','keepticks');
recessionplot;
xlabel('Observation');
ylabel('Leverage'); 
title('{\bf Leverage}');
axis('tight');
grid('on');

Другой общей мерой влияния, расстояния Mahalanobis, является только масштабированная версия рычагов. Расстояния Mahalanobis в X0 могут быть вычислены с помощью d = mahal(X0,X0), в этом случае значения рычагов даны h = d/(T0-1)+(1/T0).

Дополнительные диагностические графики могут быть созданы путем получения другой статистики из свойства Diagnostics подобранной модели, или при помощи метода plotDiagnostics класса LinearModel.

Экономическое значение

Прежде, чем удалить данные, некоторое экономическое значение должно быть присвоено влиятельным точкам, идентифицированным различными мерами. Расстояние повара, сопоставленное с изменениями в полном ответе, показывает резкий скачок в 2 001. Усильте, сопоставленный с одними только данными о предикторе, показывает резкий скачок в 1 988. Это также примечательно, который после внезапного увеличения рычагов и периода высоких уровней по умолчанию, предиктор BBB изгибает вверх, после 1991, и процент связей более низкого уровня начинает отклоняться. (См. график предикторов в примере на "Линейных Моделях".)

Некоторые подсказки найдены в экономической истории времен. 2001 был период рецессии американской экономики (вторая вертикальная полоса в графиках выше), навлеченный, частично, коллапсом спекулятивного интернет-пузыря и сокращения бизнес-инвестиций. Это был также год нападений 11 сентября, которые поставили тяжелый шок для рынков облигаций. Неуверенность, а не измеримый риск, охарактеризованные инвестиционные решения для остальной части в том году. 1980-е, с другой стороны, видели начало долгосрочного изменения в символе рынков облигаций. Новые выпуски высокодоходных облигаций, которые стали известными как "бросовые облигации", использовались, чтобы финансировать много корпоративных проектов реструктуризации. Этот сегмент рынка облигаций сворачивается в 1 989. После рецессии (сначала вертикальная полоса в графиках выше) и шок цены на нефть в 1990-1991, высокопродуктивный рынок начал расти снова и назрел.

Решение удалить данные в конечном счете зависит от цели модели. Если цель является в основном объяснительной, удаление точно зарегистрированных данных является несоответствующим. Если, однако, цель предсказывает, то нужно попросить, если удаление точек создало бы предварительную выборку, которая более "типична" для прошлого, и таким образом, будущее. Исторический контекст данных в 2 001, например, может привести к заключению, что это искажает исторические шаблоны и не должно быть позволено влиять на модель прогнозирования. Аналогично, история 1980-х может привести к заключению, что структурное изменение произошло на рынках облигаций, и данные до 1 991 должны быть проигнорированы для прогнозов в новом режиме.

Для ссылки мы создаем оба из исправленных наборов данных:

% Delete 2001:
d1 = (dates ~= 2001); % Delete 1
datesd1 = dates(d1);
Xd1 = X0(d1,:);
yd1 = y0(d1);

% Delete dates prior to 1991, as well:
dm = (datesd1 >= 1991); % Delete many
datesdm = datesd1(dm);
Xdm = Xd1(dm,:);
ydm = yd1(dm);

Сводные данные

Эффекты удалений на образцовой оценке получены в итоге ниже. Табличные массивы обеспечивают удобный формат для сравнения статистики регрессии через модели:

Md1 = fitlm(Xd1,yd1);
Mdm = fitlm(Xdm,ydm);

% Model mean squared errors:
MSEs = table(M0.MSE,...
             Md1.MSE,...
             Mdm.MSE,...
             'VariableNames',{'Original','Delete01','Post90'},...              
             'RowNames',{'MSE'})
MSEs=1×3 table
           Original     Delete01      Post90  
           _________    _________    _________

    MSE    0.0058287    0.0032071    0.0023762

% Coefficient estimates:
fprintf('\n')
Coeffs = table(M0.Coefficients.Estimate,...
               Md1.Coefficients.Estimate,...
               Mdm.Coefficients.Estimate,...
               'VariableNames',{'Original','Delete01','Post90'},...              
               'RowNames',['Const',predNames0])
Coeffs=5×3 table
             Original      Delete01      Post90  
             _________    __________    _________

    Const     -0.22741      -0.12821     -0.13529
    AGE       0.016781      0.016635     0.014107
    BBB      0.0042728     0.0017657    0.0016663
    CPF      -0.014888    -0.0098507    -0.010577
    SPR       0.045488      0.024171     0.041719

% Coefficient standard errors:
fprintf('\n')
StdErrs = table(M0.Coefficients.SE,...
               Md1.Coefficients.SE,...
               Mdm.Coefficients.SE,...
               'VariableNames',{'Original','Delete01','Post90'},...              
               'RowNames',['Const',predNames0])
StdErrs=5×3 table
             Original     Delete01      Post90  
             _________    _________    _________

    Const     0.098565     0.077746     0.086073
    AGE      0.0091845    0.0068129     0.013024
    BBB      0.0026757    0.0020942    0.0030328
    CPF      0.0038077    0.0031273    0.0041749
    SPR       0.033996     0.025849     0.027367

MSE улучшается с удалением точки в 2 001, и с другой стороны с удалением пред1991 данных. Удаление точки в 2 001 также имеет эффект сжатия стандартных погрешностей на содействующих оценках. Удаление всех данных до 1 991, однако, сильно уменьшает объем выборки, и стандартные погрешности нескольких из оценок растут, чем они были с исходными данными.

Ссылки

[1] Белсли, D. A. Э. Кух и Р. Э. Велш. Диагностика регрессии. Хобокен, NJ: John Wiley & Sons, 1980.

[2] Вайсберг, S. Прикладная линейная регрессия. Хобокен, NJ: John Wiley & Sons, Inc., 2005.