оценка

Класс: 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, оптимизированной loglikelihood целевой функцией, и info, структурой данных итоговой информации.

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

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

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

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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. Последняя строка содержит последние преддемонстрационные инновации.

По умолчанию estimate устанавливает необходимые преддемонстрационные инновации на 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 для необходимой суммы преддемонстрационных безусловных воздействий.

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

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

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

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

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

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

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

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

Примечания

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

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

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

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

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

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

Модель, содержащая оценки параметра, возвращенные как модель regARIMA. 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) ошибки к моделируемым данным:

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

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

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

Mdl = 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(Mdl,100,'X',X);

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

ToEstMdl = regARIMA(2,0,1);
ToEstMdl.Intercept = 0 % Exclude the intercept
ToEstMdl = 
  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(ToEstMdl,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) ошибки путем регрессирования логарифмического GDP на CPI и использования начальных значений.

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

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) ошибки.

ToEstMdl = regARIMA(1,0,1);

Соответствуйте модели к первой половине данных.

EstMdl0 = estimate(ToEstMdl,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(ToEstMdl,...
   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.376e-104
    MA{1}          -0.47362        0.06554       -7.2264      4.9601e-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. Максимизируйте функцию loglikelihood относительно параметров с помощью fmincon.

Ссылки

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

[2] Дэвидсон, R. и Дж. Г. Маккиннон. Эконометрическая теория и методы. Оксфорд, Великобритания: Издательство Оксфордского университета, 2004.

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

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

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

[6] Tsay, R. S. Анализ Финансовых Временных рядов. 2-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 2005.