Визуализация: как погода могла повлиять на самоизоляцию

Всем привет! Меня зовут Паша Дубинин, в Яндекс.Облаке я развиваю сервис для анализа и визуализации данных – Yandex DataLens. Хочу познакомить вас с работой инструмента на актуальном примере — мы решили посмотреть, как погода (температура, облачность, осадки) могла быть связана с индексом самоизоляции. В тексте все расписано пошагово — изучив статью, каждый сможет создавать подобные дашборды со своими данными.

  • Подключения. Описание подключения к источнику данных, в данном случае это БД Clickhouse, развернутая в Яндекс.Облаке специально для хранения данных по коронавирусу;

Шаг 1. Работа с DataLens

Yandex DataLens — это инструмент для быстрой визуализации данных из разных источников и предоставления доступа к ним через дашборды. В рамках этого сервиса есть маркетплейс с готовыми наборами данных, дашбордами и коннекторы к другим системам. С ним мы сегодня и поработаем.

Для начала нужно перейти по ссылке, указав учетную запись Яндекс.Паспорт. Если до этого вы не пользовались сервисом, то для полноценной работы потребуется привязать банковскую карту и активировать бесплатный тариф Yandex DataLens. Для данного сценария нам достаточно бесплатного тарифа.

Шаг 2. Разворачиваем пресет Коронавирус: Дашборд и данные

Через маркетплейс развернем пресет (обновляемый набор данных + преднастроенный дашборд) с данными по коронавирусу:

Визуализация: как погода могла повлиять на самоизоляцию

Пресет состоит из:

  • Подключения. Описание подключения к источнику данных, в данном случае это БД Clickhouse, развернутая в Яндекс.Облаке специально для хранения данных по коронавирусу;
  • Датасетов. Каждый датасет создается на базе подключения и описывает конкретный набор данных, включая наименования полей и их описания, расчетные поля, логику агрегации данных, правила разграничения доступа к данным, регламент их материализации (механизм кэширования данных на стороне DataLens во встроенной БД Clickhouse);
  • Чартов. Отдельные графики, гео-визуализации и таблицы, которые строятся на датасетах;
  • Дашбордов. Информационные панели, с множеством чартов и общими селекторами для фильтрации данных.
Визуализация: как погода могла повлиять на самоизоляцию

«Коронавирус: дашборд» – это основной дашборд пресета. Можно его открыть и ознакомиться с актуальной статистикой распространения коронавируса и динамикой индекса самоизоляции. В папках «Статистика по миру», «Самоизоляция», «Статистика по России» также расположены соответствующие названиям датасеты и чарты.

Шаг 3. Разворачиваем пресет Погода

Аналогично предыдущему шагу развернем из маркетплейса бесплатный пресет Яндекс.Погоды.

Визуализация: как погода могла повлиять на самоизоляцию
Визуализация: как погода могла повлиять на самоизоляцию

Открыв дашборд «Погода», можно проанализировать исторические данные о погоде по городам с населением более 100 000 человек.

Шаг 4. Объединение датасетов и создание новой визуализации

Создадим новый чарт. Для этого через левую панель навигации перейдем в раздел «Датасеты», затем выберем датасет Isolation Daily:

Визуализация: как погода могла повлиять на самоизоляцию

Справа наверху нажимаем кнопку «Создать Чарт»:

Визуализация: как погода могла повлиять на самоизоляцию

Теперь работаем в конструкторе:

  • Меняем тип чарта на «Линейную диаграмму»;
  • Поле «Дата» перетаскиваем в секцию X;
  • Поле «Город» в секцию «Фильтры», выбираем, например, Москву;
  • Показатель «Индекс» перетаскиваем в раздел Y.
Визуализация: как погода могла повлиять на самоизоляцию

Мы получили график изменения индекса самоизоляции по Москве. По нему видно, например, что пик самоизоляции обычно приходится на воскресенье. Сохраним чарт, нажав на кнопку справа вверху и указав название.

Далее добавим к чарту еще один датасет «Weather»:

Визуализация: как погода могла повлиять на самоизоляцию

В появившемся диалоговом окне необходимо настроить связи между датасетами.

Связи должны быть выставлены автоматически по названиям атрибутов «Дата», «Город» и «Страна», поэтому можем нажать на кнопку «Сохранить» и вернуться в конструктор.

Визуализация: как погода могла повлиять на самоизоляцию

Теперь в списке датасетов у нас должно отображаться два датасета, выберем «Weather»:

Визуализация: как погода могла повлиять на самоизоляцию

Теперь мы можем обогатить наш график самоизоляции данными о погоде. Для этого перетащим:

  • показатель «Средняя температура» в раздел Y2;
  • измерение «Дата» в раздел «Фильтры» и сформируем условие «больше 21 Февраля 2020г» (именно с этой даты начал считаться индекс самоизоляции);

Мы должны получить подобную визуализацию:

Визуализация: как погода могла повлиять на самоизоляцию

Чем выше индекс самоизоляции, тем больше людей оставалось дома. Примечательно, что локальные максимумы температуры, например, 9 и 13 апреля являются локальными минимумами самоизоляции населения города.

Нажмите на кнопку «Сохранить как» справа вверху и выберите новое название для чарта, например, «Самоизоляция и Температура».

Далее заменим показатель «Средней температуры» сначала на «Облачность», затем на «Осадки» и «Максимальную температуру». Каждый из получаемых чартов сохраните в виде отдельного объекта используя кнопку «Сохранить Как» справа вверху.

Шаг 5. Создание дашборда

Теперь создадим дашборд, на котором разместим наши чарты с сопоставлением данных о погоде и самоизоляции.

Для этого, перейдя на главную страницу DataLens, нажимаем справа вверху Создать -> Дашборд. Указываем название и нажимаем «Создать». Открыв этот дашборд, выбираем справа вверху «Добавить»-> «Чарт» и последовательно добавляем созданные чарты:

Визуализация: как погода могла повлиять на самоизоляцию

Затем добавим селектор, с помощью которого можно будет выбирать города. Для этого нужно нажать «Добавить» -> «Селектор».

Далее выбрать Датасет – Isolation Daily, Поле – Город, ставим галочку на «Показывать» (для отображения названия селектора):

Визуализация: как погода могла повлиять на самоизоляцию

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

Визуализация: как погода могла повлиять на самоизоляцию

Вместо заключения

  • Каждый может повторить то же самое и это бесплатно;

  • Можно посмотреть данные по своему городу, а не только по Москве, как в примере;
  • Можно добавить еще свои данные, например, CSV-файл или подключение к БД;
  • Более детальная пошаговая инструкция для работы с DataLens здесь;

  • Сервис можно также использовать для анализа и визуализации корпоративных данных, как внутри организации (истории AnywayAnyDay, SevenTech), так и для внешних партнеров (история Edadeal).
22
2 комментария

Павел а когда планируется добавить возможность загрузки CSV из внешних источников? Вроде давно говорили, что планируется.

1
Ответить

Есть тикет для голосования за новые коннекторы, если есть желание можете принять участие)
https://cloud.yandex.ru/features/187

1
Ответить