fevd

Сгенерируйте прогнозируемое разложение отклонения ошибок (FEVD) модели пространства состояний

Описание

fevd функция возвращает прогнозируемое разложение отклонения ошибок (FEVD) переменных измерения в модели пространства состояний, связанное с компонентными потрясениями для каждого нарушения порядка состояния. FEVD предоставляет информацию об относительной важности каждого нарушения порядка состояния в влиянии на прогнозное отклонение ошибок всех переменных измерения в системе. Другие инструменты модели пространства состояний для характеристики динамики заданной системы включают в себя следующее:

  • Функция импульсной характеристики (IRF), вычисленная irf и нанесено на график irfplot, прослеживает эффекты шока к нарушению порядка состояния на состоянии и переменные измерения в системе.

  • Подразумеваемые в модели временные корреляции, вычисленные corr для стандартной модели пространства состояний измерьте связь между текущим и отстающим состояниями или переменными измерения, как предписано формой модели.

Полностью заданная модель пространства состояний

пример

Decomposition = fevd(Mdl) возвращает FEVD каждой переменной измерения Decomposition полностью заданной модели пространства состояний Mdl.

пример

Decomposition = fevd(Mdl,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами в виде имя-значение. Для примера, 'NumPeriods',10 определяет оценку ОЭВР для периодов с 1 по 10.

Частично заданная модель пространства состояний и оценка доверительного интервала

пример

Decomposition = fevd(___,'Params',estParams) возвращает FEVD всех переменных измерения частично заданной модели пространства состояний Mdl. estParams задает оценки всех неизвестных параметров в модели, используя любую из комбинаций входных аргументов в предыдущих синтаксисах.

пример

[Decomposition,Lower,Upper] = fevd(___,'Params',estParams,'EstParamCov',EstParamCov) также возвращает нижнюю и верхнюю 95% доверительные границы Монте-Карло Lower и Upper каждой переменной измерения FEVD. EstParamCov задает предполагаемую ковариационную матрицу оценок параметров, возвращаемую estimate функция, и требуется для оценки доверительного интервала.

Примеры

свернуть все

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

Модель без ошибки измерения

Явное создание модели пространства состояний без ошибки измерения

x1,t=x1,t-1+0.2u1,tx2,t=x1,t-1+0.3x2,t-1+u2,ty1,t=x1,ty2,t=x1,t+x2,t.

A = [1 0; 1 0.3];
B = [0.2 0; 0 1];
C = [1 0; 1 1];
Mdl1 = ssm(A,B,C,'StateType',[2 2])
Mdl1 = 
State-space model type: ssm

State vector length: 2
Observation vector length: 2
State disturbance vector length: 2
Observation innovation vector length: 0
Sample size supported by model: Unlimited

State variables: x1, x2,...
State disturbances: u1, u2,...
Observation series: y1, y2,...
Observation innovations: e1, e2,...

State equations:
x1(t) = x1(t-1) + (0.20)u1(t)
x2(t) = x1(t-1) + (0.30)x2(t-1) + u2(t)

Observation equations:
y1(t) = x1(t)
y2(t) = x1(t) + x2(t)

Initial state distribution:

Initial state means
 x1  x2 
  0   0 

Initial state covariance matrix
     x1     x2    
 x1  1e+07  0     
 x2  0      1e+07 

State types
    x1       x2   
 Diffuse  Diffuse 

Mdl1 является ssm объект модели. Поскольку все параметры имеют известные значения, объект полностью задан.

Вычислите 20-периодный FEVD переменных измерения.

Decomposition1 = fevd(Mdl1);
size(Decomposition1)
ans = 1×3

    20     2     2

Decomposition массив 20 на 2 на 2, представляющий FEVD с 20 периодами двух переменных измерения. Отобразите Decomposition(5,1,2).

Decomposition1(5,1,2)
ans = 0.4429

В этом случае 44,29% от волатильности y2,t приписывается удару, приложенному к u1,t-5.

Постройте график ОФВД y2,t для каждого нарушения порядка состояния.

bar(Decomposition1(:,:,2),'stacked')
xlabel('Period')
ylabel('Variance decompositions of $y_{2,t}$','Interpreter','latex')
legend('$u_{1,t}$','$u_{2,t}$','Interpreter','latex')

Figure contains an axes. The axes contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

Потому что модель пространства состояний свободна от ошибки измерения (D = 0), дисперсионное разложение каждой суммы периода до 1. Волатильность, связанная с u1,t увеличивается с каждым периодом.

Модель с ошибкой измерения

Явное создание модели пространства состояний

x1,t=x1,t-1+0.2u1,tx2,t=x1,t-1+0.3x2,t-1+u2,ty1,t=x1,t+ε1,ty2,t=x1,t+x2,t+ε2,t.

D = eye(2);
Mdl2 = ssm(A,B,C,D,'StateType',[2 2])
Mdl2 = 
State-space model type: ssm

State vector length: 2
Observation vector length: 2
State disturbance vector length: 2
Observation innovation vector length: 2
Sample size supported by model: Unlimited

State variables: x1, x2,...
State disturbances: u1, u2,...
Observation series: y1, y2,...
Observation innovations: e1, e2,...

State equations:
x1(t) = x1(t-1) + (0.20)u1(t)
x2(t) = x1(t-1) + (0.30)x2(t-1) + u2(t)

Observation equations:
y1(t) = x1(t) + e1(t)
y2(t) = x1(t) + x2(t) + e2(t)

Initial state distribution:

Initial state means
 x1  x2 
  0   0 

Initial state covariance matrix
     x1     x2    
 x1  1e+07  0     
 x2  0      1e+07 

State types
    x1       x2   
 Diffuse  Diffuse 

Вычислите 20-периодный FEVD переменных измерения.

Decomposition2 = fevd(Mdl2);

Постройте график ОФВД y2,t для каждого нарушения порядка состояния.

bar(Decomposition2(:,:,2),'stacked')
xlabel('Period')
ylabel('Variance decompositions of $y_{2,t}$','Interpreter','latex')
legend('$u_{1,t}$','$u_{2,t}$','Interpreter','latex')

Figure contains an axes. The axes contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

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

Явное создание многомерной модели рассеянного пространства состояний

x1,t=x1,t-1+0.2u1,tx2,t=x1,t-1+0.3x2,t-1+u2,ty1,t=x1,ty2,t=x1,t+x2,t.

A = [1 0; 1 0.3];
B = [0.2 0; 0 1];
C = [1 0; 1 1];
Mdl = dssm(A,B,C,'StateType',[2 2])
Mdl = 
State-space model type: dssm

State vector length: 2
Observation vector length: 2
State disturbance vector length: 2
Observation innovation vector length: 0
Sample size supported by model: Unlimited

State variables: x1, x2,...
State disturbances: u1, u2,...
Observation series: y1, y2,...
Observation innovations: e1, e2,...

State equations:
x1(t) = x1(t-1) + (0.20)u1(t)
x2(t) = x1(t-1) + (0.30)x2(t-1) + u2(t)

Observation equations:
y1(t) = x1(t)
y2(t) = x1(t) + x2(t)

Initial state distribution:

Initial state means
 x1  x2 
  0   0 

Initial state covariance matrix
     x1   x2  
 x1  Inf  0   
 x2  0    Inf 

State types
    x1       x2   
 Diffuse  Diffuse 

Mdl является dssm объект модели.

Вычислите 50-периодный FEVD переменных измерения.

Decomposition = fevd(Mdl,'NumPeriods',50);
size(Decomposition)
ans = 1×3

    50     2     2

Постройте график ОФВД y2,t для каждого нарушения порядка состояния.

bar(Decomposition(:,:,2),'stacked')
xlabel('Period')
ylabel('Variance decompositions of $y_{2,t}$','Interpreter','latex')
legend('$u_{1,t}$','$u_{2,t}$','Interpreter','latex')

Вклад u1,t к волатильности y2,t приближается к 90%.

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

Рассмотрим разложение временных рядов yt=τt+ct, где τt является случайной прогулкой с дрейфом, представляющим компонент тренда, и ct является моделью AR (1), представляющей компонент цикла .

τt=3+τt-1+u1,tct=0.5ct-1+2u2,t.

Модель в обозначении в пространстве состояний

xt=[τtdtct]=[130010000.5][τt-1dt-1ct-1]+[100002][u1,tu2,t]yt=[101]xt,

где dt является фиктивным состоянием, представляющим параметр дрейфа, который равен 1 для всех t.

Симулируйте 500 наблюдений из истинной модели.

rng(1); % For reproducibility
ADGP = [1 3 0; 0 1 0; 0 0 0.5];
BDGP = [1 0; 0 0; 0 2];
CDGP = [1 0 1];
DGP = ssm(ADGP,BDGP,CDGP,'StateType',[2 1 0]);
y = simulate(DGP,500);

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

A = [1 NaN 0; 0 1 0; 0 0 NaN];
B = [NaN 0; 0 0; 0 NaN];
C = CDGP;
Mdl = ssm(A,B,C,'StateType',[2 1 0]);

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

[EstMdl,estParams] = estimate(Mdl,y,abs(randn(4,1)),'Display','off')
EstMdl = 
State-space model type: ssm

State vector length: 3
Observation vector length: 1
State disturbance vector length: 2
Observation innovation vector length: 0
Sample size supported by model: Unlimited

State variables: x1, x2,...
State disturbances: u1, u2,...
Observation series: y1, y2,...
Observation innovations: e1, e2,...

State equations:
x1(t) = x1(t-1) + (2.91)x2(t-1) + (0.92)u1(t)
x2(t) = x2(t-1)
x3(t) = (0.52)x3(t-1) + (2.13)u2(t)

Observation equation:
y1(t) = x1(t) + x3(t)

Initial state distribution:

Initial state means
 x1  x2  x3 
  0   1   0 

Initial state covariance matrix
     x1        x2  x3   
 x1  1.00e+07   0   0   
 x2   0         0   0   
 x3   0         0  6.20 

State types
    x1       x2         x3     
 Diffuse  Constant  Stationary 

estParams = 4×1

    2.9115
    0.5189
    0.9200
    2.1278

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

Вычислите и постройте график FEVD переменной измерения. Задайте шаблон модели Mdl и вектор предполагаемых параметров estParams.

Decomposition = fevd(Mdl,'Params',estParams);

bar(Decomposition,'stacked')
xlabel('Period')
ylabel('Variance decompositions of $y_{t}$','Interpreter','latex')
legend('$u_{1,t}$','$u_{2,t}$','Interpreter','latex')

Figure contains an axes. The axes contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

Шум в циклическом компоненте доминирует волатильность переменной измерения в низких лагах с увеличением вклада от шума компонента тренда, когда задержка увеличивается.

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

Рассмотрим разложение временных рядов yt=τt+ct, где τt является случайной прогулкой с дрейфом, представляющим компонент тренда, и ct является AR (1) моделью, представляющей циклический компонент. Предположим, что циклический компонент изменяется в течение периода 26 в течение 50-периодного периода времени.

τt=1+τt-1+u1,tct={0.5ct+2u2,t;t<26-0.2ct+0.5u2,t;t26.

Функция timeVariantTrendCycleParamMap.m, хранится в mlr/examples/econ/main, задает структуру модели. mlr - значение matlabroot.

type timeVariantTrendCycleParamMap.m
% Copyright 2021 The MathWorks, Inc.

function [A,B,C,D,Mean0,Cov0,StateType] = timeVariantTrendCycleParamMap(params)
% Time-varying state-space model parameter mapping function example. This
% function maps the vector params to the state-space matrices (A, B, C, and
% D). The measurement equation is a times series decomposed into trend and
% cyclical components, with a structural break in the cycle during period
% 26.
% 
% The trend component is tau_t = drift + tau_{t-1} + s_1u1_t.
%
% The cyclical component is:
%     * c_t = phi_1*c_{t-1} + s_2*u2_t; t = 1 through 25
%     * c_t = phi_2*c_{t-1} + s_3*u2_t; t = 11 through 26.
%
% The measurement equation is y_t = tau_t + c_t.
    A1 = {[1 params(1) 0; 0 1 0; 0 0 params(2)]};
    A2 = {[1 params(1) 0; 0 1 0; 0 0 params(3)]};
    varu1 = exp(params(4));  % Positive variance constraints
    varu21 = exp(params(5));
    varu22 = exp(params(6));
    B1 = {[sqrt(varu1) 0; 0 0; 0 sqrt(varu21)]}; 
    B2 = {[sqrt(varu1) 0; 0 0; 0 sqrt(varu22)]}; 
    C = [1 0 1];
    D = 0;
    sc = 25;
    A = [repmat(A1,sc,1); repmat(A2,sc,1)];
    B = [repmat(B1,sc,1); repmat(B2,sc,1)];
    Mean0 = [];
    Cov0 = [];
    StateType = [2 1 0];
end

Неявно создайте частично заданную модель пространства состояний, представляющую процесс генерации данных (DGP).

ParamMap = @timeVariantTrendCycleParamMap;
DGP = ssm(ParamMap);

Симулируйте 50 наблюдений от DGP. Потому что DGP частично задано, передайте истинные значения параметров в simulate при помощи 'Params' аргумент имя-значение.

rng(5) % For reproducibility
trueParams = [1 0.5 -0.2 2*log(1) 2*log(2) 2*log(0.5)]; % Transform variances for parameter map
y = simulate(DGP,50,'Params',trueParams);

y вектор 50 на 1 моделируемых измерений yt от ДГУ.

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

Подбор модели к моделируемым данным. Задайте случайные стандартные Гауссовы рисунки для начальных значений параметров и отключите отображение оценки. Верните оценки параметров.

[~,estParams] = estimate(DGP,y,randn(1,6),'Display','off')
estParams = 1×6

    0.8510    0.0118    0.6309   -0.3227    1.3778   -0.2200

estParams является вектором 1 на 6 оценок параметров. Список выходных аргументов функции отображения параметров определяет порядок оценок.

Оцените ОФВД переменной измерения путем подачи DGP (не предполагаемая модель) и предполагаемые параметры с помощью 'Params' аргумент имя-значение.

Decomposition = fevd(DGP,'Params',estParams,'NumPeriods',50);

bar(Decomposition,'stacked')
xlabel('Period')
ylabel('Variance decompositions of $y_{t}$','Interpreter','latex')
legend('$u_{1,t}$','$u_{2,t}$','Interpreter','latex')

Figure contains an axes. The axes contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

FEVD скачет в период 26, когда происходит структурный пропуск.

Симулируйте данные из известной модели, подгоняйте данные к модели пространства состояний, а затем оценивайте ОФВД переменных измерения с 90% границами доверия Монте-Карло.

Рассмотрим разложение временных рядов yt=τt+ct, где τt является случайной прогулкой с дрейфом, представляющим компонент тренда, и ct является моделью AR (1), представляющей компонент цикла.

τt=3+τt-1+u1,tct=0.5ct-1+2u2,t.

Модель в обозначении в пространстве состояний

xt=[τtdtct]=[130010000.5][τt-1dt-1ct-1]+[100002][u1,tu2,t]yt=[101]xt,

где dt является фиктивным состоянием, представляющим параметр дрейфа, который равен 1 для всех t.

Симулируйте 500 наблюдений из истинной модели.

rng(1); % For reproducibility
ADGP = [1 3 0; 0 1 0; 0 0 0.5];
BDGP = [1 0; 0 0; 0 2];
CDGP = [1 0 1];
DGP = ssm(ADGP,BDGP,CDGP,'StateType',[2 1 0]);
y = simulate(DGP,500);

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

A = [1 NaN 0; 0 1 0; 0 0 NaN];
B = [NaN 0; 0 0; 0 NaN];
C = CDGP;
Mdl = ssm(A,B,C,'StateType',[2 1 0]);

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

[EstMdl,estParams,EstParamCov] = estimate(Mdl,y,abs(randn(4,1)),'Display','off');

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

Вычислите FEVD переменной измерения с периодическими 90% границами доверия Монте-Карло. Задайте шаблон модели Mdl, вектор расчетных параметров estParams, и их предполагаемая ковариационная матрица EstParamCov.

[Decomposition,Lower,Upper] = fevd(Mdl,'Params',estParams,'EstParamCov',EstParamCov,...
    'Confidence',0.9);

Постройте график доли волатильности yt , относящийся к u1,t с соответствующими 90% доверительными границами.

plot(Decomposition(:,1),'r-o')
hold on
plot([Lower(:,1) Upper(:,1)],'b-o')
hold off
xlabel('Period')
ylabel('Proportion of volatility')
title('Volatility Attributable to $u_{1,t}$','Interpreter','latex')
legend('Proportion','90% confidence bounds')

Figure contains an axes. The axes with title Volatility Attributable to $u_{1,t}$ contains 3 objects of type line. These objects represent Proportion, 90% confidence bounds.

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

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

свернуть все

Модель пространства состояний, заданная как ssm объект модели, возвращенный ssm или его estimate функции, или dssm объект модели, возвращенный dssm или его estimate функция.

Если Mdl частично задан (то есть содержит неизвестные параметры), задает оценки неизвестных параметров при помощи 'Params' аргумент имя-значение. В противном случае, fevd выдает ошибку.

fevd выдает ошибку при Mdl является dimension-varying model, которая является изменяющейся во времени моделью, содержащей, по меньшей мере, одну переменную, которая изменяет размерность в течение периода дискретизации (для примера, переменная состояния выпадает из модели).

Совет

Если Mdl полностью задан, вы не можете оценить доверительные границы. Для оценки доверительных границ:

  1. Создайте частично заданный шаблон модели пространства состояний для оценки Mdl.

  2. Оцените модель при помощи estimate функция и данные. Верните предполагаемые параметры estParams и оцененную ковариационную матрицу параметров EstParamCov.

  3. Передайте шаблон модели для оценки Mdl кому fevd, и задайте оценки параметров и ковариационную матрицу при помощи 'Params' и 'EstParamCov' аргументы имя-значение.

  4. Для fevd функция возвращает соответствующие выходные аргументы для нижних и верхних доверительных границ.

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

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

Пример: 'NumPeriods',10 оценка ОЭВР для определения оценки ОЭВР для периодов с 1 по 10.
Опции

свернуть все

Количество периодов, для которых fevd вычисляет FEVD, заданный как положительное целое число. Периоды в FEVD начинаются в момент 1 и заканчиваются в момент NumPeriods.

Пример: 'NumPeriods',10 определяет включение 10 последовательных временных точек в FEVD, начиная со времени 1 и заканчивая временем 10.

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

Оценки неизвестных параметров в частично заданной модели пространства состояний Mdl, заданный как числовой вектор.

Если Mdl частично задан (содержит неизвестные параметры, заданные NaNs), необходимо указать Params. estimate функция возвращает оценки параметров Mdl в соответствующей форме. Однако можно поставить пользовательские оценки, расположив элементы Params следующим образом:

  • Если Mdl является явно созданной моделью (Mdl.ParamMap пуст []), расположить элементы Params для соответствия попаданиям столбцового поиска NaNs в матрицах коэффициентов модели пространства состояний, начальных векторов средних значений состояний и ковариации матрице.

    • Если Mdl является инвариантным по времени, порядок A, B, C, D, Mean0, и Cov0.

    • Если Mdl изменяется ли время, порядок A{1} через A{end}, B{1} через B{end}, C{1} через C{end}, D{1} через D{end}, Mean0, и Cov0.

  • Если Mdl является неявно созданной моделью (Mdl.ParamMap является указателем на функцию), первый входной параметр функции отображения параметра в матрицу определяет порядок элементов Params.

Если Mdl полностью задан, fevd игнорирует Params.

Пример: Рассмотрим модель пространства состояний Mdl с A = B = [NaN 0; 0 NaN] , C = [1; 1], D = 0, и начальное средство состояния 0 с ковариацией eye(2). Mdl частично задан и явно создан. Потому что параметры модели содержат в общей сложности четыре NaNs, Params должен быть вектором 4 на 1, где Params(1) - оценка A(1,1), Params(2) - оценка A(2,2), Params(3) - оценка B(1,1), и Params(4) - оценка B(2,2).

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

Доверительные границы оценки

свернуть все

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

estimate возвращает оцененную ковариационную матрицу параметра Mdl в соответствующей форме. Однако можно предоставить пользовательские оценки, установив EstParamCov (i, j) к расчетной ковариации предполагаемых параметров Params (i) и Params (j), независимо от того, Mdl является инвариантным по времени или изменяющимся по времени.

Если Mdl полностью задан, fevd игнорирует EstParamCov.

По умолчанию, fevd не оценивает доверительные границы.

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

Количество путей выборки Монте-Карло (испытания) для генерации для оценки доверительных границ, заданное в виде положительного целого числа.

Пример: 'NumPaths',5000

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

Доверительный уровень для доверительных границ, заданный как числовой скаляр в интервале [0,1].

Для каждого периода случайным образом нарисованные доверительные интервалы покрывают истинный ответ 100*Confidence% времени.

Значение по умолчанию 0.95, что подразумевает, что доверительные границы представляют 95% доверительных интервалов.

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

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

свернуть все

FEVD переменных измерения y t, возвращенных как NumPeriods-by- k -by- n числовой массив.

Разложение (t, i, j) FEVD переменной измерения j в период t, когда модуль шок применяется к переменной возмущения состояния i в течение периода 1 для t = 1,2..., NumPeriods, i = 1,2,..., k и j = 1,2..., n.

Точечные более низкие доверительные границы FEVD переменных измерения, возвращенные как NumPeriods-by- k -by- n числовой массив.

Нижний (t, i, j) - нижняя граница 100*Confidence% процентильный интервал на истинном FEVD переменной измерения j в период t, когда модуль шок применяется к переменной возмущения состояния i в течение периода 1.

Точечные верхние доверительные границы FEVD переменных измерения, возвращенные как NumPeriods-by- k -by- n числовой массив.

Верхний (t, i, j) - верхняя доверительная граница, соответствующая нижней доверительной границе Lower(t, i, j).

Подробнее о

свернуть все

Прогнозирование разложения отклонений ошибок

forecast error variance decomposition (FEVD) модели пространства состояний измеряет волатильность в каждой переменной измерения yt в результате модуля импульса к каждому состоянию нарушения порядка ut в периоде 1. FEVD отслеживает волатильность, когда импульсы распространяют систему для каждого периода t ≥ 1. FEVD предоставляет информацию об относительной важности каждого нарушения порядка состояния в влиянии на прогнозное отклонение ошибок всех переменных измерения в системе.

Рассмотрим инвариантную по времени модель пространства состояний во времени t

xt=Axt1+Butyt=Cxt+Dεt,

и рассмотрим модуль потрясения для всех состояний нарушений порядка u t в период t - s, где s < t.

Уравнение состояния, выраженное как функция от u t - s естьxt=As+1xts1+i=0sAiButi. Соответствующее уравнение измерения является

yt=CAs+1xts1+Ci=0sAiButi+Dεt.

Поэтому общая волатильность yt, приписываемая потрясениям с периодов t - s по t,

Vs=C(i=0sAiBB(Ai))C+DD.

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

Волатильность, связанная с нарушением состояния j u j, t является

Vsj=C(i=0sAiBIk(j)B(Ai))C,

где:

  • <reservedrangesplaceholder1> <reservedrangesplaceholder0>(j) является k -by k selection matrix, матрицей нулей за исключением значения, 1 в элементе (j, j).

  • Vs=j=1kVsj+DD

В результате s-ступенчатая отклонение ошибки прогноза y i, t, связанная с единичным ударом по u j, t, является

γs,ij=Vjs(i,i)Vs(i,i).

Если D меньше нуля, FEVD переменной измерения в период t равен единице (другими словами, сумма каждой строки равна единице). В противном случае ОЭВР переменной измерения в период t не обязательно равняется единице; остальной фрагмент связан с D D '.

FEVD изменяющейся во времени, инвариантной по размерности модели пространства состояний также изменяется во времени. В этом случае, fevd всегда применяет модуль шок в течение периода 1. Для s -period-award FEVD, уравнение измерения является

ys=CsAsA2A1x0+Csi=1s1(=1iAs+1)Bsiusi+CsBsus+Dsεs.

Общая волатильность ys составляет

Vs=Cs{i=1s1[(=1iAs+1)BsiBsi(=1iAs+1)]}Cs+DsDs.

Как и в случае инвариантных по времени моделей, s волатильность, связанная с нарушением состояния, j шокированной в течение периода 1 u j, 1, является

Vsj=Cs{i=1s1[(=1iAs+1)BsiIk(j)Bsi(=1iAs+1)]}Cs.

В результате s дисперсия ошибки прогноза -step-award y i, s, связанная с единичным ударом по u j, 1, является

γs,ij=Vjs(i,i)Vs(i,i).

Поскольку инвариантные по времени и изменяющиеся по времени FEVD не включают начальные условия распределения состояний, формулы применяются к стандартным и диффузным моделям пространства состояний.

Алгоритмы

  • Если вы не поставляете EstParamCov аргумент имя-значение, доверительные границы каждого периода перекрытия.

  • fevd использует симуляцию Монте-Карло, чтобы вычислить доверительные интервалы.

    1. fevd случайным образом рисует NumPaths изменяется от асимптотического распределения дискретизации неизвестных параметров в Mdl, который является N p (Params, EstParamCov), где p количество неизвестных параметров.

    2. Для каждого случайным образом нарисованного набора параметров j, fevd делает следующее:

      1. Создайте модель пространства состояний, которая равна Mdl, но замените в наборе параметров j.

      2. Вычислите случайный FEVD полученной модели γ j (t), где t = 1- NumPaths.

    3. Для каждого временного t нижняя граница доверия интервала является (1 - c)/2 квантиль моделируемого ОФВД в период t γ (t), где c = Confidence. Точно так же верхней границей интервала доверия в момент t является (1 - c)/2 верхний квантиль γ (t).

Введенный в R2021a