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

Этот пример показывает, как неявно создать модель пространства состояний, которая содержит регрессионый компонент в уравнении наблюдения. Модель состояния является ARMA (1,1).

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

$$\begin{array}{l}
\left[ {\begin{array}{*{20}{c}}
{{x_{1,t}}}\\
{{x_{2,t}}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{{\phi _1}}&{{\theta _1}}\\
0&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}}\\
1
\end{array}} \right]{u_{1t}}\\
{y_t} - \beta {z_t} = a{x_{1,t}} + {\sigma _2}{\varepsilon _t}.
\end{array}$$


% Copyright 2015 The MathWorks, Inc.

function [A,B,C,D,Mean0,Cov0,StateType,DeflateY] = regressionParamMap(params,y,z)
% State-space model with a regression component 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). The state model is
% an ARMA(1,1).
    varu1 = exp(params(3)); % Positive variance constraint
    vare1 = exp(params(4));
    A = [params(1) params(2); 0 0];
    B = [sqrt(varu1); 1]; 
    C = [1 0];
    D = sqrt(vare1);
    Mean0 = [0.5 0.5];
    Cov0 = eye(2);
    StateType = [0 0];
    DeflateY = y - params(5)*z;
end

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

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

Mdl = ssm(@(params)regressionParamMap(params,y,z));

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

Перед созданием модели убедитесь, что данные y и z существует в рабочей рабочей области.

См. также

| |

Похожие примеры

Подробнее о