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

В этом примере показано, как создать изменяющееся во времени, модель в пространстве состояний путем передачи сопоставляющей параметр функции, описывающей модель к ssm т.е. . неявно создайте модель в пространстве состояний).

Предположим, что с периодов 1 - 10, модель состояния является стационарными моделями AR (2) и MA (1), соответственно, и модель наблюдения является суммой двух состояний. С периодов 11 - 20, модель состояния только включает первую модель AR (2).

Символически, модели:

$$\begin{array}{c}
\left[ {\begin{array}{*{20}{c}}
{{x_{1t}}}\\
{{x_{2t}}}\\
{{x_{3t}}}\\
{{x_{4t}}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{\phi _1}}&{{\phi _2}}&0&0\\
1&0&0&0\\
0&0&0&\theta \\
0&0&0&0
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_{1,t - 1}}}\\
{{x_{2,t - 1}}}\\
{{x_{3,t - 1}}}\\
{{x_{4,t - 1}}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
{{\sigma _1}}&0\\
0&0\\
0&1\\
0&1
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{u_{1t}}}\\
{{u_{2t}}}
\end{array}} \right]\\
{y_t} = {a_1}\left( {{x_{1t}} + {x_{3t}}} \right) + {\sigma _2}{\varepsilon _t}.
\end{array}{\rm for\;}t = 1,...,10,$$

$$\begin{array}{c}
\left[ {\begin{array}{*{20}{c}}
{{x_{1t}}}\\
{{x_{2t}}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{\phi _1}}&{{\phi _2}}&0&0\\
1&0&0&0
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_{1,t - 1}}}\\
{{x_{2,t - 1}}}\\
{{x_{3,t - 1}}}\\
{{x_{4,t - 1}}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
{{\sigma _1}}\\
0
\end{array}} \right]{u_{1t}}\\
{y_t} = {a_2}{x_{1t}} + {\sigma _3}{\varepsilon _t}.
\end{array}{\rm for\;}t = 11,$$

$$\begin{array}{c}
\left[ {\begin{array}{*{20}{c}}
{{x_{1t}}}\\
{{x_{2t}}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{\phi _1}}&{{\phi _2}}\\
1&0
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{x_{1,t - 1}}}\\
{{x_{2,t - 1}}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
{{\sigma _1}}\\
0
\end{array}} \right]{u_{1t}}\\
{y_t} = {a_2}{x_{1t}} + {\sigma _3}{\varepsilon _t}.
\end{array}{\rm for\;}t = 12,...,20.$$

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


% Copyright 2015 The MathWorks, Inc.

function [A,B,C,D,Mean0,Cov0,StateType] = timeVariantParamMap(params)
% Time-variant state-space model parameter mapping function example. This
% function maps the vector params to the state-space matrices (A, B, C, and
% D), the initial state value and the initial state variance (Mean0 and
% Cov0), and the type of state (StateType). From periods 1 through 10, the
% state model is an AR(2) and an MA(1) model, and the observation model is
% the sum of the two states. From periods 11 through 20, the state model is
% just the AR(2) model.
    varu11 = exp(params(3));  % Positive variance constraints
    vare11 = exp(params(6));
    vare12 = exp(params(8));
    A1 = {[params(1) params(2) 0 0; 1 0 0 0; 0 0 0 params(4); 0 0 0 0]};
    B1 = {[sqrt(varu11) 0; 0 0; 0 1; 0 1]}; 
    C1 = {params(5)*[1 0 1 0]};
    D1 = {sqrt(vare11)};
    Mean0 = [0.5 0.5 0 0];
    Cov0 = eye(4);
    StateType = [0 0 0 0];
    A2 = {[params(1) params(2) 0 0; 1 0 0 0]};
    B2 = {[sqrt(varu11); 0]};
    A3 = {[params(1) params(2); 1 0]};
    B3 = {[sqrt(varu11); 0]}; 
    C3 = {params(7)*[1 0]};
    D3 = {sqrt(vare12)};
    A = [repmat(A1,10,1);A2;repmat(A3,9,1)];
    B = [repmat(B1,10,1);B2;repmat(B3,9,1)];
    C = [repmat(C1,10,1);repmat(C3,10,1)];
    D = [repmat(D1,10,1);repmat(D3,10,1)];
end

Сохраните этот код как файл с именем timeVariantParamMap.m на вашем пути MATLAB®.

Создайте модель в пространстве состояний путем передачи функционального timeVariantParamMap как указатель на функцию к ssm.

Mdl = ssm(@timeVariantParamMap);

ssm неявно создает модель в пространстве состояний. Обычно, вы не можете проверить неявно созданные модели в пространстве состояний.

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

Смотрите также

| |

Связанные примеры

Больше о