Работа с компонентом Заполнение пропусков

Качество данных является важным фактором, влияющим на результаты аналитической обработки и машинного обучения. Одной из типичных проблем загрязнения данных является наличие пропущенных значений (missing values). Пропуски в данных могут возникать по различным причинам: ошибки при сборе данных, технические сбои, отсутствие информации или намеренные пропуски в данных.

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

В демопримере показана работа узла Заполнение пропусков:

  • восстановление пропущенных значений с помощью среднего и медианы
  • заполнение пропусков в упорядоченных и неупорядоченных данных
  • групповая обработка
  • предобработка перед применением узла Кластеризация
  • другие методы заполнения пропусков

Запустить демо

Установить локально

Описание алгоритма

1. Импорт данных

Таблица Данные по температуре:

Имя Метка
 date Дата
region Регион
temperature_c Температура
 humidity_pct Влажность
 precipitation_mm Осадки
 wind_speed_ms Скорость ветра
 pressure_hpa Давление
 wind_direction Направление ветра
 visibility_km Видимость

2. Базовый пример

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

а) Выбор одного региона

В узле Выбор одного региона выполняется фильтрация по Московской области.

б) Заполнение пропусков 1

В подмодели Заполнение пропусков рассматривается восстановление пропущенных значений двумя способами: медианой и средним. В визуализаторе показаны результаты обработки.

в) Заполнение пропусков 2

В подмодели Заполнение пропусков показано, как настройка Допустимый процент пропусков влияет на заполнение пропусков в поле Видимость. Если доля пропусков в поле превышает заданное значение, заполнение не выполняется. В визуализаторе показаны результаты обработки.

3. Упорядоченные и неупорядоченные данные

В примере показано заполнение пропусков в упорядоченных и неупорядоченных данных.

а) Выбор одного региона

В узле Выбор одного региона выполняется фильтрация по Московской области.

б) Упорядоченный набор

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

в) Неупорядоченный набор

В подмодели демонстрируется заполнение пропусков в неупорядоченных данных методами случайного значения и предыдущего значения.

г) Слияние полей

В визуализаторе показывается, как изменяются результаты применения метода Заменять предыдущим значением в зависимости от того, были данные предварительно упорядочены или нет.

4. Групповая обработка данных

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

а) Выборка нужных полей

Выполняется отбор полей, которые будут использоваться в дальнейшей обработке.

б) Заполнение по всей выборке

В подмодели Заполнение по всей выборке для всей выборки используется метод линейной интерполяции, предназначенный для упорядоченных данных. Поэтому перед обработкой данные предварительно сортируются по дате.

в) Заполнение по группам (регионам)

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

г) Дополнение данных

В визуализаторе представлены фактические значения, результат заполнения пропусков по всей выборке и результат заполнения с учетом региона.

5. Предобработка для ML

Демонстрируется необходимость заполнения пропусков перед применением узла Кластеризация. В первом случае работа узла с пропусками вызывает ошибку, во втором — после заполнения пропусков ошибка не возникает.

а) Кластеризация с пропущенными значениями

Без узла Заполнение пропусков (или альтернативной очистки/удаления строк) в обучающих данных появится ошибка вида:

Кластеризация с пропущенными значенями: Пропущенные значения запрещены (пропущенное значение в колонке "temperature_c")

б) Заполнение пропусков

Подмодель Заполнение пропусков показывает групповую обработку данных в узле Цикл при подготовке к кластеризации. Данные сортируются по дате, после чего пропуски заполняются методом линейной интерполяции. Узел Цикл выполняет обработку отдельно для каждой группы.

в) Кластеризация с заполнением пропусков

Задача — на основе ежедневных метеорологических наблюдений выявить типичные погодные режимы с помощью методов кластеризации. Результатом является разбиение наблюдений на 4 кластера, соответствующих группам дней со сходными погодными характеристиками.

6. Другие методы заполнения пропусков

а) Температура (удалять записи)

Настройка позволяет исключать строки с пропусками из выходного набора данных.

б) Направление ветра (не задано)

Настройка позволяет заменить пропуски значением Не задано или же своим значением нажав на кнопку .... Работает только со строковым типом данных.

в) Температура (заменять на 0)

Настройка позволяет заменить null на 0 для нормализации данных и предотвращения ошибок вычислений.


Обработка пропусков в данных

Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2 (POPCNT, LZCNT).

Новости, материалы по аналитике, кейсы применения, активное сообщество