Единица 3 / 11

Очистка, преобразование и исследовательский анализ данных (с поддержкой Python/pandas)

Прибыль:

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

Экономические данные редко поступают готовыми для анализа. В таблице, которую вы скачали с TURKSTAT, отсутствуют некоторые месяцы, один столбец представляет собой текст с тысячами скобок, обменный курс указан в турецком формате, например «1,234,56», одна серия — ежемесячная, а другая — квартальная. Большую часть времени экономист тратит не на анализ, а на подготовку данных для анализа. Именно здесь ИИ является настоящим ускорителем с низким уровнем риска: он предлагает шаги по очистке, пишет панды (библиотеку обработки данных Python), кодифицирует стандартные экономические преобразования. Но у этого устройства также есть непреложное правило: вы читаете каждое преобразование, написанное искусственным интеллектом, и проверяете его вручную хотя бы в одном наблюдении. Если реальный номинальный цикл находится на неправильной основе, весь анализ незаметно приходит в упадок.

Уборка: какие проблемы, как их решить?

Наиболее распространенные проблемы в экономических данных и их логика:

  • Неполное наблюдение. Один месяц/квартал пуст. Решение зависит от контекста: если его на самом деле не существует, оно остается пустым; Если есть технический пробел, делается тщательная интерполяция, но грань между изготовлением тонка.
  • Путаница единиц измерения и форматов. Текст «12.345.6» необходимо преобразовать в число; миллион/миллиард должен стать последовательным.
  • Несоответствие частот. Чтобы объединить ежемесячные и квартальные ряды, один из них агрегируется (от месяца до квартала) — средний ли это, общий или на конец периода, зависит от характера показателя (различие запасов/потоков).
  • Выбросы (крайние) значения. Если наблюдения сильно отклоняются: это реальное событие (кризис, повышение цен) или ошибка данных? Это понятно перед удалением.
  • Выравнивание даты. Форматы дат и определения периодов разных серий синхронизируются.
Внимание: Заполнение недостающих данных кажется невинным, но это экономическое решение. Заполнение кризисного месяца «средним значением соседних месяцев» означает исключение этого кризиса из анализа. Прежде чем заполнять, спросите: «Почему существует этот пробел?» Ответьте на вопрос.

Стандартные экономические преобразования

Преобразования и их определения в повседневном репертуаре экономиста:

  • Номинальный → Реальный. Поправка на влияние на цену: реальная стоимость = номинальная стоимость / индекс цен × 100. Базовый год дефлятора (корректирующий индекс) определяет базу результата.
  • Индексирование. Изменение масштаба ряда так, чтобы выбранный период = 100; Это полезно для сравнения серий разного размера.
  • Скорость роста. Годовой: (тот же период в этом периоде / в прошлом году — 1) × 100. Периодическая и годовая ставка — это разные вещи; Запутывание – распространенная ошибка.
  • Сезонная коррекция. Очищение регулярных сезонных эффектов (летний туризм, отдых); Необработанные ряды и ряды, скорректированные с учетом сезонных колебаний, рассказывают разные истории.
  • Скользящее среднее. Сглаживание шума и видимость тренда.
  • Логарифмы и дифференцирование. Изучить динамику роста и стационарность (будем углубляться в блок временных рядов).
Совет: при каждом преобразовании вас спросят: «Что случилось с юнитом и базой?» просить. Базой реального ряда является база дефлятора; Базой индексированного ряда является выбранный вами период. Записывая это, вы предотвратите ошибки в будущем.

Исследовательский анализ данных (EDA)

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

Внимание: корреляция здесь является лишь средством идентификации, а не доказательством причинно-следственной связи. Тот факт, что два ряда движутся вместе (например, продажи мороженого и утопления — оба вызваны летом), не обязательно означает, что один ведет к другому. Мы углубим это различие в модуле 7.

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

Случай 1 — Неправильная база дефлятора. У аналитика был код искусственного интеллекта для написания ряда заработной платы. Код работал, результат выглядел разумным, но аналитик вручную рассчитал 2020 год на этапе РАСЧЕТ, и это не сработало. Проблема: искусственный интеллект использовал дефлятор с базой 2003=100 и запросил ряд заработной платы с ценами 2015 года; Основания были противоречивыми. Код поправили с исправлением одной строчки, вся серия встала на свои места.

Случай 2 — Тихая ошибка громкости. Учреждение сократило данные об экспорте в тысячах долларов и импорте в миллионах долларов. Когда искусственный интеллект удалил эти два показателя из «внешнеторгового баланса», результатом стал абсурдный дефицит. Просмотр мин-макс в EDA выявил ошибку: порядок величины двух серий отличался в 1000 раз. Как только единицы измерения были выравнены, баланс стал правильным.

Случай 3. Неудаление выброса. Один месяц подряд был чрезвычайно низким показателем. ИИ предложил «выброс, давайте уберем его». Аналитик расследовал: производство фактически остановилось из-за стихийного бедствия в том же месяце. Ценность была реальной; Удаление его исказило бы историю. Вместо удаления была сделана сноска. «Четкой» рекомендации ИИ не последовали слепо.

Таблица проверки преобразования

Конверсия

суть формулы

ручной контрольно-пропускной пункт

реализация

номинал / индекс цены × 100

База дефлятора = база результатов?

годовой рост

(т/т-12мес-1)×100

Рассчитать период на бумаге

индексирование

серия/базовый период × 100

Значение базового периода равно 100?

Ежемесячно→ежеквартально

поток: сбор/запас: конец периода

Правильный метод сбора?

скользящее среднее

среднее за последний n период

Длина окна правильная?

Четыре копируемых шаблона

1) План уборки:

У меня есть необработанные данные: [столбцы и образцы строк]. Придумайте план очистки для подготовки к анализу: пропущенное значение, проблемы с единицами измерения/форматом, выравнивание дат, выравнивание частоты, возможные выбросы. Объясните в одном предложении, почему необходим каждый шаг. Пока не пишите код; позвольте мне сначала подтвердить план.

2) код очистки панд:

Напишите код pandas в соответствии с утвержденным мной планом. Пусть код указывает, что он делает на каждом этапе, с помощью строки комментария; Он печатает количество строк и пропущенные значения после преобразования. Не стирайте молча ни одно наблюдение; Сообщайте о каждой удаленной строке.

3) Реализация (проверяемая):

Реализуйте этот номинальный ряд с помощью [индекса цен]. Четко напишите базовый год дефлятора, когда вы его используете; Укажите, что является основанием полученного ряда. Покажите мне шаг за шагом учетную запись за один период, чтобы я мог подтвердить ее вручную.

4) Краткое изложение исследовательского анализа:

Напишите код исследовательского анализа для следующих очищенных данных: сводная статистика, график временных рядов, сканирование выбросов и матрица корреляции. При интерпретации результатов дайте понять, что обнаруженные вами корреляции не являются ПРИЧИННЫМИ, и перечислите 3 момента, которые мне особенно интересны.

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

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

Очистите эти данные.

ИИ действует, исходя из предположений, не зная, что очищать; Вы можете удалять наблюдения, менять единицы измерения, вы этого не заметите.

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

В этих ежемесячных данных о внешней торговле экспорт измеряется в «тысячах долларов США», а импорт — в «миллионах долларов США». Сделайте два равными в «миллионах долларов США», отметьте недостающие месяцы, но НЕ ЗАПОЛНЯЙТЕ, выровняйте даты по концу месяца. Выведите количество строк, затронутых на каждом шаге; молча удалять строки. Затем покажите баланс за один месяц так, чтобы я мог проверить его вручную.

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

  • Запуск кода преобразования без его чтения. Неправильная база/единица незаметно портит весь анализ.
  • Заполняем недостающие данные не задумываясь. Стирание периода кризиса/катастрофы со средним значением.
  • Автоматически отбрасывать выбросы. Принятие реального события за ошибку данных.
  • Сбивает с толку сезонный и годовой рост. Два разных размера.
  • Неправильное сочетание частот. Сбор серий акций и обработка их как потока.
  • Принятие корреляции в EDA за причинно-следственную связь. Принятие инструмента распознавания за доказательство.

В итоге

Очистка и преобразование данных — это невидимые, но решающие 80 процентов экономического анализа. Искусственный интеллект значительно ускоряет эту механическую работу; но вы должны прочитать каждый шаг очистки и каждое преобразование и вручную проверить хотя бы одно наблюдение. Решения по базе дефлятора, единицам измерения, частоте и выбросам являются экономическими решениями и не могут быть слепо оставлены на усмотрение искусственного интеллекта. Исследовательский анализ вводит данные, но корреляция не является причинно-следственной связью.

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

Загрузите фактический необработанный ряд (например, ежемесячный ИПЦ и ряд номинальной заработной платы/дохода). Создайте план уборки с помощью 1-го шаблона, сгенерируйте код с помощью 2-го шаблона и реализуйте серию с помощью 3-го шаблона. Затем рассчитайте реальную стоимость отдельного периода на бумаге и сравните ее с результатами искусственного интеллекта. Если вы обнаружите несоответствие, диагностируйте и исправьте его источник (базу/единицу) и отметьте прогресс.

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

  • [ ] Я рассмотрел и утвердил план очистки до написания кода.
  • [ ] По сообщению искусственного интеллекта, каждая строка была удалена/изменена; Никакого молчаливого удаления.
  • [ ] При заполнении недостающих данных вы можете спросить: «Почему там пусто?» Я ответил на вопрос.
  • [ ] Я исследовал, был ли выброс реальным событием или ошибкой данных.
  • [ ] При реализации я проверил, что база дефлятора и база результата совпадают.
  • [ ] Я вручную пересчитал конвертацию хотя бы одного периода.
  • [ ] Я не представил корреляции в EDA как причинно-следственные связи.