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

Почистване и подготовка на данни: липсващи данни, отклонения и кодиране

Печалби:

  • Възможност за разпознаване на липсващи типове данни (MCAR/MAR/MNAR), отклонения и грешки в кодирането и използване на AI с правилните данни за създаване на код за почистване и диагностика
  • Възможност да видите как всяка стъпка на почистване (изтриване, присвояване, трансформация), предложена от изкуствения интелект, ще повлияе на резултата от анализа и ще установи обратим и документиран работен процес
  • Поддържане на това, че решенията за почистване се основават на познаване на процеса, който генерира данни, и че изкуственият интелект е контролиран асистент, а не сляп автомат

Всеки опитен анализатор знае една истина: по-голямата част от времето на един емпиричен проект не е моделиране, а почистване на данни (работата по коригиране на грешки, пропуски и несъответствия в данните и подготовката им за анализ). Като грубо правило, около 70-80% от времето отива за разбиране, почистване и трансформиране на данни; само 20-30% остават за същинския анализ. В този раздел ще видим стъпка по стъпка как изкуственият интелект (AI) облекчава това тежко бреме, но кои решения трябва да останат за вас и защо.

Нека първо поставим два основни факта. Първо, решенията за почистване се основават на познанията ви за процеса, който произвежда данните: само вие знаете защо дадена стойност липсва, защо дадено число е твърде голямо. AI не вижда данните, не знае контекста; Пише код, не взема решения. Второ, всяка стъпка на почистване може да промени резултата от анализа. Изтриването на отклонение може да обърне коефициента; Попълването на липсващите със средната стойност може изкуствено да намали дисперсията. Така че почистването трябва да бъде обратимо и документирано: никога не докосвайте необработените данни, правете всяка стъпка в код, записвайте въздействието на всяка стъпка.

Процес на почистване стъпка по стъпка

1. Познайте данните. Първо вижте структурата: брой редове (наблюдения) и колони (променливи), тип на всяка променлива (числова, категорична, дата), обобщена статистика, брой липсващи. Можете да поискате от AI ​​този код за „профил на данни“; Но вие четете изхода и задавате въпроси като "защо тази променлива дойде като текст?"

2. Разберете и класифицирайте липсващите данни. Липсващите данни са разделени на три вида. MCAR (Напълно случайна липса): липсата не се дължи на нищо, например случайно повреден сензор. MAR (произволно липсващи): липсата зависи от други наблюдавани променливи, например по-възрастните хора оставят въпрос празен по-често, но вие знаете възрастта. MNAR (Lipsing Not At Random): липсата зависи от самата ненаблюдавана стойност, например хората с високи доходи не отчитат доходите си. Това разграничение е критично, защото определя метода на решение и AI не може да реши това вместо вас.

3. Справете се с дефицита. Опции: изтриване по списък, средно/средно импутиране, базирано на модел множествено импутиране. Изтриването в MCAR е относително безопасно, но намалява размера на извадката. Множественото присвояване е по-подходящо в MAR. Няма прост метод, който да гарантира безпристрастност в MNAR; Трябва да се моделира механизмът на дефицит или поне да се направи анализ на чувствителността. Запълването на лоши неща е лесно, но опасно: намалява различията, отслабва връзките и прикрива несигурността.

4. Разгледайте отклоненията. Изключителното е наблюдение, което стои много далеч от останалите. Разделете двата въпроса: Това грешка ли е (възрастта 999 е написана във въведените данни) или е реална, но извънредна стойност (доход на милиардер)? Коригиране на грешки; Не изтривайте истинските отклонения, защото те представляват данни. Изтриването на отклонението „защото ви притеснява“ изкривява данните към резултата.

5. Кодиране и последователност. Стандартизирайте категориите („Мъжки“, „мъжки“, „E“ всички в един код), пренесете датите в един формат, единиците в една скала, открийте дублиращи се редове. Това е най-малко рисковата фаза, където AI помага най-добре.

6. Документирайте и замразете. Записвайте всяка стъпка с код и ред за коментар, като отделяте необработените и почистените данни. Така че, когато реферът попита "защо тези наблюдения бяха премахнати?" имате готов отговор.

Внимание: Не вземайте решения за почистване въз основа на резултатите. Изтриването на ред с надпис „Когато изтриете този ред, коефициентът става значителен“ е най-коварната форма на p-хакване, която ще видим в следващата част.

Сравнителна таблица: липсващи методи за данни

Метод

Кога е подходящо?

риск

Роля на AI

Изтриване на ред

MCAR, нисък процент липсващи

Пробата става по-малка, отклонение в MAR/MNAR

Пише кода; вие решавате

Присвояване на средна/медиана

Бърз предварителен анализ

Намалява дисперсията, скрива връзката

Лесно е, но не го препоръчвам; трябва да предупреди

Множествено възлагане (MI)

MAR, важни променливи

Ако не е инсталиран правилно, това ще бъде подвеждащо

Препоръчва код и пакет (мишки)

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

MNAR

Сложен, интензивен на предположения

Само чернова; изисква се експерт

Четири подкани за копиране

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

Вашата роля: асистент за почистване на данни. Не споделям данните, искам R кода. Имам data.frame, наречена "цифра"; променливи: id, възраст (числова), доход (числова), образование (категорична), регион (категорична), дата (дата). Задача: напишете код, който произвежда тип, липсващо число и процент за всяка променлива, обобщена статистика за числови и честотна таблица за категориални. Добавете ред за коментар.

2. Диагностика на липсващи данни:

Напишете код, който изследва липсващия модел за „цифрените“ данни по-горе: - процентът на липсващи данни за всяка променлива, - проста таблица/графика, показваща връзката на липсата с други променливи. Ще разгледам изхода на кода и ще направя разлика между MCAR/MAR/MNAR; Вие просто създавате инструмента за диагностика, НЕ решавайте метода на присвояване.

3. Проверка на отклонения (не изтриване):

Напишете код за променлива „доход“, който изследва отклоненията БЕЗ ИЗТРИВАНЕ: графика, базирани на IQR граници и таблица, изброяваща наблюдения на отклонения + стойности. Ще видя дали това са грешки или реални. Добавете автоматично изтриване.

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

В променливата „образование“ стойностите са написани смесено: „Начално училище“, „основно училище“, „ОСНОВНО“, „Гимназия“, „гимназия“, „Университет“, „университет“. Напишете R код, който ги прекодира в последователни категории; Покажете ясно таблицата за съпоставяне, за да мога да потвърдя всяка реализация. Задайте стойността, която не разпознавате, на „НЕИЗВЕСТНО“.

Слаба подкана / Силна подкана

Слаба подкана:

Почистете данните, попълнете празнините, изхвърлете отклоненията.

Това изискване е опасно: дава сляпа власт на ИИ. Какъв тип липса, какъв вид пълнеж, каква противоречива истина - нищо от това не е ясно. Резултатът може да бъде тайно предубеден набор от данни.

Мощна подкана:

Вашата роля: помощник по почистването, вие не взимате решения. Отидете стъпка по стъпка и напишете код, който отчита въздействието на ВСЯКА стъпка: 1) покажете липсващия модел (НЕ изтривайте/попълвайте), 2) избройте кандидати за извънредни стойности (НЕ изтривайте), 3) коригирайте несъответствията на категорията с таблицата за картографиране. Отпечатайте броя на редовете и обобщената статистика след всяка стъпка, за да мога да видя и потвърдя промяната. Автоматично вмъкване на присвояване/изтриване.

Разликата е ясна: силната воля позиционира AI като контролиран асистент, произвеждайки обратими и документирани стъпки.

три мини калъфа

Случай 1 — Прихващане на средното присвояване. Данните за доходите на един анализатор за 5000 души липсваха 18%. Той каза на AI да "попълни празнините"; AI ги осредни всички. Резултат: дисперсията на дохода намаля с 22%, а коефициентът на връзката образование-доход се оказа по-слаб, отколкото беше. Правилният начин: дефицитът беше MAR (поради образование), трябваше да се запълни чрез многократно присвояване (мишки). Урок: методът на пълнене зависи от механизма.

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

Случай 3 — Безшумна грешка при кодиране. В един панел променливата за дата дойде в два различни формата („2020-03-01“ и „01/03/2020“). Когато комбинираният код, произведен от AI, ги обърка с различни стойности, 1400 наблюдения не съвпаднаха и темповете на растеж станаха абсурдни. Нямаше да има значение, ако анализаторът не провери броя на редовете. Урок: преброяването на наблюденията и проверките на разума след всяка стъпка са задължителни.

Често срещани грешки

  • Сляпо запълване на празнината със средното. Той намалява дисперсията, скрива несигурността и създава отклонение в MAR/MNAR. Първо класифицирайте механизма.
  • Изтриване на отклонението „защото пречи“. Истинските отклонения представляват данните; изтриването е огъване на резултата. Коригирайте грешното, запазете истинското.
  • Докосване на необработени данни. Никога не променяйте необработените данни; Направете цялото почистване с кода в отделно копие, за да може да се върне към него.
  • Без измерване на въздействието на стъпките. Ако броят на редовете и обобщената статистика не се проверяват след всяка стъпка, ще се натрупат тихи грешки.
  • Почистване като резултат. Логиката на "Когато добавите този ред, резултатът става по-добър" е p-hacking; Почистването трябва да се планира преди и независимо от резултата от анализа.
Съвет: Съхранявайте таблица „преди/след“, която поставя едни и същи основни статистики (средна стойност, медиана, брой наблюдения, няколко корелации) една до друга преди и след почистването. Неочакван скок е най-добрият предвестник на скрита грешка.

В обобщение

Почистването на данни е най-отнемащата време и изискваща вземане на решения фаза от емпиричната работа. AI ​​е мощен генератор на код в това отношение, но не може да управлява: вие класифицирате липсващия тип данни (MCAR/MAR/MNAR), определяте дали отклонението е грешка или реално, поддържате всяка стъпка обратима и документирана. Вместо да давате на AI сляпо „ясно“ правомощия, установете работен процес стъпка по стъпка, чието въздействие се измерва и валидира. Проверката на броя наблюдения и обобщената статистика след всяка стъпка е най-добрият антидот срещу тихите грешки.

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

Изберете поне две променливи, които съдържат липсващи и извънредни стойности в набор от данни (ваши собствени данни или примерен набор). Поискайте диагностичен код от AI чрез подканата „стъпка по стъпка, не изтривайте/попълвайте“ по-горе и го стартирайте. Класифицирайте недостатъка като MCAR/MAR/MNAR и напишете обосновката си в едно изречение. Разгледайте противоречивите кандидати един по един и решете кой е грешка и кой е истински. Накрая изгответе таблица „преди-след“ преди/след почистване и докладвайте, ако има някакви неочаквани промени.

контролен списък

  • [ ] Изчистих необработените данни в отделно копие, без да ги променям.
  • [ ] Класифицирах дефицита като MCAR/MAR/MNAR и съответно избрах метода.
  • [ ] Разгледах отклоненията един по един дали са грешки или реални; Не съм го изтрил сляпо.
  • [ ] Проверих броя на наблюденията и обобщената статистика след всяка стъпка на почистване.
  • [ ] Документирах всички стъпки с код и ред за коментар; обратими.
  • [ ] Базирах почистването на познаване на процеса, който произвежда данните, а не на резултата от анализа.