В этом примере показано, как неявно создать модель в пространстве состояний, которая содержит компонент регрессии в уравнении наблюдения. Модель состояния является 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}$$](../examples/econ/win64/ImplicitlyCreateStateSpaceModelRegressionExample_eq07963339758760547642.png)
% 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 существуйте в своей рабочей области.