Вопрос или проблема
Я работал с набором данных, который содержит данные известной компании по поставкам наркотиков. Первые несколько записей в наборе данных выглядят следующим образом;
Другие данные сопутствуют этому (основному) набору данных. В нем содержится информация о 1115 аптеках компании. В последнем наборе данных (данные аптек) один из столбцов относится к числу месяцев с момента, когда была основана конкурирующая (возможно, ближайшая) аптека. В нём 15% отсутствующих значений (около 375 отсутствуют из 1115).
Следующим образом выглядят значения в переменной;
У меня есть следующая идея;
Создать категории данных. Я хочу разбить записи на кварталы (т.е. 3 месяца назад – это 1 квартал, 6 месяцев назад – это 2 квартала и т.д.). Я предполагаю, что недостающие значения могут указывать на то, что точное время, с которого была основана конкурирующая (аптека), было неизвестно. Поэтому я хочу отметить недостающие значения как отдельную категорию. Короче говоря, я хочу преобразовать дискретную переменную в категориальную.
Мои вопросы;
- Хорошая ли это идея?
- Если нет, как я мог бы работать с таким набором данных? (Ответ, ориентированный на предмет, был бы полезен)
- Как мы обычно обрабатываем недостающие значения?
Да, ваша стратегия биннинга имеет смысл.
Кроме того, разумно заполнить недостающие значения округленным средним значением обучающего набора данных (игнорируя отсутствующие). Вы также можете предположить, что недостающее значение означает «нет текущего конкурента» и установить его как большое отрицательное число. Независимо от того, что лучше всего подходит для вас, на этапе тестирования или предсказания вам нужно будет заполнить то же самое значение.
Кроме того, если этот столбец имеет смысл для обучения, вы можете обучить модель, исключив строки с отсутствующими значениями. Это может исказить обучение, если недостающие значения являются систематическим явлением, плюс поведение остается неопределенным, если недостающие значения могут возникать в момент предсказания.
Ответ или решение
Как заполнить пропущенные значения в дискретном столбце для предсказаний продаж в компании похоронной цепочки по препаратам
Введение
Работа с пропущенными значениями в данных является одной из наиболее сложных задач в области аналитики и машинного обучения. В данном случае, у вас есть уникальный набор данных, содержащий информацию от известной компании по поставкам медикаментов. Раскрытие методов работы с пропущенными значениями, особенно в дискретных переменных, требует тщательного подхода, основанного на знаниях о бизнесе, специфике данных и методах анализа.
1. Биннинг как стратегический подход
Ваш подход к бинингу данных представляется весьма разумным. Создание категорий (например, кварталов) в зависимости от времени, прошедшего с момента основания конкурирующего магазина, позволяет не только структурировать данные, но и сделать их более понятными для анализа. Отметка пропущенных значений как отдельной категории предоставляет возможность сохранить информацию о том, что данные о конкурентах были недоступны, что также может иметь значение в контексте анализа поведения покупателей.
2. Альтернативные методы обработки пропусков
Если вы решите, что бининг не является оптимальным решением, существуют другие подходы к заполнению пропущенных значений:
-
Заполнение средними значениями: Можете заполнить пропуски округленным средним значением по оставшимся данным. Это, однако, может привести к потере уникальности данных, поэтому стоит использовать данный метод осторожно.
-
Интерпретация нулевых значений: Можно предположить, что недостающие значения указывают на отсутствие конкурента, и заполнить их значением, обозначающим эту категорию (например, «-1» или другое большое отрицательное значение).
-
Исключение строк с пропусками: Возможен вариант, при котором вы тренируете модель без учета строк с пропущенными значениями. Однако, если пропуски имеют системный характер, это может вызвать искажения в анализе и привести к потере важной информации.
3. Общие принципы работы с пропущенными значениями
Работа с пропущенными значениями требует осознания и учета контекста данных. Основные принципы включают:
-
Анализ масштабируемости данных: Определите, как значимость недостающих значений будет влиять на результаты. Если пропуски фиксируются систематически, им следует уделить особое внимание.
-
Проверка корреляций: Исследуйте, нет ли корреляций между отсутствующими значениями и другими переменными в вашем наборе данных. Это может помочь выявить вероятность наличия структуры в пропущенных данных.
-
Тестирование различных методов: Рекомендуется протестировать несколько методов заполнения, а затем выбрать тот, который дает лучшие результаты по модели валидации.
Заключение
Вопрос о том, как заполнять пропущенные значения в вашем конкретном случае, зависит от ваших целей и контекста данных. Биннинг – это один из подходов, который может оказаться разумным выбором. Но также важно рассмотреть и другие методики, чтобы найти наилучшее решение, отвечающее потребностям вашей компании. Помните, что как бы вы ни решили обработать пропуски, основное правило – это последовательность в применении выбранного подхода на этапе предсказаний.