Единицы
1. Искусственный интеллект в эконометрике и статистике: роли, границы, аутентификация и конфиденциальность 2. Очистка и подготовка данных: недостающие данные, выбросы и кодирование 3. Исследовательский анализ и визуализация данных: построение графиков и интерпретация с помощью искусственного интеллекта 4. Линейная регрессия: построение модели, интерпретация коэффициентов и предположения 5. Регрессионная диагностика и нарушения: коллинеарность, гетероскедастичность, автокорреляция 6. Проверка гипотез и значение p: значимость, мощность и множественные сравнения 7. p-хакинг, HARKing и статистическая достоверность: подводные камни в эпоху искусственного интеллекта 8. Анализ временных рядов: стационарность, ARIMA и прогнозирование 9. Причинно-следственная связь и анализ политики: DiD, IV, RDD и искусственный интеллект 10. Генерация кода и воспроизводимость: R/Python, управление версиями и воспроизводимость 11. Написание отчета, общение и этика: представление результатов и границы сообщения
Единица 2 / 11

Очистка и подготовка данных: недостающие данные, выбросы и кодирование

Прибыль:

  • Способность распознавать отсутствующие типы данных (MCAR/MAR/MNAR), выбросы и ошибки кодирования и использовать искусственный интеллект с правильными данными для создания кода очистки и диагностики.
  • Возможность увидеть, как каждый шаг очистки (удаление, назначение, преобразование), предложенный искусственным интеллектом, повлияет на результат анализа, и установить обратимый и документированный рабочий процесс.
  • Подтверждение того, что решения по очистке основаны на знании процесса, генерирующего данные, и что искусственный интеллект является контролируемым помощником, а не слепым автоматом.

Каждый опытный аналитик знает одну истину: большую часть времени эмпирический проект занимает не моделирование, а очистка данных (работа по исправлению ошибок, упущений и несоответствий в данных и подготовке их к анализу). Грубо говоря, около 70–80 % времени уходит на понимание, очистку и преобразование данных; для собственно анализа остается только 20-30%. В этом модуле мы шаг за шагом увидим, как искусственный интеллект (ИИ) облегчает это тяжелое бремя, но какие решения все равно должны оставаться за вами и почему.

Давайте сначала рассмотрим два основных факта. Во-первых, решения по очистке основаны на ваших знаниях о процессе создания данных: только вы знаете, почему значение отсутствует, почему число слишком велико. ИИ не видит данные, не знает контекста; Пишет код, а не принимает решения. Во-вторых, каждый этап очистки может изменить результат анализа. Удаление выброса может инвертировать коэффициент; Заполнение пропущенных значений средним значением может искусственно уменьшить дисперсию. Поэтому очистка должна быть обратимой и документированной: никогда не трогайте необработанные данные, выполняйте каждый шаг в коде, записывайте влияние каждого шага.

Пошаговый процесс очистки

1. Знайте данные. Сначала просмотрите структуру: количество строк (наблюдений) и столбцов (переменных), тип каждой переменной (числовая, категориальная, дата), сводная статистика, количество пропущенных. Вы можете запросить у ИИ этот код «профиля данных»; Но вы читаете вывод и задаете вопросы типа «почему эта переменная представлена ​​в текстовом виде?»

2. Понять и классифицировать недостающие данные. Отсутствующие данные делятся на три типа. MCAR (отсутствует полностью случайно): отсутствие происходит не по какой-либо причине, например, из-за случайного сбоя датчика. MAR (пропущено случайно): пропуск зависит от других наблюдаемых переменных, например, пожилые люди чаще оставляют вопрос пустым, но возраст вам известен. MNAR (пропавшие без вести не случайно): отсутствие зависит от самого ненаблюдаемого значения, например, люди с высокими доходами не сообщают о своих доходах. Это различие имеет решающее значение, поскольку оно определяет метод решения, а ИИ не может решить это за вас.

3. Разберитесь с недостатком. Варианты: удаление по списку, среднее/медианное вменение, множественное вменение на основе модели. Удаление в MCAR относительно безопасно, но уменьшает размер выборки. Множественное присвоение более уместно в MAR. Ни один простой метод не гарантирует объективность MNAR; Механизм дефицита следует смоделировать или, по крайней мере, провести анализ чувствительности. Заполнять среднее значение легко, но опасно: оно уменьшает дисперсию, ослабляет отношения и скрывает неопределенность.

4. Изучите выбросы. Выброс — это наблюдение, которое находится очень далеко от других. Разделите два вопроса: это ошибка (в вводе данных был написан возраст 999 лет) или это реальная, но выдающаяся величина (доход миллиардера)? Исправить ошибки; Не удаляйте истинные выбросы, поскольку они представляют данные. Удаление выброса «потому что это вас беспокоит» искажает данные в сторону результата.

5. Кодирование и согласованность. Стандартизируйте категории («Мужчина», «Мужчина», «Е» все в один код), приведите даты в один формат, единицы измерения в одну шкалу, выявите повторяющиеся строки. Это наименее рискованный этап, на котором ИИ помогает лучше всего.

6. Задокументируйте и заморозьте. Записывайте каждый шаг с кодом и строкой комментариев, разделяя необработанные и очищенные данные. Поэтому, когда рефери спрашивает: «Почему эти наблюдения были исключены?» у вас готов ответ.

Внимание: не принимайте решения по очистке на основе результатов. Удаление строки с надписью «Когда вы удалите эту строку, коэффициент станет значимым» — это самая коварная форма р-хакинга, которую мы увидим в следующем разделе.

Сравнительная таблица: недостающие методы данных

Метод

Когда это уместно?

риск

Роль ИИ

Удалить строку

MCAR, низкий процент пропусков

Выборка становится меньше, смещение в MAR/MNAR

Пишет код; ты решаешь

Среднее/медианное назначение

Быстрый предварительный анализ

Уменьшает дисперсию, скрывает взаимосвязь

Это легко, но не рекомендуется; должен предупредить

Множественное назначение (MI)

MAR, важные переменные

Если установлен неправильно, это будет вводить в заблуждение.

Рекомендует код и упаковку (мыши)

Моделирование механизмов

МНАР

Сложный, основанный на предположениях

Только черновик; требуется эксперт

Четыре копируемых подсказки

1. Профилирование данных:

Ваша роль: помощник по очистке данных. Я не делюсь данными, мне нужен код R. У меня есть data.frame под названием «цифра»; переменные: id, возраст (числовой), доход (числовой), образование (категориальный), регион (категориальный), дата (дата). Задача: написать код, который выдает тип, недостающее число и скорость для каждой переменной, сводную статистику для числовых переменных и таблицу частот для категориальных. Добавьте строку комментария.

2. Диагностика отсутствия данных:

Напишите код, который исследует шаблон отсутствия для приведенных выше «цифровых» данных: - процент отсутствия каждой переменной, - простую таблицу/график, показывающую связь отсутствия с другими переменными. Я посмотрю на выходные данные кода и проведу различие между MCAR/MAR/MNAR; Вы просто производите диагностический прибор, а НЕ выбираете метод его назначения.

3. Проверка выбросов (не удаление):

Напишите код для переменной «доход», который исследует выбросы БЕЗ УДАЛЕНИЯ: коробчатую диаграмму, границы на основе IQR и таблицу со списком наблюдений выбросов + значений. Я посмотрю, ошибки это или настоящие. Добавьте автоматическое удаление.

4. Стандартизация кодирования:

В переменной 'education' значения прописаны смешанные: "Начальная школа","начальная школа","НАЧАЛЬНАЯ","Старшая школа","старшая школа","Университет","университет". Напишите код R, который перекодирует их в согласованные категории; Наглядно покажите таблицу сопоставления, чтобы я мог подтвердить каждое преобразование. Установите для незнакомого значения значение «НЕИЗВЕСТНО».

Слабая подсказка / Сильная подсказка

Слабая подсказка:

Очистите данные, заполните пробелы, отбросьте выбросы.

Это требование опасно: оно дает ИИ слепую власть. Что за пропущенное, какое наполнение, какая противоречивая истина - ничего не понятно. Результатом может стать тайно предвзятый набор данных.

Мощная подсказка:

Ваша роль: помощник по уборке, вы не принимаете решения. Идите шаг за шагом и напишите код, который сообщает о влиянии КАЖДОГО шага: 1) показать отсутствующий шаблон (НЕ удалять/заполнять), 2) составить список кандидатов-выбросов (НЕ удалять), 3) исправить несоответствия категорий с таблицей сопоставления. Распечатывайте количество строк и сводную статистику после каждого шага, чтобы я мог увидеть и подтвердить изменение. Автоматическая вставка назначения/удаления.

Разница очевидна: сильная воля позиционирует ИИ как контролируемого помощника, производящего обратимые и документированные шаги.

три мини-кейса

Случай 1 — Ловушка среднего назначения. В данных одного аналитика о доходах 5000 человек не хватало 18%. Он сказал ИИ «заполнить пробелы»; ИИ усреднил их все. Результат: дисперсия дохода снизилась на 22%, а коэффициент связи образование-доход оказался слабее, чем был. Правильный путь: дефицит был MAR (из-за образования), пришлось восполнять множественным назначением (мыши). Урок: способ наполнения зависит от механизма.

Случай 2 — очистка выбросов меняет результат. В данных одной фирмы было 3 очень крупных фирмы (0,6% от общего числа наблюдений). Они были удалены по предложению ИИ «очистить»; Коэффициент эффекта масштаба превратился из положительного в отрицательный. Однако эти три компании были реальными и составляли важную часть отрасли. Правильным способом было сообщать как полную, так и надежную оценку вместо удаления. Урок: реальные выбросы — это данные, а не шум.

Случай 3. Скрытая ошибка кодирования. На одной панели переменная даты представлена ​​в двух разных форматах («01.03.2020» и «03.01.2020»). Когда комбинационный код, созданный ИИ, принял их за разные значения, 1400 наблюдений оказались несовпадающими, и темпы роста стали смехотворными. Это не имело бы значения, если бы аналитик не проверял количество строк. Урок: подсчет наблюдений и проверка работоспособности после каждого шага обязательны.

Распространенные ошибки

  • Слепо заполняем пробел средним значением. Это уменьшает дисперсию, скрывает неопределенность и создает систематическую ошибку в MAR/MNAR. Сначала классифицируйте механизм.
  • Удаление выброса «потому что это беспокоит». Истинные выбросы представляют данные; удаление искажает результат. Исправьте то, что неправильно, сохраните то, что реально.
  • Получение необработанных данных. Никогда не изменяйте необработанные данные; Выполните всю очистку кода в отдельной копии, чтобы к нему можно было вернуться.
  • Не измерять влияние шагов. Если количество строк и сводная статистика не проверяются после каждого шага, будут накапливаться молчаливые ошибки.
  • В результате уборка. Логика «Когда вы добавите эту строку, результат станет лучше» — это п-хакерство; Очистку следует планировать до и независимо от результата анализа.
Совет: Сохраните таблицу «до/после», в которой будут представлены одни и те же основные статистические данные (среднее значение, медиана, количество наблюдений, несколько корреляций) до и после очистки. Неожиданный скачок — лучший предвестник скрытой ошибки.

В заключение

Очистка данных — наиболее трудоемкий и требующий принятия решений этап эмпирической работы. ИИ является мощным генератором кода, но он не может принимать решения: вы классифицируете отсутствующий тип данных (MCAR/MAR/MNAR), определяете, является ли выброс ошибкой или реальным, сохраняете обратимый и документированный каждый шаг. Вместо того, чтобы давать ИИ слепые «четкие» полномочия, установите пошаговый рабочий процесс, влияние которого измеряется и проверяется. Проверка количества наблюдений и сводной статистики после каждого шага — лучшее противоядие от скрытых ошибок.

Задача приложения

Выберите как минимум две переменные, которые содержат отсутствующие значения и выбросы в наборе данных (ваши собственные данные или набор выборки). Запросите диагностический код у AI с помощью приведенной выше подсказки «шаг за шагом, не удалять/заполнять» и запустите его. Классифицируйте недостаток как MCAR/MAR/MNAR и напишите свое обоснование в одном предложении. Изучите противоречивых кандидатов один за другим и решите, какой из них является ошибкой, а какой реальным. Наконец, составьте таблицу «до-после» до/после очистки и сообщите, если возникнут какие-либо неожиданные изменения.

контрольный список

  • [ ] Я очистил необработанные данные в отдельной копии, не меняя их.
  • [ ] Я классифицировал недостаток как MCAR/MAR/MNAR и выбрал соответствующий метод.
  • [ ] Я проверял выбросы один за другим, были ли они ошибками или реальными; Я не удалял его слепо.
  • [ ] Я проверял количество наблюдений и сводную статистику после каждого этапа очистки.
  • [ ] Я задокументировал все шаги с помощью кода и строки комментариев; обратимый.
  • [ ] Я основывал очистку на знании процесса, производящего данные, а не на результате анализа.