waldtest

Вальдов тест образцовой спецификации

Синтаксис

h = waldtest(r,R,EstCov)
h = waldtest(r,R,EstCov,alpha)
[h,pValue] = waldtest(___)
[h,pValue,stat,cValue] = waldtest(___)

Описание

пример

h = waldtest(r,R,EstCov) возвращает логическое значение (h) с решением отклонения от проведения Вальдового теста образцовой спецификации.

waldtest создает тестовую статистическую величину использование функции ограничения и ее якобиана и значения неограниченного образцового средства оценки ковариации, все оцененные в неограниченных оценках параметра (r, R и EstCov, соответственно).

  • Если какой-либо входной параметр является вектором ячейки длины k> 1, то другие входные параметры должны быть массивами ячеек длины k. waldtest (r, R, EstCov) обрабатывает каждую ячейку как отдельный, независимый тест и возвращает вектор решений отклонения.

  • Если какой-либо входной параметр является вектором - строкой, то программное обеспечение возвращает выходные аргументы как векторы - строки.

пример

h = waldtest(r,R,EstCov,alpha) возвращает решение отклонения о Вальдовом тесте, проводимом на уровне значения alpha.

пример

[h,pValue] = waldtest(___) возвращает решение отклонения и p - значение (pValue) для теста гипотезы, с помощью любого из входных параметров в предыдущих синтаксисах.

пример

[h,pValue,stat,cValue] = waldtest(___) дополнительно возвращает тестовую статистическую величину (stat) и критическое значение (cValue) для теста гипотезы.

Примеры

свернуть все

Проверяйте на значительные эффекты задержки в модели регрессии временных рядов.

Загрузите американский набор данных GDP.

load Data_GDP

Постройте GDP против времени.

plot(dates,Data)
datetick

Ряд, кажется, увеличивается экспоненциально.

Преобразуйте данные с помощью натурального логарифма.

logGDP = log(Data);

logGDP увеличивается вовремя, поэтому примите, что существует значительная задержка 1 эффект. Чтобы использовать Вальдов тест, чтобы проверять, существует ли значительная задержка 2 эффекта, вам нужно:

  • Предполагаемые коэффициенты неограниченной модели

  • Функция ограничения выполнена в неограниченных значениях коэффициента модели

  • Якобиан функции ограничения оценен в неограниченных значениях коэффициента модели

  • Предполагаемая, неограниченная ковариационная матрица параметра.

Неограниченная модель

yt=β0+β1yt-1+β2yt-2+εt.

Оцените коэффициенты неограниченной модели.

LagLGDP = lagmatrix(logGDP,1:2);
UMdl = fitlm(table(LagLGDP(:,1),LagLGDP(:,2),logGDP));

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

Ограничение β2=0. Поэтому функция ограничения (r) и Jacobian(R):

  • r=β2

  • R=[001]

Задайте r, R, и предполагаемую, неограниченную ковариационную матрицу параметра.

r = UMdl.Coefficients.Estimate(3);
R = [0 0 1];
EstParamCov = UMdl.CoefficientCovariance;

Протестируйте на значительную задержку 2 эффекта с помощью Вальдового теста.

[h,pValue] = waldtest(r,R,EstParamCov)
h = logical
   1

pValue = 1.2521e-07

h = 1 указывает что пустая, ограниченная гипотеза (β2=0) должен быть отклонен в пользу альтернативной, неограниченной гипотезы. pValue является довольно маленьким, который предполагает, что существуют убедительные доказательства для этого результата.

Протестируйте, существуют ли значительные эффекты ДУГИ в моделируемом ряду ответа с помощью waldtest.

Предположим, что модель для моделируемых данных является AR (1) с ДУГОЙ (1) отклонение. Символически, модель

yt=0.9yt-1+εt,

где

  • εt=wtht

  • ht=1+0.5εt-12

  • wt является Гауссовым со средним значением 0 и отклонением 1.

Задайте модель для моделируемых данных.

VarMdl = garch('ARCH',0.5,'Constant',1);
Mdl = arima('Constant',0,'Variance',VarMdl,'AR',0.9);

Mdl является полностью заданной моделью AR (1) с ДУГОЙ (1) отклонение.

Моделируйте преддемонстрационные и эффективные демонстрационные ответы от Mdl.

T = 100;
rng(1);  % For reproducibility
n = 2;   % Number of presample observations required for the Jacobian
[y,epsilon,condVariance] = simulate(Mdl,T + n);

psI = 1:n;             % Presample indices
esI = (n + 1):(T + n); % Estimation sample indices

epsilon является случайным путем инноваций от VarMdl. Программное обеспечение пропускает epsilon через Mdl, чтобы привести к случайному пути к ответу y.

Задайте неограниченную модель, принимающую, что условная средняя модель

yt=c+ϕ1yt-1+εt,

где ht=α0+α1εt-12. Соответствуйте моделируемым данным (y) к неограниченной модели с помощью преддемонстрационных наблюдений.

UVarMdl = garch(0,1);
UMdl = arima('ARLags',1,'Variance',UVarMdl);
[UEstMdl,UEstParamCov] = estimate(UMdl,y(esI),'Y0',y(psI),...
    'E0',epsilon(psI),'V0',condVariance(psI),'Display','off');

UEstMdl является подходящей, неограниченной моделью, и UEstParamCov является предполагаемой ковариацией параметра неограниченных параметров модели.

Нулевая гипотеза - это α1=0, т.е. ограниченная модель является AR (1) с Гауссовыми инновациями, которые имеют среднее значение 0 и постоянное отклонение. Поэтому функция ограничения r(θ)=α1, где θ=[c,ϕ1,α0,α1]. Компоненты Вальдового теста:

  • Функция ограничения, выполненная в неограниченных оценках параметра, r=αˆ1.

  • Якобиан r, оцененного в неограниченных параметрах модели, R=[0001].

  • Неограниченная модель оценила, что ковариационной матрицей параметра является UEstParamCov.

Задайте r и R.

r = UEstMdl.Variance.ARCH{1};
R = [0, 0, 0, 1];

Протестируйте нулевую гипотезу это α1=0 на 1%-м уровне значения с помощью waldtest.

[h,pValue,stat,cValue] = waldtest(r,R,UEstParamCov,0.01)
h = logical
   0

pValue = 0.0549
stat = 3.6846
cValue = 6.6349

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

Оцените образцовые спецификации путем тестирования вниз среди нескольких ограниченных моделей с помощью моделируемых данных. Истинная модель является ARMA (2,1)

yt=3+0.9yt-1-0.5yt-2+εt+0.7εt-1,

где εt является Гауссовым со средним значением 0 и отклонением 1.

Задайте истинную модель ARMA(2,1) и моделируйте 100 значений ответа.

TrueMdl = arima('AR',{0.9,-0.5},'MA',0.7,...
    'Constant',3,'Variance',1);
T = 100;
rng(1); % For reproducibility 
y = simulate(TrueMdl,T);

Задайте неограниченную модель и имена моделей кандидата для тестирования вниз.

UMdl = arima(2,0,2);
RMdlNames = {'ARMA(2,1)','AR(2)','ARMA(1,2)','ARMA(1,1)',...
    'AR(1)','MA(2)','MA(1)'};

UMdl является неограниченной, моделью ARMA(2,2). RMdlNames является массивом ячеек строк, содержащих имена ограниченных моделей.

Соответствуйте неограниченной модели к моделируемым данным.

[UEstMdl,UEstParamCov] = estimate(UMdl,y,'Display','off');

UEstMdl является подходящей, неограниченной моделью, и UEstParamCov является предполагаемой ковариационной матрицей параметра.

Неограниченная модель имеет шесть параметров. Чтобы создать ограничение функционируют и его якобиан, необходимо знать порядок параметров в UEstParamCov. Для этой модели arima порядок [c,ϕ1,ϕ2,θ1θ2,σ2].

Каждая модель кандидата соответствует функции ограничения. Поместите векторы функции ограничения в отдельные ячейки вектора ячейки.

rf1 = UEstMdl.MA{2};                          % ARMA(2,1)
rf2 = cell2mat(UEstMdl.MA)';                  % AR(2)
rf3 = UEstMdl.AR{2};                          % ARMA(1,2)
rf4 = [UEstMdl.AR{2};UEstMdl.MA{2}]';         % ARMA(1,1)
rf5 = [UEstMdl.AR{2};cell2mat(UEstMdl.MA)'];  % AR(1)
rf6 = cell2mat(UEstMdl.AR)';                  % MA(2)
rf7 = [cell2mat(UEstMdl.AR)';UEstMdl.MA{2}];  % MA(1)
r = {rf1;rf2;rf3;rf4;rf5;rf6;rf7};

r 7 1 вектор ячейки векторов, соответствующих функции ограничения для моделей кандидата.

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

J1 = [0 0 0 0 1 0];                           % ARMA(2,1)   
J2 = [0 0 0 1 0 0; 0 0 0 0 1 0];              % AR(2)      
J3 = [0 1 0 0 0 0];                           % ARMA(1,2)  
J4 = [0 1 0 0 0 0; 0 0 0 0 1 0];              % ARMA(1,1)  
J5 = [0 1 0 0 0 0; 0 0 0 1 0 0; 0 0 0 0 1 0]; % AR(1)      
J6 = [1 0 0 0 0 0; 0 1 0 0 0 0];              % MA(2)      
J7 = [1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 0 0 1 0]; % MA(1)      
R = {J1;J2;J3;J4;J5;J6;J7};

R 7 1 вектор ячейки векторов, соответствующих функции ограничения для моделей кандидата.

Поместите предполагаемую ковариационную матрицу параметра в каждую ячейку 7 1 вектор ячейки.

EstCov = cell(7,1); % Preallocate
for j = 1:length(EstCov)
    EstCov{j} = UEstParamCov;
end

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

alpha = .01;
h = waldtest(r,R,EstCov,alpha);
RestrictedModels = RMdlNames(~h)
RestrictedModels = 1x5 cell array
    {'ARMA(2,1)'}    {'ARMA(1,2)'}    {'ARMA(1,1)'}    {'MA(2)'}    {'MA(1)'}

RestrictedModels перечисляет самые соответствующие ограниченные модели.

Можно протестировать вниз снова, но использовать ARMA (2,1) в качестве неограниченной модели. В этом случае необходимо удалить MA (2) из возможных ограниченных моделей.

Протестируйте, имеют ли параметры вложенной модели нелинейное отношение.

Загрузите Дойчмарку/Британский фунт двусторонний набор данных текущего обменного курса.

load Data_MarkPound

Набор данных (Data) содержит временные ряды цен.

Преобразуйте цены в возвраты и постройте ряд возврата.

returns = price2ret(Data);

figure
plot(returns)
axis tight
ylabel('Returns')
xlabel('Days, 02Jan1984 - 31Dec1991')
title('{\bf Deutschmark/British Pound Bilateral Spot Exchange Rate}')

Ряд возвратов показывает знаки heteroscedasticity.

Предположим, что модель GARCH(1,1) является соответствующей моделью для данных. Соответствуйте модели GARCH(1,1) к данным включая константу.

Mdl = garch(1,1);
[EstMdl,EstParamCov] = estimate(Mdl,returns);
 
    GARCH(1,1) Conditional Variance Model (Gaussian Distribution):
 
                  Value       StandardError    TStatistic      PValue  
                __________    _____________    __________    __________

    Constant    1.0534e-06     3.5047e-07        3.0056       0.0026508
    GARCH{1}       0.80659       0.012908        62.486               0
    ARCH{1}        0.15435       0.011574        13.336      1.4286e-40
g1 = EstMdl.GARCH{1};
a1 = EstMdl.ARCH{1};

g1 является предполагаемым эффектом GARCH, и a1 является предполагаемым эффектом ДУГИ.

Следующее может представлять отношения между коэффициентами ДУГИ и GARCH:

  • γ1α1=1

  • γ1+α1=1

где γ1 эффект GARCH и α1 эффект ДУГИ. Задайте эти отношения как функцию ограничения r(θ)=0, оцененный в неограниченных оценках параметра модели. Эта спецификация задает вложенную, ограниченную модель.

r = [g1*a1; g1+a1] - 1;

Задайте якобиан вектора функции ограничения.

R = [0, a1, g1;0, 1, 1];

Проведите Вальдов тест, чтобы оценить, существуют ли достаточные доказательства, чтобы отклонить ограниченную модель.

[h,pValue,stat,cValue] = waldtest(r,R,EstParamCov)
h = logical
   1

pValue = 0
stat = 1.4596e+04
cValue = 5.9915

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

Входные параметры

свернуть все

Функции ограничения, соответствующие ограниченным моделям, заданным как скаляр, вектор, или вектор ячейки скаляров или векторы.

  • Если r является q - вектор или одноэлементный массив ячеек, содержащий q - вектор, то программное обеспечение проводит один Вальдов тест. q должен быть меньше, чем количество неограниченных параметров модели.

  • Если r является вектором ячейки длины k> 1, и ячейка j содержит qj - вектор, j = 1..., k, то программное обеспечение проводит k независимые Вальдовы тесты. Каждый qj должен быть меньше, чем количество неограниченных параметров модели.

Типы данных: double | cell

Якобианы функции ограничения, заданные как вектор - строка, матрица или вектор ячейки векторов - строк или матриц.

  • Предположим r 1..., rq является функциями ограничения q, и неограниченными параметрами модели является θ 1..., θp. Затем якобиан функции ограничения

    R=(r1θ1r1θprqθ1rqθp).

  • Если R является q-by-p матрица или одноэлементный массив ячеек, содержащий q-by-p матрица, то программное обеспечение проводит один Вальдов тест. q должен быть меньше, чем p, который является количеством неограниченных параметров модели.

  • Если R является вектором ячейки длины k> 1, и ячейка j содержит qj-by-pj матрица, j = 1..., k, то программное обеспечение проводит k независимые Вальдовы тесты. Каждый qj должен быть меньше, чем pj, который является количеством неограниченных параметров в модели j.

Типы данных: double | cell

Неограниченные оценки ковариации параметра модели, заданные как матрица или вектор ячейки матриц.

  • Если EstCov является p-by-p матрица или одноэлементный массив ячеек, содержащий p-by-p матрица, то программное обеспечение проводит один Вальдов тест. p является количеством неограниченных параметров модели.

  • Если EstCov является вектором ячейки длины k> 1, и ячейка j содержит pj-by-pj матрица, j = 1..., k, то программное обеспечение проводит k независимые Вальдовы тесты. Каждый pj является количеством неограниченных параметров в модели j.

Типы данных: double | cell

Номинальные уровни значения для тестов гипотезы, заданных как скаляр или вектор.

Каждый элемент alpha должен быть больше, чем 0 и меньше чем 1.

При проведении k> 1 тест,

  • Если alpha является скаляром, то программное обеспечение расширяет его до k-by-1 вектор.

  • Если alpha является вектором, то он должен иметь длину k.

Типы данных: double

Выходные аргументы

свернуть все

Протестируйте решения отклонения, возвращенные как логическое значение или вектор логических значений с длиной, равной количеству тестов, которые проводит программное обеспечение.

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

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

Протестируйте статистический p - значения, возвращенные как скаляр или вектор с длиной, равной количеству тестов, которые проводит программное обеспечение.

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

Критические значения, определенные alpha, возвращенным как скаляр или вектор с длиной, равняются количеству тестов, которые проводит программное обеспечение.

Больше о

свернуть все

Вальдов тест

Wald test сравнивает спецификации вложенных моделей путем оценки значения ограничений параметра q на расширенную модель с p неограниченные параметры.

Тестовая статистическая величина

W=r(RΣθ^R)1r,

где

  • r является функцией ограничения, которая задает ограничения формы r (θ) = 0 на параметрах θ в неограниченной модели, оцененной в неограниченных оценках параметра модели. Другими словами, r сопоставляет p - размерное пространство параметров к q - размерный пробел ограничения.

    На практике r является q-by-1 вектор, где q <p.

    Обычно, r=θ^θ0, где θ^ неограниченные оценки параметра модели для ограниченных параметров, и θ 0 содержит значения ограниченных параметров модели по нулевой гипотезе.

  • R является якобианом функции ограничения, оцененным в неограниченных оценках параметра модели.

  • Σ^θ^ неограниченное средство оценки ковариации параметра модели, оцененное в неограниченных оценках параметра модели.

  • W имеет асимптотическое распределение хи-квадрат со степенями свободы q.

Когда W превышает критическое значение в своем асимптотическом распределении, тест отклоняет пустую, ограниченную гипотезу в пользу альтернативной, неограниченной гипотезы. Номинальный уровень значения (α) определяет критическое значение.

Примечание

Вальдовы тесты зависят от алгебраической формы ограничений. Например, можно выразить ограничение ab = 1 как a – 1/b = 0, или b – 1/a = 0, или ab – 1 = 0. Каждая формулировка приводит к различной тестовой статистике.

Советы

  • Оцените неограниченные одномерные линейные модели временных рядов, такие как arima или garch или модели регрессии временных рядов (regARIMA) с помощью estimate. Оцените неограниченные многомерные линейные модели временных рядов, такие как varm или vecm, с помощью estimate.

    estimate возвращает оценки параметра и их оценки ковариации, которые можно обработать и использовать в качестве входных параметров к waldtest.

  • Если вы не можете легко вычислить ограниченные оценки параметра, то используйте waldtest. Для сравнения:

    • lratiotest требует и ограниченных и неограниченных оценок параметра.

    • lmtest требует ограниченных оценок параметра.

Алгоритмы

  • waldtest выполняет несколько, независимые тесты, когда вектор функции ограничения, его якобиан и неограниченная ковариационная матрица параметра модели (r, R и EstCov, соответственно) являются векторами ячейки равной длины.

    • Если EstCov является тем же самым для всех тестов, но r отличается, то waldtest “тесты вниз” против нескольких ограниченных моделей.

    • Если EstCov отличается среди тестов, но r не делает, то waldtest “тесты” против нескольких неограниченных моделей.

    • В противном случае waldtest сравнивает образцовые спецификации попарно.

  • alpha номинален в этом, он задает вероятность отклонения в асимптотическом распределении. Фактическая вероятность отклонения обычно больше, чем номинальное значение.

  • Вальдова тестовая ошибка отклонения обычно больше, чем отношение правдоподобия и тестовые ошибки отклонения множителя Лагранжа.

Ссылки

[1] Дэвидсон, R. и Дж. Г. Маккиннон. Эконометрическая теория и методы. Оксфорд, Великобритания: Издательство Оксфордского университета, 2004.

[2] Годфри, тесты Л. Г. Мисспекификэйшна в эконометрике. Кембридж, Великобритания: Издательство Кембриджского университета, 1997.

[3] Грин, В. Х. Эконометрик Анэлизис. 6-й редактор Верхний Сэддл-Ривер, NJ: Пирсон Prentice Hall, 2008.

[4] Гамильтон, J. D. Анализ timeseries. Принстон, NJ: Издательство Принстонского университета, 1994.

Представленный в R2009a