оценка

Класс: arima

Оцените 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, оптимизированной loglikelihood целевой функцией, и 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 является вектором ячейки, то условная модель отклонения должна распознать названия параметра допустимыми коэффициентами.

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

Типы данных: 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

Примечания

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

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

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

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

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

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

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

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

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

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

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

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

  • Постоянный

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

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

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

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

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

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

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

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

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

Типы данных: 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.

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

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

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

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

ToEstMdl = arima(2,0,1);
ToEstMdl.Constant = 0
ToEstMdl = 
  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(ToEstMdl,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.95733           0.3384
    MA{1}       0.12764       0.11925         1.0703          0.28448
    Variance     18.983       0.68999         27.512      1.2547e-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.61143       0.32675         1.8712         0.061311
    AR{1}       -0.15071       0.11782        -1.2792          0.20083
    MA{1}        0.38569       0.10905         3.5366       0.00040526
    Variance      36.493         1.227         29.742      2.1907e-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.

Mdl = 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 = Mdl.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-by-3 матричный Xmat.

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

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

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

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

ToEstMdl = arima(2,1,1);
ToEstMdl.Constant = 0
ToEstMdl = 
  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

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

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

EstMdl = estimate(ToEstMdl,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

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

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

Набор данных Значений по умолчанию Кредита содержит четыре переменные:

  • Уровень по умолчанию на корпоративных облигациях инвестиционного класса (IGD)

  • Процент выпускающих облигации инвестиционного уровня сначала оценил 3 года назад (AGE)

  • Предскажите "Один год вперед" изменения в прибыли корпорации, приведенной в соответствие с инфляцией (CPF)

  • Распространитесь между доходностью корпоративных облигаций и теми из сопоставимых государственных облигаций (SPR)

Примите, что модель ARIMAX(1,0,0) является соответствующей, чтобы соответствовать IGD использование AGE, CPF и SPR как внешние предикторы. Загрузите набор данных Значений по умолчанию Кредита. Присвойте ответ IGD y. Присвойте AGE предикторов, CPF и SPR к матричному X.

load Data_CreditDefaults
X = Data(:,[1 3:4]);
T = size(X,1);
y = Data(:,5);

Ответ и внешний ряд предиктора должны быть стационарными, прежде чем вы продолжите. Если ваш ответ не является стационарным, то задайте степень интегрирования в операторе arima. Если ваши внешние предикторы не являются стационарными, то вы должны различие их использующий diff. Ряды в этом примере являются стационарными, чтобы не отвлечь от его основной цели.

Разделите начальные значения от основного ответа и внешних предикторов. Выберите начальные значения для коэффициентов регрессии Beta0.

y0 = y(1);
yEst = y(2:T);
XEst = X(2:end,:);
Beta0 = [0.5 0.5 0.5];

y0 инициализирует ряд ответа, и yest является основным рядом ответа для оценки. XEst является основной внешней матрицей предиктора для оценки.

Задайте модель Mdl, чтобы соответствовать к данным.

Mdl = arima(1,0,0);

Соответствуйте модели к данным и задайте начальные значения.

EstMdl = estimate(Mdl,yEst,'X',XEst,...
    'Y0',y0,'Beta0',Beta0);
 
    ARIMAX(1,0,0) Model (Gaussian Distribution):
 
                  Value      StandardError    TStatistic     PValue 
                _________    _____________    __________    ________

    Constant     -0.20477        0.26608       -0.76958      0.44155
    AR{1}       -0.017311        0.56562      -0.030606      0.97558
    Beta(1)      0.023933       0.021842         1.0957      0.27319
    Beta(2)      -0.01246      0.0074992        -1.6615     0.096603
    Beta(3)      0.068087       0.074504        0.91388      0.36078
    Variance    0.0053946      0.0022439         2.4041     0.016212

Советы

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

Ссылки

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

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

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

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