Вопрос или проблема
Я работаю над своей дипломной работой по трем известным наборам данных: adult, titanic и compass (рецидивизм), и пытаюсь сгенерировать недостающие значения для различных уровней отсутствия данных по атрибутам (например, пол, раса), содержащим категориальные данные. Я прочитал статью Генерация синтетических недостающих данных: обзор по механизмам отсутствия, но в ней описываются только способы создания недостающих данных для численных методов, и во всех других статьях, которые я прочитал, также говорится только о численных данных. Я разобрался, как создавать недостающие данные при предположении MCAR, но мне очень сложно создать недостающие данные для предположений MNAR и MAR. Я очень застрял и не знаю, что делать.
Вы можете создать новый атрибут, например, “неизвестно“, и заменить недостающие значения этим атрибутом, как указано в этой статье https://medium.com/analytics-vidhya/ways-to-handle-categorical-column-missing-data-its-implementations-15dc4a56893
Для предположений MNAR ознакомьтесь с этой документацией, я нахожу объяснения довольно хорошими: https://support.sas.com/documentation/cdl/en/statug/66859/HTML/default/viewer.htm#statug_mi_details59.htm
Ответ или решение
Генерация пропущенных значений для категориальных признаков в наборе данных является задачей, требующей тщательного анализа и применения методов, соответствующих выбранным предположениям о механизмах пропусков данных. В вашем случае, когда вы работаете с такими наборами данных, как Adult, Titanic и Compass Recidivism, важно понимать, как лучше всего моделировать пропущенные значения для различных условий.
Общие подходы к генерации пропущенных значений:
-
Создание нового значения (категории):
Одним из простейших способов заполнения пропущенных значений для категориальных признаков является создание новой категории, например, "Неизвестно". Это простое решение позволяет сохранить информацию о пропусках, однако может исказить распределение данных. -
Механизм MCAR (Пропуски совершенно случайные):
- Для механизма MCAR выберите случайный процент значений из вашей категориальной переменной и замените их на пропуски. Это можно сделать с помощью случайной выборки.
-
Механизм MAR (Пропуски случайные при условии наблюдаемых данных):
- При использовании этого метода можно использовать данные других переменных, чтобы определить вероятность того, что значение будет пропущено. Один из подходов заключается в том, чтобы использовать алгоритмы классификации (например, логистическая регрессия или деревья решений), которые используют другие наблюдаемые признаки для предсказания наиболее вероятного значения пропущенного категориального атрибута.
-
Механизм MNAR (Пропуски не случайные при условии наблюдаемых данных):
- Для ситуации MNAR необходимо знать, каким образом "пропуски" связаны с самими значениями (напр., если мужчины чаще пропускают данные о себе в определенных опросах). Этот случай более сложен, потому что он подразумевает наличие информации, по которой можно обосновать, почему данные пропущены. Возможные стратегии включают:
- Имитация основанная на знании предметной области: Используйте экспертное мнение или дополнительные данные для обоснования того, как могут быть пропущены значения.
- Объединение с другими источниками данных: Используйте дополнительные наборы данных для связывания информации.
- Для ситуации MNAR необходимо знать, каким образом "пропуски" связаны с самими значениями (напр., если мужчины чаще пропускают данные о себе в определенных опросах). Этот случай более сложен, потому что он подразумевает наличие информации, по которой можно обосновать, почему данные пропущены. Возможные стратегии включают:
Практические шаги:
-
Анализ данных:
- Ознакомьтесь с вашими данными (построение частотных таблиц, визуализация), чтобы понять распределение и зависимости между переменными.
-
Выбор метода:
- В зависимости от механизма пропусков (MCAR, MAR, MNAR) выберите подходящие методы заполнения пропусков.
-
Кодирование:
- Если вы решили создать новую категорию, используйте кодирование для корректного представления этой информации в дальнейшем анализе.
-
Валидация:
- После генерации пропущенных значений проверьте, сохраняются ли в данных ожидаемые характеристики и закономерности.
-
Документация:
- Полностью задокументируйте выбранные методы и почему они были выбраны, чтобы другие исследователи могли легко понять ваши шаги.
Следуя этим шагам, вы сможете более эффективно генерировать пропущенные значения для категориальных признаков в ваших наборах данных. Если возникнут дополнительные вопросы или потребуется более детальное объяснение по конкретным методам, не стесняйтесь обращаться за помощью!