В литературе я нашел два определения времени автокорреляции слабо стационарного временного ряда:
где - автокорреляция при лагеk.
Одно из применений времени автокорреляции - найти «эффективный размер выборки»: если у вас есть наблюдений временного ряда, и вы знаете его время автокорреляции τ , то вы можете притворяться, что у вас есть
независимые выборки вместо коррелированных для нахождения среднего значения. Оценка τ по данным является нетривиальной, но есть несколько способов сделать это (см. Томпсон 2010 ).
Определение без абсолютных значений представляется более распространенным в литературе; но это допускает возможность τ a < 1 . Используя R и пакет "coda":
require(coda)
ts.uncorr <- arima.sim(model=list(),n=10000) # white noise
ts.corr <- arima.sim(model=list(ar=-0.5),n=10000) # AR(1)
effectiveSize(ts.uncorr) # Sanity check
# result should be close to 10000
effectiveSize(ts.corr)
# result is in the neighborhood of 30000... ???
Функция «ffectiveSize »в« коде »использует определение времени автокорреляции, эквивалентного , выше. Существуют и другие пакеты R, которые вычисляют эффективный размер выборки или время автокорреляции, и все те, которые я пробовал, дают результаты, согласующиеся с этим: процесс AR (1) с отрицательным коэффициентом AR имеетболееэффективные выборки, чем коррелированные временная последовательность. Это кажется странным.
Очевидно, что это не может произойти в определения времени автокорреляции.
Как правильно определить время автокорреляции? Что-то не так с моим пониманием эффективных размеров выборки? результатпоказанный вышекажетсячто это должно быть неправильно ... что происходит?