автопоправка

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

Синтаксис

autocorr(y)
autocorr(y,Name,Value)
acf = autocorr(___)
[acf,lags,bounds] = autocorr(___)
autocorr(ax,___)
[acf,lags,bounds,h] = 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)

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)

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

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

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

Коррелограмма показывает большие корреляции в задержках 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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. Г. М. Дженкинс и Г. К. Рейнсель. Анализ timeseries: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

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

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