exponenta event banner

вывести

Инновации векторной авторегрессионной модели (VAR)

Описание

пример

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

пример

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

пример

[E,logL] = infer(___) возвращает значение целевой функции loglikelique, оцененное в 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) по умолчанию с использованием краткого синтаксиса.

Mdl = varm(2,4);

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

EstMdl = estimate(Mdl,[rcpi unrate]);

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

Выведите инновации из расчетной модели.

E = infer(EstMdl,[rcpi unrate]);

E является матрицей 241 на 2 выводимых инноваций. Первая и вторая колонки содержат остатки, соответствующие темпам роста ИПЦ и уровню безработицы, соответственно.

Кроме того, можно вернуть остатки при вызове estimate путем подачи выходной переменной в четвертой позиции.

Постройте графики остатков на отдельных графиках. Синхронизировать остатки с датами, удалив все отсутствующие наблюдения из данных и удалив первые Mdl.P даты.

idx = all(~isnan([rcpi unrate]),2);
datesr = DataTable.Time(idx);

figure;
plot(datesr((Mdl.P + 1):end),E(:,1));
ylabel('Consumer price index');
xlabel('Date');
title('Residual plot');
hold on
plot([min(datesr) max(datesr)],[0 0],'r--');
hold off

Figure contains an axes. The axes with title Residual plot contains 2 objects of type line.

figure;
plot(datesr((Mdl.P + 1):end),E(:,2));
ylabel('Unemployment rate');
xlabel('Date');
title('Residual plot');
hold on
plot([min(datesr) max(datesr)],[0 0],'r--');
hold off

Figure contains an axes. The axes with title Residual plot contains 2 objects of type line.

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

Оценка модели 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.

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

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);
Mdl.SeriesNames = ["rcpi" "unrate" "rgdpg"];

Оцените модель, используя весь образец. Укажите матрицу GCE в качестве данных для компонента регрессии.

EstMdl = estimate(Mdl,Data.Variables,'X',rgcelag4);

Выведите инновации из расчетной модели. Введите данные предиктора. Верните значение целевой функции loglikeability.

[E,logL] = infer(EstMdl,Data.Variables,'X',rgcelag4);
logL
logL = 1.7056e+03

E является матрицей выводимых инноваций 240 на 3. Столбцы содержат остатки, соответствующие темпам роста ИПЦ, уровню безработицы и темпам роста ВВП, соответственно.

Постройте графики остатков на отдельных графиках. Синхронизировать остатки с датами, удалив все отсутствующие наблюдения из данных и удалив первые Mdl.P даты.

idx = all(~isnan([Data.Variables rgcelag4]),2);
datesr = DataTable.Time(idx);

figure;
for j = 1:Mdl.NumSeries
    subplot(2,2,j)
    plot(datesr((Mdl.P + 1):end),E(:,j));
    ylabel(Mdl.SeriesNames{j});
    xlabel('Date');
    title('Residual plot');
    hold on
    plot([min(datesr) max(datesr)],[0 0],'r--');
    hold off
end

Figure contains 3 axes. Axes 1 with title Residual plot contains 2 objects of type line. Axes 2 with title Residual plot contains 2 objects of type line. Axes 3 with title Residual plot contains 2 objects of type line.

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

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

свернуть все

Модель VAR, заданная как varm объект модели, созданный varm или estimate. Mdl должен быть полностью указан.

Данные ответа, указанные как numobsоколо-numseries числовая матрица или numobsоколо-numseriesоколо-numpaths числовой массив.

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

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

Столбцы должны соответствовать именам переменных ответа в Mdl.SeriesNames.

Страницы соответствуют отдельным, независимым numseries-мерные пути. Среди всех страниц ответы в определенной строке появляются одновременно.

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

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

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

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

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

numpreobs - количество предварительных наблюдений. numprepaths - количество путей предварительного отбора ответов.

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

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

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

  • Если Y0 является матрицей, то infer применяет его к каждому пути (странице) в Y. Поэтому все пути в Y вытекают из общих исходных условий.

  • В противном случае infer применяется Y0(:,:,j) кому Y(:,:,j). Y0 должен иметь по крайней мере numpaths страницы, и infer использует только первый numpaths страницы.

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

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

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

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

numpreds - количество переменных предиктора (size(Mdl.Beta,2)).

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

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

  • В противном случае X должен иметь по крайней мере numobsMdl.P для учета удаления предварительного образца.

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

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

infer применяется X к каждому пути (странице) в Y; то есть X представляет один путь наблюдаемых предикторов.

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

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

Примечание

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

  1. Если Y является массивом 3-D, то infer горизонтально объединяет страницы Y для формирования numobsоколо-(numpaths*numseries + numpreds) матрица.

  2. Если компонент регрессии присутствует, то infer горизонтально конкатенаты X кому Y для формирования numobsоколо-numpaths*numseries + 1 матрица. infer предполагает, что последние строки каждой серии встречаются одновременно.

  3. infer удаляет любую строку, содержащую хотя бы одну NaN из объединенных данных.

  4. infer применяет шаги 1 и 3 к путям предварительной выборки в Y0.

Этот процесс гарантирует, что полученные изменения выходных данных каждого тракта имеют одинаковый размер и основаны на одинаковом времени наблюдения. В случае пропущенных наблюдений результаты, полученные из нескольких путей Y может отличаться от результатов, полученных для каждого пути по отдельности.

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

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

свернуть все

Вывод многомерного инновационного ряда, возвращаемого либо в виде числовой матрицы, либо в виде числового массива, содержащего столбцы и страницы, соответствующие Y.

  • При указании Y0, то E имеет numobs строки (см. Y).

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

Значение целевой функции Loglikestivity, связанное с моделью VAR Mdl, возвращается в виде числового скаляра или numpaths-элементный числовой вектор. logL(j) соответствует пути ответа в Y(:,:,j).

Алгоритмы

  • infer выводит инновации, оценивая модель VAR Mdl в отношении инноваций с использованием предоставленных данных Y, Y0, и X. Предполагаемые инновации:

    (L) yt c ^ − β ^ xt − δ ^ t.

  • infer использует этот процесс для определения начала времени t0 моделей, включающих линейные временные тренды.

    • Если не указать Y0, то t0 = 0.

    • В противном случае infer устанавливает t0 в значение size(Y0,1)Mdl.P. Поэтому время в компоненте тренда равно t = t0 + 1, t0 + 2,..., t0 + numobs, где numobs является эффективным размером выборки (size(Y,1) после infer удаляет отсутствующие значения). Это соглашение согласуется с поведением по умолчанию оценки модели, в которой estimate удаляет первый Mdl.P ответы, уменьшая эффективный размер выборки. Хотя infer явно использует первый Mdl.P предварительный отбор ответов в Y0 для инициализации модели, общее количество наблюдений в Y0 и Y (исключая отсутствующие значения) определяет t0.

Ссылки

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

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

[3] Джуселиус, К. Коинтегрированная модель VAR. Oxford: Oxford University Press, 2006.

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

Представлен в R2017a