exponenta event banner

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

Автокорреляция образца

Описание

пример

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

пример

autocorr(y,Name,Value) использует дополнительные параметры, заданные одним или несколькими аргументами пары имя-значение. Например, autocorr(y,'NumLags',10,'NumSTD',2) строит график выборки ACF y для 10 lags и отображает доверительные границы, состоящие из 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

Моделирование 1000 наблюдений из 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. The axes with title Sample Autocorrelation Function contains 4 objects of type stem, line.

ACF отключается после второго запаздывания. Это поведение указывает на процесс МА (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. The axes 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. The axes with title Sample Autocorrelation Function contains 4 objects of type stem, line.

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

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

Смоделировать 1000 наблюдений из стандартного гауссова распределения.

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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: autocorr(y,'NumLags',10,'NumSTD',2) строит график выборки ACF y для 10 lags и отображает доверительные границы, состоящие из 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 содержит уникальные идентификаторы графика, которые можно использовать для запроса или изменения свойств графика.

Подробнее

свернуть все

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

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

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

rk = ckc0,

где

  • ck=1T∑t=1T−k (yt y pw) (yt + k − y bw).

  • c0 - дисперсия выборки временного ряда.

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

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

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

Полное случайное отсутствие

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

Совет

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

Алгоритмы

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

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

  • autocorr выводит на график ACF при отсутствии запроса на вывод или при запросе четвертого вывода.

Ссылки

[1] Бокс, Г. Э. П., Г. М. Дженкинс и Г. К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

[2] Гамильтон, Дж. Д. Анализ временных рядов. Принстон, Нью-Джерси: Princeton University Press, 1994.

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