This question already has an answer here:

Kevin Murphy's Kalman Filter toolbox (for Matlab) contains an example where it's the fact that the state space system in not identifiable causes problems. I include the example in it's entirety but you won't actually be able to run the code without installing the toolbox first. See the comments between the code blocks where he notes the systems lack of identifiability.

Q1.) Can someone please explain why the system below is not identifiable. Q2.) Can someone please given general rules for determining whether a time invariant state space system is identifiable or not.

% X(t+1) = F X(t) + noise(Q)
% Y(t) = H X(t) + noise(R)

ss = 4; % state size
os = 2; % observation size
F = [1 0 1 0; 0 1 0 1; 0 0 1 0; 0 0 0 1];
H = [1 0 0 0; 0 1 0 0];
Q = 0.1*eye(ss);
R = 1*eye(os);
initx = [10 10 1 0]';
initV = 10*eye(ss);

seed = 1;
rand('state', seed);
randn('state', seed);
T = 10000;
[x,y] = sample_lds(F, H, Q, R, initx, T);

% Initializing the params to sensible values is crucial.
% Here, we use the true values for everything except F and H,
% which we initialize randomly (bad idea!)
% Lack of identifiability means the learned params. are often far from the true ones.
% All that EM guarantees is that the likelihood will increase.
F1 = randn(ss,ss);
H1 = randn(os,ss);
Q1 = Q;
R1 = R;
initx1 = initx;
initV1 = initV;
max_iter = 100;
[F2, H2, Q2, R2, initx2, initV2, LL] =  learn_kalman(y, F1, H1, Q1, R1, initx1, initV1, max_iter,1,1);




marked as duplicate by Juho Kokkala, John, Christoph Hanck, gung, mdewey Jun 29 '17 at 14:34

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


A time-invariant state space model is observable if its observability matrix is full rank. As a first approach to the problem, look at this wikipedia entry.

  • 2
    $\begingroup$ Thanks but observability is separate issue to identifability. Observability is whether or not the unobserved parameters can be inferred from the observed ones. Identifiability is a question of whether there are equivalent parameter sets that can produce the same observations/likelihood. $\endgroup$ – Baz Jul 9 '15 at 11:53

Not the answer you're looking for? Browse other questions tagged or ask your own question.