Вопрос или проблема
Предположим, что у меня есть группа друзей, которые в начале нового года все согласились отправлять мне сообщения с общим количеством минут, которые они занимались физическими упражнениями в этот день. Я собираю эти данные в течение года и хочу рассказать своим друзьям, как прошел год. Однако процесс отчетности не является чистым. Некоторые друзья молодцы — они отправляют мне сообщения каждый день, включая те дни, когда они не занимались спортом. Другие друзья имеют непоследовательные привычки отправки сообщений, независимо от того, занимались они спортом или нет.
Как я могу очистить эти данные, чтобы представить моим друзьям максимально точное представление в конце года?
Вот некоторые из моих мыслей и сомнений:
-
Если я хочу сравнить агрегированные показатели по времени, например, сравнивая “количество тренировок” в феврале и апреле или изменение по месяцам, я мог бы использовать общий пул данных — но в течение многих месяцев количество друзей, которые последовательно отправляют мне информацию о своих минутах, составляет небольшую выборку от всех моих друзей, участвующих в процессе. Если я буду использовать отдельный общий пул для каждого месяца, я не буду сравнивать одних и тех же людей между собой, и это будет похоже на сравнение яблок с апельсинами.
-
Я мог бы использовать метод импутации для отсутствующих значений, хотя у моих друзей часто нет четких моделей, когда или как долго они занимаются спортом, и некоторые не отправляют мне сообщения целую неделю (или дольше!), даже когда я знаю, что они занимаются спортом.
(P.S. Вы могли бы представить это как штаты, сообщающие данные о здоровье населения федеральному правительству, франчайзи, сообщающие данные о продажах владельцу франшизы, коллектив некоммерческих организаций, сообщающий данные о грантах фонду и т.д.)
.
Ответ или решение
Теория
Очистка данных, которые были систематически и несистематически собраны, требует тщательного подхода к обработке и анализу. Когда речь идет о данных физической активности, собираемых среди друзей, главной проблемой является отсутствие единообразия в отчетности. Как результат, это может привести к искажению представления о действительности, если не принять корректные меры для очистки и обработки данных.
Ключевыми подходами к решению этой задачи являются:
- Регуляризация данных: Создание унифицированных измерений, чтобы можно было строить сопоставимые метрики.
- Импутация пропущенных данных: Подстановка значений для пропущенных дней на основе имеющихся данных, что позволяет заполнить пробелы в отчетах.
- Анализ временных рядов: Составление временных рядов для выявления трендов и сезонных изменений, которые помогут в интерпретации данных.
- Честный учет неоднородности: Признание и рассмотрение разноплановых аспектов в отчетах друзей с учетом их личных привычек и склонностей к отчетности.
Пример
Представьте ситуацию: у вас есть три друга — Алекс, Бен и Виктория. Алекс сообщает о своих упражнениях ежедневно, Бен иногда пропускает дни, а Виктория сообщает только в начале и в конце месяца. Это приводит к неполным данным и затрудняет анализ.
Применение
-
Регуляризация данных:
- Вам следует установить стандарт, например, использовать среднюю величину или медианное значение для заполнения данных за пропущенные дни. Это позволит легче сравнивать данные по разным друзьям и временам года.
-
Импутация данных:
- Для Бена и Виктории, которые не всегда отправляют свои результаты, можно использовать методы статистической импутации. Например, можно применять метод ближайших соседей, чтобы заполнить пропуски на основе дней с уже имеющимися данными.
-
Анализ временных рядов:
- Создайте графики временных рядов для каждого друга. Это поможет визуализировать их привычки и выявить закономерности, несмотря на пробелы. Вы также сможете оценить корреляцию между уровнем двигательной активности и внешними факторами, такими как погода или сезонные изменения.
-
Учет неоднородности:
- Распределите друзей по группам в зависимости от их уровня ответственности в отчетах и проводите анализ внутри соответствующих групп. Это позволит получить более точное понимание их предпочтений и поведения.
-
Анализ неполных данных:
- Определите дни, в которые данные отсутствуют, и проведите дополнительное исследование, чтобы выяснить, можно ли восполнить эти пробелы с помощью косвенной информации (например, узнать у друзей или воспользоваться их дневниками, если они захотят поделиться).
-
Программная реализация:
- Используйте инструменты для анализа данных, такие как Python с библиотеками pandas и numpy, которые позволяют эффективно обрабатывать массивы данных и применять алгоритмы машинного обучения для импутации.
Обобщив результаты анализа, вы сможете предоставить своим друзьям более точный отчет о прогрессе в их физической активности. Прозрачность и обсуждение ограничений анализа помогут избежать недопонимания и обеспечить конструктивную обратную связь для всех участников.