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