3.2. Обработка данных
Обработка данных включает следующие основные этапы:
- Загрузка собранных данных.
- Предварительная обработка данных:
- проверка на пропуски;
- проверка на дубликаты (полные) – когда это необходимо;
- проверка на аномалии или выбросы.
- Формирование итогового набора данных.
Предварительная обработка данных
Не всегда дополнительно собранные клинические данные, которые были выбраны для обогащения НД, находятся в надлежащем виде. Поэтому прежде чем добавлять их в окончательный НД, на котором будет проводиться обучение ПО на основе ТИИ, необходимо провести их предварительную обработку.
Проверка данных на пропуски
В первую очередь необходимо понять, удалось ли выгрузить достаточно новых клинических данных из МИС (ЭМК). Для этого нужно подсчитать количество пропусков данных по каждому новому признаку, которым мы обогащаем НД. Количество пропусков по признаку лучше представлять в процентах, так легче воспринимать подобную информацию:
- В том случае, когда процент пропусков выше 5 %, наиболее целесообразным будет этот признак удалить, если в ТЗ не предусмотрено иное. Если построить доверительный интервал для среднего значения признака, то с определенной вероятностью (95 %) можно сказать, что истинное среднее значение признака находится в этом диапазоне. Если в столбце с признаком процент пропусков в данных более 5 %, то это означает, что не имеется достаточного количества наблюдений для вычисления достоверного доверительного интервала. В этом случае нельзя быть уверенным, что среднее значение признака, вычисленное на основе имеющихся данных, является достоверным и точным.
- Процент пропусков 5 % или менее. В этом случае необходимо точно понимать, с какой целевой патологией создается набор данных и для исследования какого заболевания он может быть использован. Если это за6олевание достаточно редкое в исследуемой популяции больных, то любые данные (и признаки) очень важны. В этом случае можно попытаться восстановить пропуски. Осуществить это можно с помощью трех подходов:
- Клинический. Если есть возможность – дообследовать пациента и таким образом восстановить пропуски в данных (например, уровень гормона или размер органа).
- Использовать метод KNN («метод k-ближайших соседей»). Объяснение принципа и методологии использования этого метода не является целью настоящих методических рекомендаций. Подробно ознакомиться с ним можно в статье [14]. Пример практического использования данного метода в среде программирования Python представлен по ссылке [15].
- Применить алгоритм Гиббса. С использованием этого метода можно ознакомиться здесь [16].
Если патология (за6олевание) часто встречается в общей популяции, тогда можно пропуски заменить на NaN (Not a Number). NaN – понятный для электронной-вычислительной машины символ, означающий, что в ячейке нет числа, но есть пропуск. Это важный момент: нельзя оставлять ячейку пустой, также в нее нельзя вводить значение 0. В дальнейшем значение 0 может серьезно повлиять на обучение ПО на основе ТИИ в негативном ключе.
Для наглядности блок-схема последовательности действий представлена на рисунке 8.
&hide_Cookie=yes)
Рисунок 8 – Блок-схема. Последовательность действий для проверки добавленных клинических данных
Проверка данных на дубликаты
Если в ходе обработки данных будут обнаружены полностью дублирующие друг друга строки, необходимо оставить только первое вхождение таких данных в НД. Остальную полностью повторяющуюся часть (дубликаты) необходимо удалить, если в ТЗ не оговорено иное.
Проверка данных на выбросы
Помимо пропусков в данных, есть еще одна распространенная проблема, с которой можно столкнуться при обогащении НД, – выбросы.
Выброс (или аномалия) – это значение (в разрезе одного признака), которое сильно отличается от остальных. Например, частота сердечных сокращений у пациентов с целевой патологией в спокойном состоянии в исследуемом наборе данных в среднем будет равняться 75 уд/мин, а среди них появится значение 150 уд/мин. 150 уд/мин – и есть выброс (или аномалия). Это значение сердечных сокращений значительно отличается от остальных значений признака в контексте данного исследования. Однако не всегда понятно, что делать с такими данными.
Для проверки НД на выбросы рекомендуем использовать следующие графические методы: построение графика «ящик с усами», построение гистограмм (накопления, с большим числом корзин). Дополнительно можно использовать статистические критерии: Граббса [17] или Диксона [18]. Оба используются для обнаружения выбросов в данных, но критерий Граббса считается более консервативным, чем критерий Диксона, так как первый учитывает только одно значение выброса, в то время как второй – несколько значений. Выбор того или иного критерия зависит от конкретной задачи и характеристик данных (нормальное распределение). На рисунке 9 (А, Б) представлены примеры графических методов поиска выбросов. Стоит уточнить: это разные наборы данных. На рисунке под буквой А видно значение, заметно отстоящее от остальных. Вероятно, это выброс. Однако стоит иметь в виду, что это может быть каким-либо казуистическим случаем (аномалия). Ширина 3-го желудочка головного мозга у этого больного действительно имела такой размер – может быть, у него была гидроцефалия? Для того чтобы убедиться в том, что это выброс, необходимо обратиться к МИС, из которой собираются дополнительные клинические признаки, и уточнить диагнозы больного. Под буквой Б показан пример поиска выбросов с помощью графика «ящик с усами». Все, что выше или ниже 1,5*IQR («усы»), считается выбросом.