estimate

Класс: regARIMA

Оценка параметров регрессионных моделей с ошибками ARIMA

Синтаксис

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, Mdl, учитывая последовательность ответов y. EstMdl является regARIMA модель, которая хранит результаты.

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

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

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

расширить все

Регрессионая модель с ошибками ARIMA, заданная как regARIMA модель, возвращенная regARIMA или estimate.

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

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

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

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

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

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

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

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

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

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

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

По умолчанию 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, заданный как разделенная разделенными запятой парами, состоящая из 'E0' и числовой вектор-столбец. E0 должен содержать не менее Mdl.Q строки. Если E0 содержит дополнительные строки, затем estimate использует последние Mdl.Q предварительный образец инноваций. Последняя строка содержит последние нововведения presample.

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

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

Оценка точки пересечения начальной регрессионной модели, заданная как разделенная разделенными запятой парами, состоящая из 'Intercept0' и скаляром.

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

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

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

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

По умолчанию 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, заданные как разделенная разделенными запятой парами, состоящая из 'SAR0' и числовой вектор.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечания

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

  • estimate принимает, что вы синхронизируете данные (предварительную выборку отдельно от эффективной выборки) таким образом, чтобы последние наблюдения происходили одновременно.

  • Точка пересечения регрессионной модели с ошибками ARIMA, имеющими ненулевые степени сезонного или несезонного интегрирования, не идентифицируется. Другими словами, estimate не может оценить точку пересечения регрессионной модели с ошибками ARIMA, которая имеет ненулевые степени сезонного или несезонного интегрирования. Если вы проходите в такой модели для оценки, estimate отображает предупреждение в Командном окне и устанавливает EstMdl.Intercept на NaN.

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

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

расширить все

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

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

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

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) к моделируемым данным :

yt=Xt[0.1-0.2]+utut=0.5ut-1-0.8ut-2+εt-0.5εt-1,

где εt является Гауссовым с отклонением 0,1.

Задайте ошибки ARMA (2,1) регрессионной модели. Симулируйте ответы от модели и двух рядов предикторов .

Mdl0 = regARIMA('Intercept',0,'AR',{0.5 -0.8}, ...
    'MA',-0.5,'Beta',[0.1 -0.2],'Variance',0.1);
rng(1);
X =  randn(100,2);
y = simulate(Mdl0,100,'X',X);

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

Mdl = regARIMA(2,0,1);
Mdl.Intercept = 0      % Exclude the intercept
Mdl = 
  regARIMA with properties:

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

Коэффициенты AR, коэффициенты MA и отклонение инноваций NaN значения. estimate оценивает эти параметры, но не точку пересечения. Точка пересечения фиксируется на 0.

Подгонка регрессионной модели с ошибками ARMA (2,1) к данным .

EstMdl = estimate(Mdl,y,'X',X,'Display','params');
 
    Regression with ARMA(2,1) Error Model (Gaussian Distribution):
 
                  Value      StandardError    TStatistic      PValue  
                 ________    _____________    __________    __________

    Intercept           0              0           NaN             NaN
    AR{1}          0.6203        0.10419        5.9534      2.6267e-09
    AR{2}        -0.69717       0.079575       -8.7612      1.9315e-18
    MA{1}        -0.55808         0.1319       -4.2312      2.3243e-05
    Beta(1)       0.10367       0.021735        4.7696      1.8456e-06
    Beta(2)      -0.20945       0.024188        -8.659      4.7574e-18
    Variance     0.074885      0.0090358        8.2876      1.1558e-16

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

Подгонка регрессионной модели с ошибками ARMA (1,1) путем регрессии логарифмического ВВП в ИПЦ и использования начальных значений .

Загрузите набор макроэкономических данных США и предварительно обработайте данные.

load Data_USEconModel;
logGDP = log(DataTable.GDP);
dlogGDP = diff(logGDP);        % For stationarity
dCPI = diff(DataTable.CPIAUCSL); % For stationarity
T = length(dlogGDP);           % Effective sample size

Задайте регрессионую модель с ошибками ARMA (1,1), при которых все оцениваемые параметры неизвестны .

EstMdl = regARIMA(1,0,1);

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

EstMdl0 = estimate(EstMdl,dlogGDP(1:ceil(T/2)),...
    'X',dCPI(1:ceil(T/2)),'Display','off');

Результатом является новая regARIMA модель с предполагаемыми параметрами.

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

Intercept0 = EstMdl0.Intercept;
AR0        = EstMdl0.AR{1};
MA0        = EstMdl0.MA{1};
Variance0  = EstMdl0.Variance;
Beta0      = EstMdl0.Beta;

[EstMdl,~,~,info] = estimate(EstMdl,dlogGDP(floor(T/2)+1:end),...
    'X',dCPI(floor(T/2)+1:end),'Display','params',...
   'Intercept0',Intercept0,'AR0',AR0,'MA0',MA0,...
   'Variance0',Variance0,'Beta0',Beta0);
 
    Regression with ARMA(1,1) Error Model (Gaussian Distribution):
 
                   Value       StandardError    TStatistic      PValue   
                 __________    _____________    __________    ___________

    Intercept      0.011174       0.002102        5.3158       1.0619e-07
    AR{1}           0.78684       0.036229        21.718      1.3759e-104
    MA{1}          -0.47362        0.06554       -7.2264         4.96e-13
    Beta(1)       0.0021933     0.00058327        3.7604       0.00016966
    Variance     4.8349e-05     4.1705e-06        11.593       4.4716e-31

Отобразите все оценки параметров с помощью info.X.

info.X
ans = 5×1

    0.0112
    0.7868
   -0.4736
    0.0022
    0.0000

Порядок оценок параметров в info.X соответствует порядку, который estimate Отображения в своём выходе таблице.

Совет

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

Алгоритмы

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

  1. Вывод безусловных нарушений порядка из регрессионной модели.

  2. Вывод невязок модели ошибки ARIMA.

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

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

Ссылки

[1] Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.

[2] Davidson, R., and J. G. MacKinnon. Эконометрическая теория и методы. Оксфорд, Великобритания: Oxford University Press, 2004.

[3] Enders, W. Applied Econometric Time Series. Hoboken, NJ: John Wiley & Sons, Inc., 1995.

[4] Гамильтон, Дж. Д. Анализ временных рядов. Princeton, NJ: Princeton University Press, 1994.

[5] Pankratz, A. Прогнозирование с динамическими регрессиоными моделями. John Wiley & Sons, Inc., 1991.

[6] Tsay, R.S. Analysis of Financial Time Series. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 2005.