autocorr

Демонстрационная автокорреляция

Описание

пример

autocorr(y) строит демонстрационную автокорреляционную функцию (ACF) одномерных, стохастических временных рядов y с доверительными границами.

пример

autocorr(y,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, autocorr(y,'NumLags',10,'NumSTD',2) строит демонстрационный ACF y для 10 задержки и доверительные границы отображений, состоящие из 2 стандартные погрешности.

пример

acf = autocorr(___) возвращает демонстрационный ACF y использование любого из входных параметров в предыдущих синтаксисах.

пример

[acf,lags,bounds] = autocorr(___) дополнительно возвращает числа задержки что MATLAB® используется для расчета ACF, и также возвращает аппроксимированные верхние и более низкие доверительные границы.

autocorr(ax,___) графики на осях заданы ax вместо текущей системы координат (gca). ax может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.

[acf,lags,bounds,h] = autocorr(___) строит демонстрационный ACF y и дополнительно возвращает указатели на нанесенные на график графические объекты. Используйте элементы h изменить свойства графика после того, как вы создаете его.

Примеры

свернуть все

Задайте модель MA (2):

yt=εt-0.5εt-1+0.4εt-2,

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

rng(1); % For reproducibility
Mdl = arima('MA',{-0.5 0.4},'Constant',0,'Variance',1)
Mdl = 
  arima with properties:

     Description: "ARIMA(0,0,2) Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 0
               D: 0
               Q: 2
        Constant: 0
              AR: {}
             SAR: {}
              MA: {-0.5 0.4} at lags [1 2]
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: 1

Симулируйте 1 000 наблюдений от Mdl.

y = simulate(Mdl,1000);

Вычислите ACF для 20 задержек. Задайте это yt модель MA (2), то есть, ACF эффективно 0 после второй задержки.

[acf,lags,bounds] = autocorr(y,'NumMA',2);
bounds
bounds = 2×1

    0.0843
   -0.0843

bounds (-0.0843, 0.0843), которые являются верхними и более низкими доверительными границами.

Постройте ACF.

autocorr(y)

Figure contains an axes object. The axes object with title Sample Autocorrelation Function contains 4 objects of type stem, line.

ACF убегает после второй задержки. Это поведение показательно из MA (2) процесс.

Задайте мультипликативный сезонный ARMA (2,0,1)×(3,0,0)12 модель:

(1-0.75L-0.15L2)(1-0.9L12+0.5L24-0.5L36)yt=2+εt-0.5εt-1,

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

Mdl = arima('AR',{0.75,0.15},'SAR',{0.9,-0.5,0.5},...
    'SARLags',[12,24,36],'MA',-0.5,'Constant',2,...
    'Variance',1);

Симулируйте данные из Mdl.

rng(1); % For reproducibility
y = simulate(Mdl,1000); 

Постройте автокорреляционную функцию по умолчанию (ACF).

figure
autocorr(y)

Figure contains an axes object. The axes object with title Sample Autocorrelation Function contains 4 objects of type stem, line.

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

Постройте ACF для 40 задержек.

figure
autocorr(y,'NumLags',40,'NumSTD',3)

Figure contains an axes object. The axes object with title Sample Autocorrelation Function contains 4 objects of type stem, line.

Коррелограмма показывает большие корреляции в задержках 12, 24, и 36.

Несмотря на то, что различные оценки демонстрационной автокорреляционной функции существуют, autocorr использует форму в Поле, Дженкинсе и Рейнселе, 1994. В их оценке они масштабируют корреляцию в каждой задержке демонстрационным отклонением (var(y,1)) так, чтобы автокорреляция в задержке 0 была единицей. Однако определенные приложения требуют перемасштабирования нормированного ACF другим фактором.

Симулируйте 1 000 наблюдений от стандартного Распределения Гаусса.

rng(1); % For reproducibility
y = randn(1000, 1);

Вычислите нормированный и ненормированный демонстрационный ACF.

[normalizedACF, lags] = autocorr(y,'NumLags',10);
unnormalizedACF = normalizedACF*var(y,1);

Сравните первые 10 задержек демонстрационного ACF с и без нормализации.

[lags  normalizedACF  unnormalizedACF]
ans = 11×3

         0    1.0000    0.9960
    1.0000   -0.0180   -0.0180
    2.0000    0.0536    0.0534
    3.0000   -0.0206   -0.0205
    4.0000   -0.0300   -0.0299
    5.0000   -0.0086   -0.0086
    6.0000   -0.0108   -0.0107
    7.0000   -0.0116   -0.0116
    8.0000    0.0309    0.0307
    9.0000    0.0341    0.0340
      ⋮

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

свернуть все

Наблюдаемые одномерные временные ряды, для которых MATLAB оценивает или строит ACF в виде числового вектора. Последний элемент y содержит последнее наблюдение.

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

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

Оси, на которых можно построить в виде Axes объект.

По умолчанию, autocorr графики к текущей системе координат (gca).

Аргументы name-value

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

Пример: autocorr(y,'NumLags',10,'NumSTD',2) строит демонстрационный ACF y для 10 задержки и доверительные границы отображений, состоящие из 2 стандартные погрешности.

Количество задержек в демонстрационном ACF в виде разделенной запятой пары, состоящей из 'NumLags' и положительное целое число. autocorr использование изолирует 0:NumLags оценить ACF.

Значением по умолчанию является min ([20, T – 1]), где T эффективный объем выборки y.

Пример: autocorr(y,'NumLags',10) строит демонстрационный ACF y для задержек 0 через 10.

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

Количество задержек в теоретической модели MA yВ виде разделенной запятой пары, состоящей из 'NumMA' и неотрицательное целое число меньше, чем NumLags.

autocorr использование NumMA оценить доверительные границы.

  • Для задержек> NumMA, autocorr приближение Бартлетта использования [1], чтобы оценить стандартные погрешности под предположением модели.

  • Если NumMA= 0 то autocorr принимает тот y Гауссов процесс белого шума длины n. Следовательно, стандартная погрешность приблизительно 1/T, где T является эффективным объемом выборки y.

Пример: autocorr(y,'NumMA',10) задает тот y MA (10) процесс и доверительные границы графиков для всех задержек, больше, чем 10.

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

Количество стандартных погрешностей в доверительных границах в виде разделенной запятой пары, состоящей из 'NumSTD' и неотрицательный скаляр. Для всех задержек> NumMA, доверительные границы являются 0 ±NumSTD*σ^, где σ^ предполагаемая стандартная погрешность демонстрационной автокорреляции.

Выражения по умолчанию аппроксимируют 95% доверительных границ.

Пример: autocorr(y,'NumSTD',1.5) строит ACF y с доверительными границами 1.5 стандартные погрешности далеко от 0.

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

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

свернуть все

Демонстрационный ACF одномерных временных рядов y, возвращенный как числовой вектор из длины NumLags+ 1 .

Элементы acf соответствуйте задержкам 0,1,2..., NumLags (то есть, элементы lags). Навсегда серия y, задержка 0 автокорреляций acf(1)= 1 .

Изолируйте числа, используемые для оценки ACF, возвращенной как числовой вектор из длины NumLags+ 1 .

Аппроксимируйте верхние и более низкие доверительные границы автокорреляции, принимающие y MA (NumMA) процесс, возвращенный как двухэлементный числовой вектор.

Указатели на нанесенные на график графические объекты, возвращенные как графический массив. h содержит уникальные идентификаторы графика, которые можно использовать, чтобы запросить или изменить свойства графика.

Больше о

свернуть все

Автокорреляционная функция

autocorrelation function измеряет корреляцию между yt и y t + k, где k = 0..., K и yt является стохастическим процессом.

Согласно [1], автокорреляция для задержки k

rk=ckc0,

где

  • ck=1Tt=1Tk(yty¯)(yt+ky¯).

  • c 0 является демонстрационным отклонением временных рядов.

Предположим, что q является задержкой, вне которой теоретический ACF эффективно 0. Затем предполагаемая стандартная погрешность автокорреляции в задержке k> q

SE(rk)=1T(1+2j=1qrj2).

Если ряд абсолютно случаен, то стандартная погрешность уменьшает до 1/T.

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

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

Советы

Чтобы построить ACF без доверительных границ, установите 'NumSTD',0.

Алгоритмы

  • Если y полностью наблюдаемый ряд (то есть, он не содержит NaN значения), затем autocorr использует преобразование Фурье, чтобы вычислить ACF в частотном диапазоне, затем преобразует назад в область времени использование обратного преобразования Фурье.

  • Если y не полностью наблюдается (то есть, это содержит по крайней мере один NaN значение, autocorr вычисляет ACF в задержке k во временном интервале и включает в демонстрационное среднее значение только те термины, для которых векторное произведение yt y существует t +k. Следовательно, эффективный объем выборки является случайной переменной.

  • autocorr строит ACF, когда вы не запрашиваете выхода или когда вы запрашиваете четвертый выход.

Ссылки

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

[2] Гамильтон, J. D. Анализ Временных Рядов. Принстон, NJ: Издательство Принстонского университета, 1994.

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