Как проверить автокорреляцию остатков?

23

У меня есть матрица с двумя столбцами, которые имеют много цен (750). На изображении ниже я построил остатки следующей линейной регрессии:

lm(prices[,1] ~ prices[,2])

Глядя на изображение, кажется, очень сильная автокорреляция остатков.

Однако как я могу проверить, сильна ли автокорреляция этих остатков? Какой метод я должен использовать?

Остатки линейной регрессии

Спасибо!

нижняя палата парламента Ирландии
источник
8
Вам не нужно проверять автокорреляцию. Это там. Сюжет показывает это. Вы можете посмотреть на функцию автокорреляции этих остатков (функцию acf()), но это просто подтвердит то, что можно увидеть простым глазом: корреляции между отставшими остатками очень высоки.
Вольфганг
@ Wolfgang, да, правильно, но я должен проверить это программно ... Я посмотрю на функцию acf. Благодарность!
Dail
@ Wolfgang, я вижу acf (), но не вижу своего рода p-значения, чтобы понять, есть сильная корреляция или нет. Как интерпретировать его результат? Спасибо
Dail
При H0: корреляция (r) = 0, тогда r следует нормальному / t dist со средним 0 и дисперсией sqrt (количество наблюдений). Таким образом, вы можете получить 95% доверительный интервал, используя +/-qt(0.75, numberofobs)/sqrt(numberofobs)
Джим
@Jim Дисперсия корреляции не является . Также не является стандартным отклонением . Но в нем есть . n нnn
Glen_b

Ответы:

17

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

mod = lm(prices[,1] ~ prices[,2])
res = mod$res 
n = length(res) 
mod2 = lm(res[-n] ~ res[-1]) 
summary(mod2)

mod2 - это линейная регрессия ошибки времени против ошибки времени . Если коэффициент для Res [-1] является значительным, у вас есть доказательства автокорреляции в остатках.ε t t - 1 ε t - 1tεtt1εt1

Примечание. Это подразумевает, что невязки являются авторегрессионными в том смысле, что при прогнозировании важен только . В действительности могут существовать более дальние зависимости. В этом случае описанный мною метод следует интерпретировать как авторегрессионное приближение с одной задержкой к истинной автокорреляционной структуре в . ε t εεt1εtε

макрос
источник
Большое спасибо за пример. Только одно сомнение, как я могу проверить, является ли res [-1] значимым?
Dail
вы бы проверили это так же, как и любой другой коэффициент регрессии - посмотрите на -statistic и -valueрtp
Macro
проводя быстрый тест с: lm (rnorm (1000) ~ jitter (1: 1000)), я получаю: Остаточная стандартная ошибка: 1,006 на 997 степенях свободы. Множество R-квадрат: 0,0003463, Скорректированный R-квадрат: -0,0006564 F-статистика. : 0,3454 на 1 и 997 DF, значение p: 0,5569 значение p не может отклонить нулевую гипотезу
Dail
Макрос, я проверил остатки диаграммы, которую я построил выше, и в результате: Остаточная стандартная ошибка: 0,04514 на 747 степенях свободы. Множественный R-квадрат: 0,9241, Скорректированный R-квадрат: 0,924 F-статистика: 9093 на 1 и 747 DF, значение p: <2.2e-16, это не кажется очень хорошим, это очень странно, потому что существует сильная автокорреляция, что я мог сделать?
Dail
3
Это называется тестом Брейша-Годфри на автокорреляцию.
Чарли
16

Используйте тест Дурбина-Ватсона , реализованный в пакете lmtest .

dwtest(prices[,1] ~ prices[,2])
Роб Хиндман
источник
очень странно получаю: p-значение <2.2e-16, как это возможно? данные кажутся очень коррелированными!
Dail
4
Значение р - это, вероятно, получение той же корреляции, что и наблюдаемая, если нет реальной корреляции. Так что, если р очень мало, то это говорит о том, что в выборке присутствует большая корреляция.
Роб Хиндман
Вы подразумеваете, что p-значение как это указывает, что остатки очень автокоррелированы?
Dail
хм странно, взгляните на: imageshack.us/f/59/17671620.png как это возможно, что правильное изображение не имеет автокорреляции?
Dail
: dail Может показаться, что на левом изображении наблюдается структурное изменение дисперсии (подробности см. в статье Руи Цая «Выбросы, сдвиги уровней и изменения дисперсии во временных рядах», Journal of Forecasting, VOl 7, 1-20 (1988)) который в этом случае не «смущает» DW, возможно, из-за того, что все распределение все еще нормальное, в то время как на правом изображении есть некоторые визуально очевидные (и эмпирически идентифицируемые) аномалии (импульсы), создающие ненормальные (leptokurtotic see wikopedia: распределение с положительным избыточным эксцессом называется лептокуротическим), что приводит к хаосу с
ДУ
11

Тест DW или тест линейной регрессии не устойчивы к аномалиям в данных. Если у вас есть импульсы, сезонные импульсы, сдвиги уровней или тренды местного времени, эти тесты бесполезны, так как эти необработанные компоненты раздувают дисперсию ошибок и, таким образом, смещают тесты вниз, заставляя вас (как вы выяснили) неправильно принять нулевую гипотезу отсутствия автокорреляции. Перед тем, как использовать эти два теста или любой другой параметрический тест, о котором я знаю, нужно «доказать», что среднее значение остатков статистически не отличается от 0,0 ВЕЗДЕ, в противном случае лежащие в основе предположения неверны. Хорошо известно, что одним из ограничений теста DW является предположение о том, что ошибки регрессии обычно распределяются. Обратите внимание на нормально распределенные средства среди прочего: нет аномалий (см.http://homepage.newschool.edu/~canjels/permdw12.pdf ). Кроме того, DW-тест проверяет только автокорреляцию задержки 1. Ваши данные могут иметь недельный / сезонный эффект, и это может быть недиагностировано и, кроме того, без обработки приведет к смещению теста DW вниз.

IrishStat
источник
Какие тесты для проверки того, что остатки значительно отличаются от нуля? Если регрессия включает в себя перехват, то остаточное среднее алгебраически равно нулю, поэтому мне интересно, как можно обойти эту проблему.
mpiktas
: mpkitas Как вы сказали, когда вы включаете константу, среднее значение ошибок гарантировано равно 0,0, но это не гарантирует, что среднее значение ошибок везде равно нулю. Например, если у ряда есть изменение в среднем, общее среднее будет постоянным, но даст два «остатка» остатков, каждый с различным средним значением. За подробностями вы можете обратиться к статье Рюи Цая «Выбросы, сдвиги уровней и изменения дисперсии во временных рядах», Journal of Forecasting, VOl 7, 1-20 (1988). ИЛИ faculty.chicagobooth.edu/ruey.tsay/teaching/uts/lec10-08.pdf ИЛИ Google "автоматическое обнаружение вмешательства"
IrishStat
1
Это просто стандартное предположение «без пропущенных переменных», которое подразумевается во всем регрессионном анализе.
Чарли