estimate

Подбор вектора авторегрессии (VAR) к данным

Описание

пример

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

пример

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

пример

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

пример

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

Примеры

свернуть все

Подбор модели VAR (4) к данным индекса потребительских цен (ИПЦ) и уровня безработицы.

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

load Data_USEconModel

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

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

Figure contains an axes. The axes with title Consumer Price Index contains an object of type line.

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

Figure contains an axes. The axes with title Unemployment Rate contains an object of type line.

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

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

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

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

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

load Data_USEconModel

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

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

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

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

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

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

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

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

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

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')

Figure contains 4 axes. Axes 1 with title Consumer Price Index contains an object of type line. Axes 2 with title Unemployment Rate contains an object of type line. Axes 3 with title Real Gross Domestic Product contains an object of type line. Axes 4 with title Government Expenditures contains an object of type line.

Стабилизация ИПЦ, ВВП и серии 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) по умолчанию с помощью синтаксиса shorthand. Вы не должны задавать регрессионный компонент при создании модели.

Mdl = varm(3,4);

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

[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.

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

logL
logL = 1.7056e+03

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

свернуть все

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

NaN-значенные элементы в свойствах указывают неизвестные, оценочные параметры. Заданные элементы указывают ограничения равенства на параметрах в оценке модели. Нововведения ковариации матричных Mdl.Covariance не может содержать смесь NaN значения и действительные числа; вы должны полностью указать ковариацию или она должна быть полностью неизвестной (NaN(Mdl.NumSeries)).

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

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

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

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

Y представляет продолжение предварительной серии откликов в Y0.

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

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

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

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

Примитивируйте отклики, чтобы инициировать оценку модели, заданную как разделенная разделенными запятой парами, состоящая из 'Y0' и a 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 должно иметь по крайней мере numobsMdl.P наблюдения для расчета удаления предварительного образца.

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

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

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

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

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

ЗначениеОписание
"off"estimate не отображает информацию оценки в командной строке.
"table"estimate отображает таблицу оценочных данных. Строки соответствуют параметрам, а столбцы соответствуют оценкам, стандартным ошибкам, t статистике и p значениям.
"full"В дополнение к таблице суммарной статистики estimate отображает оцененные новаторские ковариационные и корреляционные матрицы, значение логарифмической правдоподобности, информационный критерий Акайке (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 модель.

estimate использование mvregress для реализации многомерной нормальной, максимальной оценки правдоподобия. Для получения дополнительной информации см. Оценку многомерных регрессионых моделей.

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

ОбластьОписание
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.

estimate извлекает все стандартные ошибки из обратной матрицы ожидаемой информации Фишера, возвращенной mvregress (см. Стандартные ошибки).

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

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

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

  • В противном случае E имеет numobsMdl.P строки для расчета предварительного удаления.

Ссылки

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

[2] Йохансен, С. Основанный на вероятностях вывод в коинтегрированных векторных авторегрессивных моделях. Oxford: Oxford University Press, 1995.

[3] Juselius, K. Cointegrated VAR Model. Oxford: Oxford University Press, 2006.

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

Введенный в R2017a