Estimate state-space model parameters using Parameter Mapping function

6 views (last 30 days)
Hi everyone,
I am currently having a set of differential equations, namely
dB = - mu*S,
dS = mu*S - beta*S*I + gamma*I - nu_s*S,
dI = beta*S*I - gamma*I - alpha*I - nu_i*I,
dP = nu_s*S + nu_i*I, and
dD = alpha*I,
as well as a dataset, containing observations of the states of B, S, I, P, and D.
I am trying to estimate the parameter [mu, beta, gamma, alpha, nu_s, nu_i], using the econometrics toolbox approach to estimate state space models with unknown parameters.
The state transition matrix A, with unknown parameter denoted as NaN is
A = [0 NaN 0 0 0;...
0 NaN NaN 0 0;...
0 NaN NaN 0 0;...
0 NaN NaN 0 0;...
0 0 NaN 0 0]
In accordance with the documentation, I formulated the parameter mapping function:
function [A,B,C,D,Mean0,Cov0,StateType] = timeInvariantParamMap(params)
A = [0 -params(1) 0 0 0;...
0 params(1)-params(3) params(4)-params(2) 0 0;...
0 0 params(2)-params(4)-params(5)-params(6) 0 0;...
0 params(3) params(6) 0 0; 0 0 params(5) 0 0];
B = [params(7) 0 0 0 0;...
0 params(8) 0 0 0;...
0 0 params(9) 0 0;...
0 0 0 params(10) 0;...
0 0 0 0 params(11)];
C = eye(5);
D = zeros(5,1);
Mean0 = [30161, 3, 0, 0, 0]; % First observed values
Cov0 = [];
StateType = [0, 0, 0, 0, 0];
end
But I don't know, how to incorporate the term beta*S*I, so a state variable in the transition matrix. The current approach just ignores that fact
Since the econometrics toolbox is a quite new tool, I was not able to find any related Q&As.
I would really appreciate any hint on my problem, as well as additional information.
Best regards,
David

Answers (1)

Hang Qian
Hang Qian on 24 Apr 2014
If we included the beta*S*I term, the state transition would be non-linear with respect to past states B, S, I, P, and D. In that case, we could not apply the standard Kalman filter. We probably need some approximation filters such as extended or unscented Kalman filters. MATLAB central has some examples of them. Usually non-linear filter needs to be applied with care, since approximation could be crude.
Hang Qian

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!