lbqtest

Q-тест Ljung-Box на остаточную автокорреляцию

Описание

пример

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

пример

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

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

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

пример

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

пример

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

Примеры

свернуть все

Загрузите набор данных по валютному курсу Deutschmark/British pound.

load Data_MarkPound

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

returns = price2ret(Data);

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

res = returns - mean(returns);

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

h1 = lbqtest(res)
h1 = logical
   0

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

Протестируйте гипотезу о наличии значительных эффектов ARCH, используя количество лагов по умолчанию [3].

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

h2 = 1 указывает, что в невязках возвратов имеются значительные эффекты ARCH.

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

h3 = archtest(res)
h3 = logical
   1

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

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

  • В баке в конце дня t

  • В баке в конце дня t-1

  • Доставляется в бак в день t

  • Продается в день t.

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

load('Data_Overshort')
y = Data;
T = length(y); % Sample size

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

Figure contains an axes. The axes with title Overshorts for 57 Consecutive Days contains an object of type line.

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) - журнал ежеквартального ИПЦ с 1972 по 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

Figure contains an axes. The axes with title Differenced Australian CPI contains an object of type line.

Дифференцированный ряд выглядит стационарным.

Подгонка модели 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-Box. Стандартизированные невязки происходят из предполагаемой модели (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 - имя аргумента и 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-Box

Q-критерий Ljung-Box является тестом «portmanteau», который оценивает нулевую гипотезу о том, что серия невязок не показывает автокорреляции для фиксированного числа 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 к <reservedrangesplaceholder4> − <reservedrangesplaceholder3> − <reservedrangesplaceholder2>, где L Lags.

Алгоритмы

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

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

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

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

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

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

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

Ссылки

[1] Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.

[2] Броквелл, П. Дж. и Р. А. Дэвис. Введение во временные ряды и прогнозирование. 2nd ed. New York, NY: Springer, 2002.

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

[4] Маклеод, А. И. и У. К. Ли. Диагностическая проверка моделей Временных рядов ARMA с использованием квадратов-остаточных автокорреляций. Журнал анализа временных рядов. Том 4, 1983, стр. 269-273.

[5] Tsay, R.S. Analysis of Financial Time Series. 2nd Ed. Hoboken, NJ: John Wiley & Sons, Inc., 2005.

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