lbqtest

Q-тест Ljung-поля для остаточной автокорреляции

Синтаксис

h = lbqtest(res)
h = lbqtest(res,Name,Value)
[h,pValue] = lbqtest(___)
[h,pValue,stat,cValue] = lbqtest(___)

Описание

пример

h = lbqtest(res) возвращает логическое значение (h) с решением отклонения от проведения Q-теста Ljung-поля для автокорреляции в остаточной серии res.

пример

h = lbqtest(res,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение".

  • Если каким-либо аргументом пары "имя-значение" является вектор, то всеми заданными аргументами пары "имя-значение" должны быть векторы равной длины или длины один. lbqtest(res,Name,Value) обрабатывает каждый элемент векторного входа как отдельный тест и возвращает вектор решений отклонения.

  • Если каким-либо аргументом пары "имя-значение" является вектор - строка, то lbqtest(res,Name,Value) возвращает вектор - строку.

пример

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

пример

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

Примеры

свернуть все

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

load Data_MarkPound

Преобразуйте цены в возвраты.

returns = price2ret(Data);

Вычислите отклонения ряда возврата.

res = returns - mean(returns);

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

h1 = lbqtest(res)
h1 = logical
   0

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

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

h2 = lbqtest(res.^2)
h2 = logical
   1

h2 = 1 указывает, что существуют значительные эффекты ДУГИ в невязках возвратов.

Протестируйте на невязку heteroscedasticity использование archtest и количества по умолчанию задержек.

h3 = archtest(res)
h3 = logical
   1

h3 = 1 указывает, что нулевая гипотеза никакой невязки heteroscedasticity должна быть отклонена в пользу модели ARCH (1). Этот результат сопоставим с h2.

Проведите несколько Q-тестов Ljung-поля для автокорреляции включением различных задержек в тестовой статистической величине. Набор данных является временными рядами 57 дней подряд сверхкоротких замыканий от подземного бензобака в Колорадо [2]. Таким образом, сверхкороткий ток (yt) представляет точность в измерении количества топлива:

  • В корпусе в конце дня t

  • В корпусе в конце дня t-1

  • Поставленный корпусу в день t

  • Проданный в день t.

Загрузите набор данных.

load(fullfile(matlabroot,'examples','econ','Data_Overshort'))
y = Data;
T = length(y); % Sample size

figure
plot(y)
title('Overshorts for 57 Consecutive Days')

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

Вычислите невязки.

res = y - mean(y);

Оцените, автокоррелируются ли невязки. Включайте 5, 10, и 15 задержек в тестовом вычислении статистической величины.

[h,pValue] = lbqtest(res,'lags',[5,10,15])
h = 1x3 logical array

   1   1   1

pValue = 1×3

    0.0016    0.0007    0.0013

h и pValue являются векторами, содержащими три элемента, соответствующие тестам в каждой из трех задержек. Первый элемент каждого вывода соответствует тесту в задержке 5, второй элемент соответствует тесту в задержке 10, и третий элемент соответствует тесту в задержке 15.

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

Выведите невязки из предполагаемой модели ARIMA и оцените, показывают ли невязки автокорреляцию с помощью lbqtest.

Загрузите австралийский набор данных Индекса потребительских цен (CPI). Временные ряды (cpi) являются журналом ежеквартальный CPI от 1 972 до 1991. Удалите тренд в ряду путем взятия первого различия.

load Data_JAustralian
cpi = DataTable.PAU;
T = length(cpi);
dCPI = diff(cpi);

figure
plot(dates(2:T),dCPI)
title('Differenced Australian CPI')
xlabel('Year')
ylabel('CPI growth rate')
datetick
axis tight

differenced ряд кажется стационарным.

Соответствуйте модели AR (1) к ряду, и затем выведите невязки из предполагаемой модели.

Mdl = arima(1,0,0);
EstMdl = estimate(Mdl,dCPI);
 
    ARIMA(1,0,0) Model (Gaussian Distribution):
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant     0.015564      0.0028766        5.4106      6.2808e-08
    AR{1}         0.29646        0.11048        2.6834       0.0072876
    Variance    0.0001038     1.1932e-05        8.6994      3.3362e-18
res = infer(EstMdl,dCPI);
stdRes = res/sqrt(EstMdl.Variance); % Standardized residuals

Оцените, автокоррелируются ли невязки путем проведения Q-теста Ljung-поля. Стандартизированные невязки происходят из предполагаемой модели (EstMdl), содержащий параметры. При использовании таких невязок это - лучшая практика сделать следующее:

  • Настройте степени свободы (dof) тестового распределения статистической величины, чтобы составлять предполагаемые параметры.

  • Определите номер задержек, чтобы включать в тестовую статистическую величину.

  • Когда вы считаете предполагаемые параметры, пропускаете постоянные параметры и параметры отклонения.

lags = 10;         
dof  = lags - 1; % One autoregressive parameter

[h,pValue] = lbqtest(stdRes,'Lags',lags,'DOF',dof)
h = logical
   1

pValue = 0.0119

pValue = 0.0130 предполагает, что существует значительная автокорреляция в невязках на 5%-м уровне.

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

свернуть все

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

Как правило, вы подбираете модель к наблюдаемым временным рядам, и res содержит стандартизированные невязки от подобранной модели.

Задайте недостающие наблюдения с помощью NaN. Функция lbqtest обрабатывает отсутствующие значения как отсутствующий полностью наугад.

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Lags',1:4,'Alpha',0.1 задает четыре теста с 1, 2, 3, и 4 изолированных условия, проводимые на 0,1 уровнях значения.

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

Используйте вектор, чтобы провести несколько тестов.

Каждый элемент Lags должен быть меньше, чем T, который является эффективным объемом выборки res (то есть, количество ненедостающих значений в res).

Пример: 'Lags',1:4

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

Уровни значения для тестов гипотезы, заданных как пара, разделенная запятой, состоящая из 'Alpha' и скаляра или вектора.

Используйте вектор, чтобы провести несколько тестов.

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

Пример: 'Alpha',0.01

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

Степени свободы для асимптотического, распределения хи-квадрат тестовой статистики, заданной как пара, разделенная запятой, состоящая из 'DoF' и положительного целого числа или вектора положительных целых чисел.

Используйте вектор, чтобы провести несколько тестов.

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

Пример: 'DoF',15

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

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

свернуть все

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

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

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

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

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

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

Больше о

свернуть все

Q-тест Ljung-поля

Q-тест Ljung-поля является тестом “портманто”, который оценивает нулевую гипотезу, что серия невязок не показывает автокорреляции для постоянного числа задержек L против альтернативы, что некоторый коэффициент автокорреляции ρ (k), k = 1..., L, является ненулевым.

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

Q=T(T+2)k=1L(ρ(k)2(Tk)),

где T является объемом выборки, L является количеством задержек автокорреляции, и ρ (k) является демонстрационной автокорреляцией в задержке k. По нулевой гипотезе асимптотическое распределение Q является хи-квадратом со степенями свободы L.

Пропавшие без вести полностью наугад

Наблюдениями за случайной переменной является missing completely at random, если тенденция наблюдения отсутствовать независима и от случайной переменной и от тенденции всех других наблюдений отсутствовать.

Советы

Если вы получаете res путем подбирания модели к данным, то необходимо уменьшать степени свободы (аргумент DoF) количеством предполагаемых коэффициентов, исключая константы. Например, если вы получаете res путем подбора кривой ARMA (p, q) модель, устанавливаете DoF на L −p−q, где L является Lags.

Алгоритмы

  • Аргумент Lags влияет на степень теста.

    • Если L является слишком маленьким, то тест не обнаруживает старшие автокорреляции.

    • Если L является слишком большим, то тест теряет степень, когда значительная корреляция в одной задержке размывается незначительными корреляциями в других задержках.

    • Поле, Дженкинс и Рейнсель предлагают установку min[20,T-1] в качестве значения по умолчанию для lags [1].

    • Tsay цитирует доказательство симуляции, что установка lags к значению, аппроксимирующему журнал (T), обеспечивает лучшую производительность степени [5].

  • lbqtest непосредственно не тестирует на последовательные зависимости кроме автокорреляции. Однако можно использовать его, чтобы идентифицировать условное выражение heteroscedasticity (эффекты ДУГИ) путем тестирования квадратов остатков [4].

    Тест Энгла оценивает значение эффектов ДУГИ непосредственно. Для получения дополнительной информации смотрите archtest.

Ссылки

[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ timeseries: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

[2] Броквелл, P. J. и Р. А. Дэвис. Введение во Временные ряды и Прогнозирование. 2-й редактор Нью-Йорк, Нью-Йорк: Спрингер, 2002.

[3] Gourieroux, C. Модели ДУГИ и финансовые приложения. Нью-Йорк: Springer-Verlag, 1997.

[4] Маклеод, A. I. и В. К. Ли. "Диагностика, Проверяющая Модели Временных рядов ARMA Используя Автокорреляции Квадрата остатка". Журнал Анализа Временных рядов. Издание 4, 1983, стр 269–273.

[5] Tsay, R. S. Анализ финансовых временных рядов. 2-й Эд. Хобокен, NJ: John Wiley & Sons, Inc., 2005.

Представлено до R2006a