импульс

Класс: arima

Импульсная функция отклика

Синтаксис

impulse(Mdl)
impulse(Mdl,numObs)
Y = impulse(___)

Описание

impulse(Mdl) строит дискретную диаграмму стебель-листья импульсной функции отклика для одномерной модели ARIMA, Mdl, в окне текущей фигуры.

impulse(Mdl,numObs) строит импульсную функцию отклика в течение периодов numObs.

Y = impulse(___) возвращает импульсный ответ в вектор-столбце для любого из предыдущих входных параметров.

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

Mdl

Модель ARIMA, как создано arima или estimate.

numObs

Положительное целое число, указывающее на количество наблюдений, чтобы включать в импульсный ответ (количество периодов, в течение которых impulse вычисляет импульсный ответ).

Когда вы задаете numObs, impulse вычисляет импульсный ответ путем фильтрации модульного импульса, сопровождаемого вектором нулей соответствующей длины. Алгоритм фильтрации очень быстр и приводит к импульсному ответу известной длины.

Если вы не задаете numObs, impulse определяет количество наблюдения с помощью полиномиального алгоритма деления базовых полиномов оператора задержки, mldivide.

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

Y

Вектор-столбец импульсных ответов. Если вы задаете numObs, то Y является numObs-by-1. Если вы не задаете numObs, базовый алгоритм деления полинома оператора задержки возвращает импульсный ответ обычно неизвестной длины.

Примеры

развернуть все

Задайте модель AR (2),

yt=0.5yt-1-0.7yt-2+εt.

Mdl = arima('AR',{0.5,-0.7},'Constant',0)
Mdl = 
  arima with properties:

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

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

impulse(Mdl)

Модель является стационарной; импульсная функция отклика затухает в синусоидальном шаблоне.

Задайте модель ARMA(1,1),

yt=0.7yt-1+εt+0.2εt-1.

Mdl = arima('AR',0.7,'MA',0.2,'Constant',0)
Mdl = 
  arima with properties:

     Description: "ARIMA(1,0,1) Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 1
               D: 0
               Q: 1
        Constant: 0
              AR: {0.7} at lag [1]
             SAR: {}
              MA: {0.2} at lag [1]
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: NaN

Сохраните импульсную функцию отклика в течение 15 периодов.

Y = impulse(Mdl,15)
Y = 15×1

    1.0000
    0.9000
    0.6300
    0.4410
    0.3087
    0.2161
    0.1513
    0.1059
    0.0741
    0.0519
      ⋮

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

Больше о

развернуть все

Советы

  • Чтобы улучшать производительность алгоритма фильтрации, задайте количество наблюдений, чтобы включать в импульсный ответ, numObs. Когда вы не задаете numObs, impulse вычисляет импульсный ответ путем преобразования входной модели в усеченное, бесконечную степень, представление скользящего среднего значения с помощью относительно медленного алгоритма деления полинома оператора задержки. Это приводит к импульсному ответу обычно неизвестной длины.

Ссылки

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

[2] Enders, W. Прикладные эконометрические временные ряды. Хобокен, NJ: John Wiley & Sons, 1995.

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

[4] Lütkepohl, H. Новое введение в несколько анализ временных рядов. Нью-Йорк, Нью-Йорк: Springer-Verlag, 2007.