In order to test any event detection algorithm, it is common practice to compute a confusion matrix, in order to get performance parameters (e.g. sensitivity, and specificity). 

It is well known that the confision matrix must be built (identifing and) counting the number of negatives/positives true/false detections, according to a pre-annotated dataset (Gold Standard).

Now, here is my question: how can i identify a true/false positive?

Let me show you a little example.

My algorith wants to detect QRS-Complex's peak, in order to get R-R intervals of a ECG recording. My pre-annotated dataset identify QRS complex not on QRS peak, but some samples before.

It is obvious that, testing my algorithm, i cannot identify a true positive detection "when my algorithm identify the same point as the gold standard", since there's always a time-shift between them. At the other side, all of my detections (because of the time-shift) would be identified as false positives (no time-coincidence with Gold Standard).

An easy solution would be to consider a "coincidence-window" around each point in the Gold Standard but, if i fix the problem with true/false positives, the problem with true/false negatives remains still unsolved.

Has anybody an idea? (Any reference would be great for me).

Thanks a lot.

Best regards,

Marco Bilucaglia

Similar questions and discussions