I have the objects pool with histories of their states, where each transition from one state to another takes some time, ex: $$ object\ 1: A \overset{1s}{\rightarrow} B \overset{2s}{\rightarrow} C \\ object\ 2: D \overset{3s}{\rightarrow} E \overset{4s}{\rightarrow} F $$ The pool consists of many objects with right histories, where sequence of states and transition duration follows some unknown rules. Also the pool consists a small amount of object with wrong history. But which objects are right or wrong is unknown.

It needs to found mistakes in the pool. Ex, "the transition from X to Y is not allowed" or "the transition is too long for such type".

What machine learning models are more suitable for this problem?

  • $\begingroup$ Welcome to DataScienceSE. Please try to give more details in your question so that we can help you: what kind of indications are available to determine if there is a mistake or not? In other words, how would a human annotator do it? Or do you mean that anything which strongly differs from the majority of the cases is a mistake? $\endgroup$
    – Erwan
    Commented Jul 5, 2019 at 23:45
  • $\begingroup$ Yes, anything which strongly differs from the majority of the cases is a mistake. I realise how to solve this with help of simple statistic, but maybe there are more suitable machine learning models. $\endgroup$ Commented Jul 6, 2019 at 12:31

1 Answer 1


To me this problem looks similar to language modeling: a model is trained on a large amount of sequences, and then it can predict the probability of any input sequence. In your case a low probability would indicate an abnormal sequence.

My background is in NLP that's why I think language modeling, but I guess the same techniques are used for other problems as well. The fact that you have transitions and states suggests Markov Models, for which there are known methods for inference and estimation. So maybe you could design a more specific kind of model for your case and use something like the Baum–Welch algorithm.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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