оценка

Подходящая векторная модель (VAR) авторегрессии к данным

Синтаксис

EstMdl = estimate(Mdl,Y)
EstMdl = estimate(Mdl,Y,Name,Value)
[EstMdl,EstSE] = estimate(___)
[EstMdl,EstSE,logL,E] = estimate(___)

Описание

пример

EstMdl = estimate(Mdl,Y) возвращает полностью заданную модель VAR (p). Эта модель хранит предполагаемые значения параметров, следующие из подбора кривой модели VAR (p) Mdl к наблюдаемой многомерной серии Y ответа с помощью наибольшего правдоподобия.

пример

EstMdl = estimate(Mdl,Y,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, можно задать преддемонстрационные ответы или внешние данные о предикторе.

пример

[EstMdl,EstSE] = estimate(___) возвращает предполагаемые, асимптотические стандартные погрешности предполагаемых параметров с помощью любого из входных параметров в предыдущих синтаксисах.

пример

[EstMdl,EstSE,logL,E] = estimate(___) возвращает оптимизированное loglikelihood значение целевой функции (logL) и многомерные невязки (E).

Примеры

свернуть все

Соответствуйте модели VAR (4) к данным об уровне безработицы и индексу потребительских цен (CPI).

Загрузите набор данных Data_USEconModel.

load Data_USEconModel

Постройте два ряда на отдельных графиках.

figure;
plot(DataTable.Time,DataTable.CPIAUCSL);
title('Consumer Price Index');
ylabel('Index');
xlabel('Date');

figure;
plot(DataTable.Time,DataTable.UNRATE);
title('Unemployment Rate');
ylabel('Percent');
xlabel('Date');

Стабилизируйте CPI путем преобразования его в серию темпов роста. Синхронизируйте два ряда путем удаления первого наблюдения из ряда уровня безработицы.

rcpi = price2ret(DataTable.CPIAUCSL);
unrate = DataTable.UNRATE(2:end);

Создайте модель VAR (4) по умолчанию с помощью краткого синтаксиса.

Mdl = varm(2,4)
Mdl = 
  varm with properties:

     Description: "2-Dimensional VAR(4) Model"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 4
        Constant: [2×1 vector of NaNs]
              AR: {2×2 matrices of NaNs} at lags [1 2 3 ... and 1 more]
           Trend: [2×1 vector of zeros]
            Beta: [2×0 matrix]
      Covariance: [2×2 matrix of NaNs]

Mdl является объектом модели varm. Все свойства, содержащие значения NaN, соответствуют параметрам, чтобы быть оцененными определенными данными.

Оцените модель с помощью целого набора данных.

EstMdl = estimate(Mdl,[rcpi unrate])
EstMdl = 
  varm with properties:

     Description: "AR-Stationary 2-Dimensional VAR(4) Model"
     SeriesNames: "Y1"  "Y2" 
       NumSeries: 2
               P: 4
        Constant: [0.00171639 0.316255]'
              AR: {2×2 matrices} at lags [1 2 3 ... and 1 more]
           Trend: [2×1 vector of zeros]
            Beta: [2×0 matrix]
      Covariance: [2×2 matrix]

EstMdl является предполагаемым объектом модели varm. Это полностью задано, потому что все параметры знали значения. Описание указывает, что авторегрессивный полином является стационарным.

Отобразите итоговую статистику от оценки.

summarize(EstMdl)
 
   AR-Stationary 2-Dimensional VAR(4) Model
 
    Effective Sample Size: 241
    Number of Estimated Parameters: 18
    LogLikelihood: 811.361
    AIC: -1586.72
    BIC: -1524
 
                      Value       StandardError    TStatistic      PValue  
                   ___________    _____________    __________    __________

    Constant(1)      0.0017164      0.0015988         1.0735        0.28303
    Constant(2)        0.31626       0.091961          3.439      0.0005838
    AR{1}(1,1)         0.30899       0.063356          4.877     1.0772e-06
    AR{1}(2,1)         -4.4834         3.6441        -1.2303        0.21857
    AR{1}(1,2)      -0.0031796      0.0011306        -2.8122       0.004921
    AR{1}(2,2)          1.3433       0.065032         20.656      8.546e-95
    AR{2}(1,1)         0.22433       0.069631         3.2217      0.0012741
    AR{2}(2,1)          7.1896          4.005         1.7951       0.072631
    AR{2}(1,2)       0.0012375      0.0018631         0.6642        0.50656
    AR{2}(2,2)        -0.26817        0.10716        -2.5025       0.012331
    AR{3}(1,1)         0.35333       0.068287         5.1742     2.2887e-07
    AR{3}(2,1)           1.487         3.9277        0.37858          0.705
    AR{3}(1,2)       0.0028594      0.0018621         1.5355        0.12465
    AR{3}(2,2)        -0.22709         0.1071        -2.1202       0.033986
    AR{4}(1,1)       -0.047563       0.069026       -0.68906        0.49079
    AR{4}(2,1)          8.6379         3.9702         2.1757       0.029579
    AR{4}(1,2)     -0.00096323      0.0011142       -0.86448        0.38733
    AR{4}(2,2)        0.076725       0.064088         1.1972        0.23123

 
   Innovations Covariance Matrix:
    0.0000   -0.0002
   -0.0002    0.1167

 
   Innovations Correlation Matrix:
    1.0000   -0.0925
   -0.0925    1.0000

Соответствуйте модели VAR (4) к данным об уровне безработицы и индексу потребительских цен (CPI). Выборка оценки запускается в Q1 1 980.

Загрузите набор данных Data_USEconModel.

load Data_USEconModel

Стабилизируйте CPI путем преобразования его в серию темпов роста. Синхронизируйте два ряда путем удаления первого наблюдения из ряда уровня безработицы.

rcpi = price2ret(DataTable.CPIAUCSL);
unrate = DataTable.UNRATE(2:end);

Идентифицируйте индекс, соответствующий запуску выборки оценки.

estIdx = DataTable.Time(2:end) > '1979-12-31';

Создайте модель VAR (4) по умолчанию с помощью краткого синтаксиса.

Mdl = varm(2,4);

Оцените модель с помощью выборки оценки. Задайте все наблюдения перед выборкой оценки как преддемонстрационные данные. Отобразите полные сводные данные оценки.

Y0 = [rcpi(~estIdx) unrate(~estIdx)];
EstMdl = estimate(Mdl,[rcpi(estIdx) unrate(estIdx)],'Y0',Y0,'Display',"full");
 
   AR-Stationary 2-Dimensional VAR(4) Model
 
    Effective Sample Size: 117
    Number of Estimated Parameters: 18
    LogLikelihood: 419.837
    AIC: -803.674
    BIC: -753.955
 
                     Value       StandardError    TStatistic      PValue  
                   __________    _____________    __________    __________

    Constant(1)      0.003564      0.0024697         1.4431        0.14898
    Constant(2)       0.29922        0.11882         2.5182       0.011795
    AR{1}(1,1)       0.022379       0.092458        0.24204        0.80875
    AR{1}(2,1)        -2.6318         4.4484       -0.59163         0.5541
    AR{1}(1,2)     -0.0082357      0.0020373        -4.0425     5.2884e-05
    AR{1}(2,2)         1.2567        0.09802          12.82     1.2601e-37
    AR{2}(1,1)        0.20954        0.10182         2.0581       0.039584
    AR{2}(2,1)         10.106         4.8987          2.063       0.039117
    AR{2}(1,2)      0.0058667       0.003194         1.8368       0.066236
    AR{2}(2,2)       -0.14226        0.15367       -0.92571        0.35459
    AR{3}(1,1)        0.56095       0.098691         5.6839     1.3167e-08
    AR{3}(2,1)        0.44406         4.7483       0.093518        0.92549
    AR{3}(1,2)      0.0049062       0.003227         1.5204        0.12841
    AR{3}(2,2)      -0.040037        0.15526       -0.25787         0.7965
    AR{4}(1,1)       0.046125        0.11163        0.41321        0.67945
    AR{4}(2,1)          6.758         5.3707         1.2583        0.20827
    AR{4}(1,2)     -0.0030032       0.002018        -1.4882         0.1367
    AR{4}(2,2)       -0.14412       0.097094        -1.4843        0.13773

 
   Innovations Covariance Matrix:
    0.0000   -0.0003
   -0.0003    0.0790

 
   Innovations Correlation Matrix:
    1.0000   -0.1686
   -0.1686    1.0000

Поскольку степень модели VAR p равняется 4, estimate использует только последние четыре наблюдения в Y0 как предварительная выборка.

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

Загрузите набор данных Data_USEconModel. Вычислите действительный GDP.

load Data_USEconModel
DataTable.RGDP = DataTable.GDP./DataTable.GDPDEF*100;

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

figure;
subplot(2,2,1)
plot(DataTable.Time,DataTable.CPIAUCSL);
ylabel('Index');
title('Consumer Price Index');
subplot(2,2,2)
plot(DataTable.Time,DataTable.UNRATE);
ylabel('Percent');
title('Unemployment Rate');
subplot(2,2,3)
plot(DataTable.Time,DataTable.RGDP);
ylabel('Output');
title('Real Gross Domestic Product')
subplot(2,2,4)
plot(DataTable.Time,DataTable.GCE);
ylabel('Billions of $');
title('Government Expenditures')

Стабилизируйте CPI, GDP и серию GCE путем преобразования каждого в серию темпов роста. Синхронизируйте ряд уровня безработицы с другими путем удаления его первого наблюдения.

inputVariables = {'CPIAUCSL' 'RGDP' 'GCE'};
Data = varfun(@price2ret,DataTable,'InputVariables',inputVariables);
Data.Properties.VariableNames = inputVariables;
Data.UNRATE = DataTable.UNRATE(2:end);

Расширьте ряд уровня GCE до матрицы, которая включает ее текущее значение и через четыре изолированных значения. Удалите переменную GCE из Data.

rgcelag4 = lagmatrix(Data.GCE,0:4);
Data.GCE = [];

Создайте модель VAR (4) по умолчанию с помощью краткого синтаксиса. Вы не должны задавать компонент регрессии при создании модели.

Mdl = varm(3,4);

Оцените модель с помощью целой выборки. Задайте матрицу уровня GCE как данные для компонента регрессии. Извлеките стандартные погрешности и loglikelihood значение.

[EstMdl,EstSE,logL] = estimate(Mdl,Data.Variables,'X',rgcelag4);

Отобразите матрицу коэффициента регрессии.

EstMdl.Beta
ans = 3×5

    0.0777   -0.0892   -0.0685   -0.0181    0.0330
    0.1450   -0.0304    0.0579   -0.0559    0.0185
   -2.8138   -0.1636    0.3905    1.1799   -2.3328

EstMdl.Beta является матрицей 3 на 5. Строки соответствуют ряду ответа, и столбцы соответствуют предикторам.

Отобразите матрицу стандартных погрешностей, соответствующих содействующим оценкам.

EstSE.Beta
ans = 3×5

    0.0250    0.0272    0.0275    0.0274    0.0243
    0.0368    0.0401    0.0405    0.0403    0.0358
    1.4552    1.5841    1.6028    1.5918    1.4145

EstSE.Beta соразмерен с EstMdl.Beta.

Отобразите loglikelihood значение.

logL
logL = 1.7056e+03

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

свернуть все

Модель VAR, содержащая неизвестные значения параметров, заданные как объект модели varm, возвращенный varm.

Элементы Non-NaN в свойствах Mdl (кроме Mdl.Covariance) указывают на ограничения равенства. Поэтому estimate содержит соответствующие параметры, зафиксированные по заданным значениям во время оценки.

Наблюдаемый многомерный ряд ответа, к которому estimate соответствует модели, заданной как numobs-by-numseries числовая матрица.

numobs является объемом выборки. numseries является количеством переменных отклика (Mdl.NumSeries).

Строки соответствуют наблюдениям, и последняя строка содержит последнее наблюдение.

Столбцы соответствуют отдельным переменным отклика.

Y представляет продолжение преддемонстрационного ряда ответа в Y0.

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

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

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

Пример: 'Y0',Y0,'X',X использует матричный Y0 в качестве преддемонстрационных ответов, требуемых для оценки, и включает компонент линейной регрессии, состоявший из данных о предикторе в X.

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

numpreobs является количеством преддемонстрационных наблюдений.

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

Столбцы должны соответствовать ряду ответа в Y.

По умолчанию estimate использует Y(1:Mdl.P,:) в качестве преддемонстрационных наблюдений, и затем соответствует модели к Y((Mdl.P + 1):end,:). Это действие уменьшает эффективный объем выборки.

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

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

numpreds является количеством переменных прогноза.

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

  • Если вы задаете Y0, то X должен иметь, по крайней мере, строки numobs (см. Y).

  • В противном случае X должен иметь, по крайней мере, numobs – наблюдения Mdl.P, чтобы составлять преддемонстрационное удаление.

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

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

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

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

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

ЗначениеОписание
"off"estimate не отображает информацию об оценке в командной строке.
"table"estimate отображает таблицу информации об оценке. Строки соответствуют параметрам, и столбцы соответствуют оценкам, стандартным погрешностям, статистике t и значениям p.
"full"В дополнение к таблице итоговой статистики estimate отображает предполагаемые инновации ковариационные и корреляционные матрицы, loglikelihood значение, Критерий информации о Akaike (AIC), Байесов информационный критерий (BIC) и другая информация об оценке.

Пример: 'Display',"full"

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

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

estimate отправляет MaxIterations mvregress.

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

Примечание

Значения NaN в Y, Y0 и X указывают на отсутствующие значения. estimate удаляет отсутствующие значения из данных мудрым списком удалением.

  • Для предварительной выборки estimate удаляет любую строку, содержащую по крайней мере один NaN.

  • Для выборки оценки estimate удаляет любую строку конкатенированной матрицы данных [Y X], содержащий по крайней мере один NaN.

Этот тип снижения объема данных уменьшает эффективный объем выборки.

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

свернуть все

Предполагаемая модель VAR (p), возвращенная как объект модели varm. EstMdl является полностью заданной моделью varm.

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

Поле Описание
ConstantСтандартные погрешности образцовых констант, соответствующих оценкам в EstMdl.Constant, numseries-by-1 числовой вектор
ARСтандартные погрешности авторегрессивных коэффициентов, соответствующих оценкам в EstMdl.AR, векторе ячейки с элементами, соответствующими EstMdl.AR
BetaСтандартные погрешности коэффициентов регрессии, соответствующих оценкам в EstMdl.Beta, numseries-by-numpreds числовая матрица
TrendСтандартные погрешности линейных трендов времени, соответствующих оценкам в EstMdl.Trend, numseries-by-1 числовой вектор

Если estimate применяет ограничения равенства во время оценки путем фиксации каких-либо параметров к значению, то соответствующими стандартными погрешностями тех параметров является 0.

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

Многомерные невязки от подобранной модели, возвращенной как числовая матрица, содержащая столбцы numseries.

  • Если вы задаете Y0, то E имеет строки numobs (см. Y).

  • В противном случае E имеет numobs – строки Mdl.P, чтобы составлять преддемонстрационное удаление.

Ссылки

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

[2] Йохансен, S. Основанный на вероятности вывод в векторных авторегрессивных моделях Cointegrated. Оксфорд: Издательство Оксфордского университета, 1995.

[3] Juselius, K. Модель VAR Cointegrated. Оксфорд: Издательство Оксфордского университета, 2006.

[4] Lütkepohl, H. Новое введение в несколько анализ временных рядов. Берлин: Спрингер, 2005.

Введенный в R2017a