estimate

Оцените ARIMA или параметры модели ARIMAX

Синтаксис

EstMdl = estimate(Mdl,y)
[EstMdl,EstParamCov,logL,info] = estimate(Mdl,y)
[EstMdl,EstParamCov,logL,info] = estimate(Mdl,y,Name,Value)

Описание

EstMdl = estimate(Mdl,y) наибольшее правдоподобие использования, чтобы оценить параметры ARIMA (p, D, q) модель Mdl учитывая наблюдаемые одномерные временные ряды y. EstMdl arima модель, которая хранит результаты.

[EstMdl,EstParamCov,logL,info] = estimate(Mdl,y) дополнительно возвращает EstParamCov, ковариационная матрица отклонения сопоставлена предполагаемыми параметрами, logL, оптимизированная целевая функция логарифмической правдоподобности и info, структура данных итоговой информации.

[EstMdl,EstParamCov,logL,info] = estimate(Mdl,y,Name,Value) оценивает модель с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

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

Модель ARIMA или ARIMAX в виде arima модель возвращена arima или estimate.

estimate обработки non-NaN элементы в Mdl как ограничения равенства и не оценивает соответствующие параметры.

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

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

Аргументы в виде пар имя-значение

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

Первоначальные оценки несезонных авторегрессивных коэффициентов для модели ARIMA в виде разделенной запятой пары, состоящей из 'AR0' и числовой вектор.

Количество коэффициентов в AR0 должен равняться количеству задержек, сопоставленных с ненулевыми коэффициентами в несезонном авторегрессивном полиноме, ARLags.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

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

Первоначальные оценки коэффициентов регрессии для компонента регрессии в виде разделенной запятой пары, состоящей из 'Beta0' и числовой вектор.

Количество коэффициентов в Beta0 должен равняться количеству столбцов X.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

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

Первоначальная модель ARIMA постоянная оценка в виде разделенной запятой пары, состоящей из 'Constant0' и скаляр.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

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

Параметр отображения Командного окна в виде разделенной запятой пары, состоящей из 'Display' и значение или любая комбинация значений в этой таблице.

Значениеоцените Отображения
'diagnostics'Диагностика оптимизации
'full'Оценки параметра наибольшего правдоподобия, стандартные погрешности, статистика t, итеративная информация об оптимизации и диагностика оптимизации
'iter'Итеративная информация об оптимизации
'off'Никакое отображение в Командном окне
'params'Оценки параметра наибольшего правдоподобия, стандартные погрешности и статистика t

Например:

  • Запускать симуляцию, где вы подбираете много моделей, и поэтому хотите подавить весь выход, 'Display','off' использования.

  • Чтобы отобразить все результаты оценки и диагностику оптимизации, используйте 'Display',{'params','diagnostics'}.

Типы данных: char | cell | string

Начальный t - оценка параметра степеней свободы распределения в виде разделенной запятой пары, состоящей из 'DoF0' и положительная скалярная величина. DoF0 должен превысить 2.

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

Преддемонстрационные инновации, которые имеют среднее значение 0 и вводят начальные значения для ARIMA (p, D, q) модель в виде разделенной запятой пары, состоящей из 'E0' и числовой вектор-столбец.

E0 должен содержать, по крайней мере, Mdl.Q 'Строки' . Если вы используете условную модель отклонения, такую как garch модель, затем программное обеспечение может потребовать больше, чем Mdl.Q преддемонстрационные инновации.

Если E0 содержит дополнительные строки, затем estimate использует последний Mdl.Q преддемонстрационные инновации. Последняя строка содержит последние преддемонстрационные инновации.

По умолчанию, estimate устанавливает необходимые преддемонстрационные инновации на 0.

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

Первоначальные оценки несезонных коэффициентов скользящего среднего значения для ARIMA (p, D, q) модель в виде разделенной запятой пары, состоящей из 'MA0' и числовой вектор.

Количество коэффициентов в MA0 должен равняться количеству задержек, сопоставленных с ненулевыми коэффициентами в несезонном полиноме скользящего среднего значения, MALags.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

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

Опции оптимизации в виде разделенной запятой пары, состоящей из 'Options' и optimoptions контроллер оптимизации. Для получения дополнительной информации при изменении значений по умолчанию оптимизатора, смотрите optimoptions или fmincon в Optimization Toolbox™.

Например, чтобы изменить допуск ограничения в 1e-6, установите Options = optimoptions(@fmincon,'ConstraintTolerance',1e-6,'Algorithm','sqp'). Затем передача Options в estimate использование 'Options',Options.

По умолчанию, estimate использует те же опции по умолчанию в качестве fmincon, кроме Algorithm 'sqp' и ConstraintTolerance 1e-7.

Первоначальные оценки сезонных авторегрессивных коэффициентов для ARIMA (p, D, q) модель в виде разделенной запятой пары, состоящей из 'SAR0' и числовой вектор.

Количество коэффициентов в SAR0 должен равняться количеству задержек, сопоставленных с ненулевыми коэффициентами в сезонном авторегрессивном полиноме, SARLags.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

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

Первоначальные оценки сезонных коэффициентов скользящего среднего значения для ARIMA (p, D, q) модель в виде разделенной запятой пары, состоящей из 'SMA0' и вектор.

Количество коэффициентов в SMA0 должен равняться количеству задержек с ненулевыми коэффициентами в сезонном полиноме скользящего среднего значения, SMALags.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

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

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

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

Если отклонение модели является постоянным, то V0 является ненужным.

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

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

Первоначальные оценки отклонений инноваций для ARIMA (p, D, q) модель в виде разделенной запятой пары, состоящей из 'Variance0' и положительная скалярная величина или вектор ячейки аргументов пары "имя-значение".

  • Если Variance0 положительная скалярная величина, отклонение Mdl (сохраненный в Mdl.Variance) должно быть постоянным.

  • Если Variance0 вектор ячейки:

    • Отклонение Mdl должен представлять условную модель отклонения, такую как модель GARCH, заданная garch объект модели.

    • Заданные аргументы пары "имя-значение" являются любой из поддерживаемых первоначальных оценок, видят estimate функция условных объектов модели отклонения.

По умолчанию, estimate выводит первоначальные оценки с помощью стандартных методов временных рядов.

Пример: Для модели с постоянным отклонением, набор 'Variance0',2 задавать первоначальную оценку 2 для отклонения модели.

Пример: Для составного условного среднего значения и модели отклонения, набор 'Variance0',{'Constant0',2,'ARCH0',0.1} задавать первоначальную оценку 2 для условной постоянной модели отклонения, и первоначальная оценка 0.1 для задержки 1 коэффициент в полиноме ДУГИ.

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

Внешние предикторы в модели регрессии в виде разделенной запятой пары, состоящей из 'X' и матрица.

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

Если вы не задаете Y0, затем количество строк X должен быть, по крайней мере, numel(y,2) + Mdl.P. В противном случае, количество строк X должна быть, по крайней мере, длина y.

Если количество строк X превышает необходимый номер, затем estimate использует последние наблюдения и синхронизирует X с серией y ответа.

По умолчанию, estimate не оценивает коэффициенты регрессии независимо от их присутствия в Mdl.

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

Преддемонстрационные данные об ответе, которые вводят начальные значения для ARIMA (p, D, q) модель в виде разделенной запятой пары, состоящей из 'Y0' и числовой вектор-столбец.

Y0 вектор-столбец, по крайней мере, с Mdl.P 'Строки' . Если количество строк в Y0 превышает Mdl.P, estimate только использует последний Mdl.P наблюдения. Последняя строка содержит последнее наблюдение.

По умолчанию, estimate обратные прогнозы для необходимого объема преддемонстрационных наблюдений.

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

Примечания

  • NaNs указывают на отсутствующие значения и estimate удаляет их. Программное обеспечение объединяет преддемонстрационные данные (E0, V0, и Y0) отдельно от эффективных выборочных данных (X и y), затем использует мудрое списком удаление, чтобы удалить любой NaNs. Удаление NaNs в данных уменьшает объем выборки и может также создать неправильные временные ряды.

  • Удаление NaNs в данных уменьшает объем выборки и может также создать неправильные временные ряды.

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

  • Если вы задаете значение для Display, затем это более приоритетно по сравнению с техническими требованиями опций оптимизации Diagnostics и Display. В противном случае, estimate почести все выборы, связанные с отображением информации об оптимизации в опциях оптимизации.

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

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

Модель, содержащая оценки параметра, возвращенные как arima модель. estimate наибольшее правдоподобие использования, чтобы вычислить все оценки параметра, не ограниченные Mdl (то есть, все параметры в Mdl то, что вы устанавливаете на NaN).

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

Строки и столбцы содержат ковариации оценок параметра. Стандартные погрешности оценок параметра являются квадратным корнем из записей по основной диагонали.

Строки и столбцы, сопоставленные любыми параметрами, сохраненными зафиксированными как ограничения равенства, содержат 0s.

estimate использует векторное произведение градиентов (OPG) метод, чтобы выполнить оценку ковариационной матрицы.

estimate заказывает параметры в EstParamCov можно следующим образом:

  • Постоянный

  • Ненулевой AR коэффициенты в положительных задержках

  • Ненулевой SAR коэффициенты в положительных задержках

  • Ненулевой MA коэффициенты в положительных задержках

  • Ненулевой SMA коэффициенты в положительных задержках

  • Коэффициенты регрессии (когда вы задаете X в estimate)

  • Параметры отклонения (скаляр для моделей постоянного отклонения, вектора дополнительных параметров в противном случае)

  • Степени свободы (только инновационное распределение t)

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

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

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

Итоговая информация, возвращенная как структура.

Поле Описание
exitflagВыходной флаг оптимизации (см. fmincon в Optimization Toolbox)
optionsКонтроллер опций оптимизации (см. optimoptions и fmincon в Optimization Toolbox)
XВектор итоговых оценок параметра
X0Вектор начальных оценок параметра

Например, можно отобразить вектор итоговых оценок путем ввода info.X в Командном окне.

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

Примеры

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

Подбирайте модель ARMA(2,1) к симулированным данным.

Симулируйте 500 точек данных из модели ARMA(2,1)

yt=0.5yt-1-0.3yt-2+εt+0.2εt-1,

где εt следует за Распределением Гаусса со средним значением 0 и отклонением 0.1.

Mdl0 = arima('AR',{0.5,-0.3},'MA',0.2,...
	'Constant',0,'Variance',0.1);

rng(5); % For reproducibility
y = simulate(Mdl0,500);

Симулированные данные хранятся в вектор-столбце Y.

Задайте модель ARMA(2,1) без постоянных и неизвестных коэффициентов и отклонения.

Mdl = arima(2,0,1);
Mdl.Constant = 0
Mdl = 
  arima with properties:

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

Подбирайте модель ARMA(2,1) к y.

EstMdl = estimate(Mdl,y);
 
    ARIMA(2,0,1) Model (Gaussian Distribution):
 
                 Value      StandardError    TStatistic      PValue  
                ________    _____________    __________    __________

    Constant           0              0           NaN             NaN
    AR{1}        0.49404        0.10321        4.7866      1.6961e-06
    AR{2}       -0.25348        0.06993       -3.6248      0.00028921
    MA{1}        0.27958        0.10721        2.6078       0.0091132
    Variance     0.10009      0.0066403        15.073      2.4228e-51

Результатом является новый arima модель под названием EstMdl. Оценки в EstMdl напомните значения параметров, которые сгенерировали симулированные данные.

Подбирайте интегрированную модель ARIMA (1,1,1) к дневному закрытию Сводного индекса NASDAQ.

Загрузите данные NASDAQ, включенные с тулбоксом. Извлеките первые 1 500 наблюдений за Сводным индексом (январь 1990 до декабря 1995).

load Data_EquityIdx
nasdaq = DataTable.NASDAQ(1:1500);

Задайте модель ARIMA (1,1,1) для подбора кривой.

Mdl = arima(1,1,1);

Модель является несезонной, таким образом, можно использовать краткий синтаксис.

Подбирайте модель к первой половине данных.

EstMdl = estimate(Mdl,nasdaq(1:750));
 
    ARIMA(1,1,1) Model (Gaussian Distribution):
 
                 Value     StandardError    TStatistic      PValue   
                _______    _____________    __________    ___________

    Constant     0.2234       0.18418          1.213          0.22513
    AR{1}       0.11434       0.11944        0.95732          0.33841
    MA{1}       0.12764       0.11925         1.0703          0.28448
    Variance     18.983       0.68999         27.512      1.2544e-166

Результатом является новый arima модель (EstMdl). Предполагаемые параметры, их стандартные погрешности, и t статистические данные отображаются в Командном окне.

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

con0 = EstMdl.Constant;
ar0 = EstMdl.AR{1};
ma0 = EstMdl.MA{1};
var0 = EstMdl.Variance;

[EstMdl2,EstParamCov2,logL2,info2] = estimate(Mdl,....
   nasdaq(751:end),'Constant0',con0,'AR0',ar0,...
   'MA0',ma0,'Variance0',var0);
 
    ARIMA(1,1,1) Model (Gaussian Distribution):
 
                 Value     StandardError    TStatistic      PValue   
                _______    _____________    __________    ___________

    Constant    0.61142       0.32675         1.8712         0.061316
    AR{1}       -0.1507       0.11782        -1.2791          0.20085
    MA{1}       0.38568       0.10906         3.5366       0.00040535
    Variance     36.493         1.227         29.742      2.1904e-194

Оценки параметра хранятся в info структура данных. Отобразите итоговые оценки параметра.

info2.X
ans = 4×1

    0.6114
   -0.1507
    0.3857
   36.4933

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

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

(1-0.5L+0.3L2)(1-L)1yt=1.5x1,t+2.6x2,t-0.3x3,t+εt+0.2εt-1

в конечном счете симулировать временные ряды длины 500, где εt следует за Распределением Гаусса со средним значением 0 и отклонением 0.1.

Mdl0 = arima('AR',{0.5,-0.3},'MA',0.2,'D',1,...
    'Constant',0,'Variance',0.1,'Beta',[1.5 2.6 -0.3]);
T = 500;

Симулируйте три стационарных серии AR (1) и преддемонстрационные значения:

x1,t=0.1x1,t-1+η1,tx2,t=0.2x2,t-1+η2,tx3,t=0.3x3,t-1+η3,t,

где ηi,t следует за Распределением Гаусса со средним значением 0 и отклонением 0.01 поскольку i = {1,2,3}.

numObs = Mdl0.P + T;
MdlX1 = arima('AR',0.1,'Constant',0,'Variance',0.01);
MdlX2 = arima('AR',0.2,'Constant',0,'Variance',0.01);
MdlX3 = arima('AR',0.3,'Constant',0,'Variance',0.01);
X1 = simulate(MdlX1,numObs);
X2 = simulate(MdlX2,numObs);
X3 = simulate(MdlX3,numObs);
Xmat = [X1 X2 X3];

Симулированные внешние предикторы хранятся в numObs- 3 матричных Xmat.

Симулируйте 500 точек данных из модели ARIMA (2,1,1).

y = simulate(Mdl0,T,'X',Xmat);

Симулированный ответ хранится в вектор-столбце y.

Создайте модель ARIMA (2,1,1) с известным 0- ценные постоянные и неизвестные коэффициенты и отклонение.

Mdl = arima(2,1,1);
Mdl.Constant = 0
Mdl = 
  arima with properties:

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

Mdl модель ARIMA (2,1,1). estimate изменения это обозначение к ARIMAX (2,1,1), когда вы задаете внешние данные о предикторах при помощи 'X' аргумент пары "имя-значение". estimate подгонки все допускающие оценку параметры, свойства, имеющие значение NaN в Mdl, к данным.

Подбирайте модель ARIMAX(2,1,1) к y включая матрицу регрессии Xmat.

EstMdl = estimate(Mdl,y,'X',Xmat);
 
    ARIMAX(2,1,1) Model (Gaussian Distribution):
 
                 Value      StandardError    TStatistic      PValue  
                ________    _____________    __________    __________

    Constant           0             0            NaN             NaN
    AR{1}        0.41634      0.046067         9.0376       1.601e-19
    AR{2}       -0.27405      0.040645        -6.7427      1.5552e-11
    MA{1}         0.3346      0.057208         5.8488      4.9499e-09
    Beta(1)       1.4194       0.14242         9.9662      2.1429e-23
    Beta(2)        2.542        0.1331         19.098      2.6194e-81
    Beta(3)     -0.28767       0.14035        -2.0496        0.040399
    Variance    0.096777      0.005791         16.712        1.08e-62

EstMdl новый arima модель, определяемая как ARIMAX (2,1,1) начиная с внешних предикторов, вводит модель. Оценки в EstMdl напомните значения параметров, которые сгенерировали симулированные данные.

Советы

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

Ссылки

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

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

[3] Грин, В. Х. Эконометрик Анэлизис. 3-й редактор Верхний Сэддл-Ривер, NJ: Prentice Hall, 1997.

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

Для просмотра документации необходимо авторизоваться на сайте