У меня есть данные, собранные с датчиков для выявления заболеваний у нескольких людей.Каждый человек имеет известный статус заболевания (помеченный Actual
в таблице ниже) для каждого дня и прогнозируемый статус заболевания (Predicted
в таблице ниже) из уравнений прогнозирования, выполненных на данных датчика.Я пытаюсь рассчитать чувствительность / специфичность из этого.У каждого человека может быть более одного случая заболевания, и случаи могут длиться несколько дней.Датчик достаточно точен при обнаружении заболевания в первый или второй день заболевания.В некоторых случаях данные датчика могут прогнозировать заболевание за день до наблюдения случая.
Например, в приведенной ниже таблице день заболевания предсказывается по данным датчика за день до того, как произошло заболевание.Здоровый день обозначается 0, а больной / больной - 1. Должно быть 3 четких (здоровых) дня между зарегистрированными событиями болезни, чтобы его можно было классифицировать как новое событие, поэтому дни 41 и 42 являются частьюто же событие, что и дни 37-39.Это должно быть классифицировано как истинно положительный результат, поскольку он мог предсказать событие болезни.
Day Actual Predicted
----- -------- -----------
34 0 0
35 0 0
36 0 1
37 1 0
38 1 0
39 1 0
40 0 0
41 1 0
42 1 0
43 0 0
44 0 0
Проблема с «традиционным» способом выполнения чувствительности и специфичности (я делал это с использованием confusionmatrix вПакет каретки R) состоит в том, что он смотрит на каждый день индивидуально, а не на индивидуальной основе.Это дает очень плохие результаты по чувствительности, поскольку случаи могут длиться несколько дней, тогда как на самом деле датчик способен обнаружить событие заболевания в первый день заболевания.Я хотел бы классифицировать любые случаи, когда Actual
и Predicted
находятся в согласии, даже если только в течение 1 дня на случай заболевания.
Есть ли способ сделать это, используя адаптированную версию матрицы путаницы (если она существует)?Или другой тест будет более подходящим?