exponenta event banner

fevd

Создать декомпозицию дисперсии ошибки прогноза (FEVD) модели state-space

Описание

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

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

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

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

пример

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

пример

Decomposition = fevd(Mdl,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 и требуется для оценки доверительного интервала.

Примеры

свернуть все

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

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

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

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 .

Постройте график 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. The axes contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

Поскольку модель state-space свободна от ошибки измерения (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);

Постройте график 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. 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

Постройте график 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')

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

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

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

thet = 3 + thet-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 = startt + ct, где startt - случайная ходьба с дрейфом, представляющим компонент тренда, а ct - модель AR (1), представляющая циклический компонент. Предположим, что циклический компонент изменяется в течение периода 26 в течение периода времени 50 периодов.

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

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

Оценка 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. The axes contains 2 objects of type bar. These objects represent $u_{1,t}$, $u_{2,t}$.

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

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

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

thet = 3 + thet-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 - изменяющаяся во времени модель, содержащая по меньшей мере одну переменную, изменяющую размерность в течение периода выборки (например, переменная состояния выпадает из модели).

Совет

Если 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 оценка 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 пуст []), расположить элементы 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.

Пример: Рассмотрим модель state-space 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 измеряемых переменных yt, возвращаемых как NumPeriods-by-k-by-n числовой массив.

Decomposition(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 числовой массив.

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

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

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

Подробнее

свернуть все

Декомпозиция отклонения ошибки прогноза

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

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

xt = Axt 1 + Butyt = Cxt + Dαt,

и учитывать ударные воздействия блока на все нарушения состояния ut в период t-s, где s < t.

Уравнение состояния, выраженное как функция от ut-s, равно xt=As+1xt−s−1+∑i=0sAiBut−i. Соответствующее уравнение измерения

yt=CAs+1xt−s−1+C∑i=0sAiBut−i+Dεt.

Следовательно, общая волатильность yt, приписываемая шокам от периодов t-s до t, составляет

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

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

Волатильность, приписываемая нарушению состояния j uj, t

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

где:

  • Ik (j) - матрица выбора k-на-k, матрица нулей, за исключением значения 1 в элементе (j, j).

  • Против =  j=1kVsj+DD 

В результате дисперсия ошибки прогноза с опережением шага yi, t, относимая к удару единицы uj, t, составляет

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

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

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

ys=CsAs⋯A2A1x0+Cs∑i=1s−1 (∏ℓ=1iAs−ℓ+1) Bs ius i + CsBsus + Dsαs.

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

Vs=Cs{∑i=1s−1 [(∏ℓ=1iAs−ℓ+1) Bs iBs i (∏ℓ=1iAs−ℓ+1) ]} Cs′+DsDs ′.

Как и в случае инвариантных по времени моделей, волатильность с опережающим периодом, приписываемая нарушению состояния j, шокированному в течение периода 1 uj, 1, является

Vsj=Cs{∑i=1s−1 [(∏ℓ=1iAs−ℓ+1) Bs iIk (j) Bs i (∏ℓ=1iAs−ℓ+1) ′]} Cs ′.

В результате дисперсия ошибки прогноза s-step-ahead yi, s, относимая к удару единицы uj, 1, составляет

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

Поскольку инвариантные по времени и изменяющиеся по времени БСВПД не включают условия распределения начального состояния, формулы применяются к стандартным и диффузным моделям состояния-пространства.

Алгоритмы

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

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

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

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

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

      2. Вычислите случайный ЧПКВ результирующей модели γ j (t), где t = 1 - NumPaths.

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

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