fevd

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

Описание

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

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

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

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

пример

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

пример

Decomposition = fevd(Mdl,Name,Value) дополнительные опции использования заданы одними или несколькими аргументами name-value. Например, 'NumPeriods',10 задает оценку FEVD в течение периодов 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 объект модели. Поскольку все параметры знали значения, объект полностью задан.

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

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.

Постройте FEVD 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 object. The axes object 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 

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

Decomposition2 = fevd(Mdl2);

Постройте FEVD 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 object. The axes object 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 объект модели.

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

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

    50     2     2

Постройте FEVD 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')

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

Вклад 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 object. The axes object 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.

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

Оцените FEVD переменной измерения путем предоставления 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 object. The axes object contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

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

Симулируйте данные из известной модели, соответствуйте данным к модели в пространстве состояний, и затем оцените FEVD переменных измерения с 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 object. The axes object with title Volatility Attributable to u indexOf 1 , t baseline 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' аргументы name-value.

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

Аргументы name-value

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

Пример: 'NumPeriods',10 оценка FEVD для задает оценку FEVD в течение периодов 1 - 10.
Опции FEVD

свернуть все

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

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

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

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

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

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

    • Если Mdl независимо от времени, порядком является ABCD, Mean0, и Cov0.

    • Если Mdl время, варьируясь, порядком является A{1} через A{end}, B{1} через B{end}C1 через 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 (iJ) к предполагаемой ковариации предполагаемых параметров 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- k n числовым массивом.

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

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

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

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

Верхний (tiJ) верхняя доверительная граница, соответствующая более низкой доверительной границе LowerTiJ).

Больше о

свернуть все

Разложение отклонения ошибки прогноза

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

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

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

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

Уравнение состояния, описанное в зависимости от u ts, xt=As+1xts1+i=0sAiButi. Соответствующее уравнение измерения

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

Поэтому общая энергозависимость yt, приписанного шокам с периодов ts через t,

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

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

Энергозависимость приписала воздействию состояния j u j, t

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

где:

  • I k(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 к одной (другими словами, сумма каждой строки - одна). В противном случае FEVD переменной измерения в период t не обязательно суммирует одному; остающийся фрагмент относится к D D'.

FEVD изменяющейся во времени, инвариантной размерностью модели в пространстве состояний время, также варьируясь. В этом случае, fevd всегда применяет модульный шок в период 1. Для s - период вперед 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 - неродной вперед отклонение ошибки прогноза y i, s, относящийся к модульному шоку для u j, 1,

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

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

Алгоритмы

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

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

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

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

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

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

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

Введенный в R2021a