///Визуализация данных -начало

Визуализация данных -начало

После того, как мы убедились, что визуализировать данные нужно, возникает вопрос: на что и как смотреть при решении реальных задач. Для ответа на это вопрос обязательно «нарисуйте для себя Ваши данные». Например, в стандартной задаче машинного обучения с учителем данные выглядят так, см. рис. 1.

Оглавление

| Аналитика бизнеса

После того, как мы убедились, что визуализировать данные нужно, возникает вопрос: на что и как смотреть при решении реальных задач. Для ответа на это вопрос обязательно «нарисуйте для себя Ваши данные». Например, в стандартной задаче машинного обучения с учителем данные выглядят так, см. рис. 1.

| Аналитика бизнеса

Рис. 1. Данные в задаче обучения с учителем

Здесь явно выделяются два типа «одноразмерных» данных:

1. Вертикальные

  • признаки, которые описывают объекты (как исходно заданные, так и сгенерированные нами)
  • целевой признак (его для удобства выделим отдельно)
  • ответы алгоритмов на заданной выборке (для обучающей выборке лучше говорить об OOB-ответах)
  • dummy-признаки (это признаки, которые по логике не стоит использовать: номер строки, столбец случайных чисел, категория данных: обучение, валидация или тест и т.п.)

2. Горизонтальные

  • объекты или измерения (например, в задачах с сигналами)
  • статистики признаков (средние, дисперсии и т.п.)
  • dummy-информация (номера признаков, их категории и т.п.)

Визуализировать можно любые из перечисленных типов данных отдельно. Например, для признаков посмотреть на распределение значений. На рис. 2 показано распределение возрастов клиентов мебельного магазина. Видно, что распределение имеет несколько локальных максимумов. Посмотрев как они располагаются, можно сделать несколько интересных выводов. Так, 30-40 лет — возраст, в котором сейчас в Москве чаще покупают свою квартиру и мебелируют её. Разница между пиками соответствует разнице возрастов родителей и детей, поэтому возможно оба пика это покупки 30-40-летних, просто оформленные или на себя или на своих родителей.

| Аналитика бизнеса

Рис. 2. Плотность распределения возрастов покупателей.

Главные советы при подобной визуализации:

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

Проиллюстрируем сказанное. На рис. 3 показано распределение целевого признака в задаче Kaggle Liberty. Смысл признака — сложность страхового случая, значения дискретны (1,2,3,..). Слева показана гистограмма распределения значений, построенная в matplotlib/Python с помощью стандартной функции hist с параметрами по умолчанию. Справа — число бинов (bins) выбрано равным числу значений признака (плюс для наглядности уменьшена ширина столбцов).

| Аналитика бизнеса

Рис. 3. Целевой признак в задаче Kaggle Liberty.

Что стало видно на правом графике? Во-первых, что функция распределения не монотонно убывает, а во-вторых, что значения целевого признака идут тройками, посмотрите: высокий столбец, средний, низкий, потом опять высокий, средний и низкий. Скорее всего, страховые случаи делятся по степени ущерба, каждая из которых делится ещё на три категории: низкий ущерб, средний и высокий. Заметим, что мы бы не увидели ничего подобного если бы использовали не гистограмму, а сглаженную функцию плотности (как на рис. 2).

Ещё одна иллюстрация разумности обозначенных выше советов приведена на рис. 4. Ящики с усами (box plots) используют часто, но на них не видны многие особенности данных. На рис. 4 две разные выборки имеют практически идентичные визуализации. Для визуализации одномерных данных лучше использовать обычные гистограммы (иногда, сглаженные функции плотности)!

| Аналитика бизнеса

Рис. 4. Схожие ящики с усами для разных распределений.

Визуализировать можно также любые «одноразмерные» данные попарно. На рис. 5 показана диаграмма рассеивания (скатерплот) для данных из задачи Kaggle Biological Response. В этой задаче все признаки анонимизированы и приведены на отрезок [0, 1]. Несмотря на то, что заказчик ничего не сказал про природу данных, о некоторых особенностях можно догадаться с помощью визуализации.

| Аналитика бизнеса

Рис. 5. Диаграмма рассеивания для данных Kaggle BR

Например, мы построили диаграмму рассеивания «номер признака» — «стандартное отклонение». Казалось бы, зачем использовать т.н. dummy-информацию (номера и категории признаков/объектов)?! Но из рис. 5 видно, что признаки идут группами: всего 5 групп (если увеличить масштаб, то можно и подгруппы разглядеть). Эта информация существенно облегчает построение модели, в частности, одну из групп можно полностью удалить без потери качества решения. Если Вы думаете, что такие выводы по картинкам полезны лишь в соревновательном анализе данных, то знайте, что недавно подобным образом в реальном проекте удалось найти странные зависимости, после чего заказчик «признался», что не всё рассказал о данных…

Диаграммы рассеивания удобны для анализа пар признаков. На рис. 6 показано, что можно заметить для какой-то пары признаков, с поправкой, что восприятие часто зависит от масштабов признаков и зашумлённости данных.

| Аналитика бизнеса

Рис. 6. Что можно заметить с помощью скатерплотов.

В современных библиотеках много способов визуализации двумерной выборки, но для целей разведывательного анализа и «плохих» данных (с выбросами) лучше подойдут обычные диаграммы рассеивания. На рис. 6 показана визуализация данных в координатах «рост»-«вес» задачи про сердечно-сосудистые заболевания. Особенности (выбросы и границы значений) видны лишь на первом графике. Кстати, часто вместо всей выборки имеет смысл визуализировать подвыборку (быстрее строится визуализация, лучше видна плотность скопления точек). Имеет смысл также удалять часть экстремальных значений (чтобы все точки были сконцентрированы в одной области и координаты не растягивались из-за выбросов).

| Аналитика бизнеса

Рис. 6. Разные способы визуализации двумерной выборки.

Если один из признаков категориальный, а другой вещественный, то лучше построить распределения по второму для разных значений категорий первого. На рис. 7 показана такая визуализация для пары признаков «зарплата» — «образование». Кстати, графики построены на реальных данных по Москве и иллюстрируют, «сколько в перспективе стоит высшее образование».

| Аналитика бизнеса

Рис. 7. Распределение по зарплате жителей Москвы.

Если использовать какие-то другие типы графиков, то часто бывает красивее, но непонятно и неудобно для анализа (см. рис. 8).

| Аналитика бизнеса

Рис. 8. Распределение по зарплате жителей Москвы.

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

| Аналитика бизнеса

Рис. 9. Скатерплот в координатах «разница» и «сумма» двух моделей на обучении и тесте

На рис. 9 показаны диаграммы рассеивания для ответов двух алгоритмов, построенные на обучающей выборке и тестовой. Для удобства система координат изменена: по горизонтали отложена разница ответов алгоритмов, а по вертикали — их сумма. Чётко видно, что точки, которые соответствуют ответам алгоритмов, иногда выстраиваются в отрезки. Важно понимать природу такого выстраивания. Часто это связано с особенностями кодирования и обработки категориальных признаков. Чтобы разобраться, достаточно взять объекты одного из отрезков и понять, что их связывает.

Для визуализации данных размерности больше 2, кроме (x,y)-координат приходится задействовать цвет, размер и форму объектов. По рис. 10 сразу становится понятно, что кодируют значения 1 и 2 признака gender в анонимизированных данных заказчика. Кстати, вместо легенды часто эффектней подписывать данные, как это сделано на рис.

| Аналитика бизнеса

Рис. 10.Рост и вес пациентов.

При подготовке данных для визуализации помните, что

  • Возможно, требуется предварительная очистка данных от выбросов
  • Возможно, требуется изменение шкалы (например, логарифмирование)

При создании рисунка помните, что, возможно, его кому-то придётся показывать

  • Подпишите график, оси, сделайте метки данным
  • Для объектов разной природы выберите цвета, которые и в градациях серого (например, при распечатке на чёрно-белом принтере) будут разными
  • Храните данные и код для получения картинки, а не только само изображение (в 99 случаях из 100 его придётся немного переделать)

Почитать еще

| Аналитика бизнеса

Визуальные коммуникации

Большое количество исследований— это еще и большое количество отчетов и презентаций. При разработке исследований мы

Несколько видео о наших продуктах

| Аналитика бизнеса
Проиграть видео
Презентация аналитической платформы Tibco Spotfire
| Аналитика бизнеса
Проиграть видео
Отличительные особенности Tibco Spotfire 10X
| Аналитика бизнеса
Проиграть видео
Как аналитика данных помогает менеджерам компании
2021-02-05T10:42:46+02:00