Визуализация графа
Теория и визуальное описание (зачем нужен граф, по какому принципу он работает)
Всего одно наглядное изображение может заменить тысячу слов. Но граф — это гораздо больше, чем просто изображение. Графы — это математические структуры, используемые для изучения парных отношений между объектами.
Граф состоит из двух частей: узлы, которые содержат данные и дуги, которые соединяют узлы друг с другом. Каждый узел может быть соединён с любым другим.
Представление данных в форме графов помогает нам визуализировать идеи и принимать более обоснованные решения на основе графически интерпретируемых данных.
Преимущества анализа данных с использованием графов:
- Большая часть данных, с которыми мы сталкиваемся, взаимосвязана, и необходимо использовать сущности, способные это учитывать;
- Графы крайне удобны и понятны для человека;
- Аномалии, как правило, связаны друг с другом (особенно при рассмотрении фрода);
Применение графов в анализе данных:
- Банковские операции – графы можно использовать для поиска необычных шаблонов, помогающих смягчить мошеннические транзакции;
- Логистика – графы помогают определить оптимальные маршруты, места для складов и центров доставки;
- Телеком – Телекоммуникационные компании обычно используют графы (диаграммы Вороного), чтобы понять количество и расположение вышек сотовой связи, чтобы обеспечить максимальное покрытие;
- Маркетинг – графы могут быть использованы для определения наиболее влиятельных людей в социальной сети. Рекламодатели и маркетологи могут оценить наибольшую отдачу от маркетинговых затрат, направив свое сообщение через самых влиятельных людей в социальной сети.
Технические особенности применения (ограничения текущей реализации);
Граф - это расширение. Если доступ к QlikView-документу осуществляется через QlikView Desktop, то должен быть активирован режим "WebView" (кнопка на верхней панели). Открытие QlikView-документа в AJAX-клиенте, то есть открытие с помощью браузера, дает возможность перетаскивания и выборки узлов графа на рабочем поле. Также при данном открытии на рабочем поле отображается панель навигации:
*При использовании расширения в Qlik Sense данного ограничения нет, так как Qlik Sense работает только через AJAX-клиент и не имеет Desktop версии.
Принцип работы расширения можно описать тремя шагами:
- Расширение из Qlik с помощью API передает в JS-функцию гиперкуб с данными;
- JS-функция отрисовывает объект визуализации и направляет его обратно в расширение также с помощью API;
- Расширение отображает готовый граф на листе приложения.
Гиперкуб кастомизируется под специфику конкретной реализации – где-то нужно визуализировать суммы платежей, где-то количество заявок. Это все указывается в коде расширения, но его сам гиперкуб можно разделить на две логические части:
- Параметры графа (цвета вершин/связей, их наименования, подписи и т.д.);
- Рассчитанные показатели (непосредственные связи вершин и их вес, вспомогательные показатели и т.д.).
Есть два возможных варианта использования данного расширения у новых клиентов:
- Корректировка готовых реализаций под структуру данных нового заказчика;
- Корректировка структуры данных нового заказчика под готовые реализации.
*можно сказать, что относительно предыдущей, каждая новая реализация подвергалась достаточно большому объему кастомизации
Универсальное применение расширения на двух платформах Qlik Sense и QlikView невозможно, так как API этих платформ различаются. Когда разрабатывалось первое приложение для Qlik Sense, за основу была взята реализация на базе QlikView – но код взаимодействия библиотеки отрисовки графа с движком Qlik все равно пришлось полностью переписывать.
Примеры реализации (использование в проектах)
Банк. Анализ операция и связей юридических лиц (QlikView)
Приложение позволяет анализировать детальную информацию о платежах, связи между отправителями и получателями, справочную информацию о клиентах, а также возможность отбирать их, путем задания пороговых значений по ключевым показателям.
Граф представляет собой диаграмму связей между контрагентами. Узлы – контрагенты, связи – дебет и кредит (операции). Узел зеленого цвета – рассматриваемый контрагент (может быть несколько), белого – клиент банка (присутствует в справочнике контрагентов), серого – не клиент банка (отсутствует в справочнике контрагентов). Связь зеленого цвета – дебет, красного – кредит, желтого – операция между рассматриваемыми контрагентами. Визуализация узла графа содержит в себе наименование клиента (рег. номер) и ИНН, визуализация связи графа содержит сумму операции.
Фильтры:
- Период
- Контрагент
- Плательщик
- Получатель
- Операция
- Офис
-
Клиенты банка:
- Наименование
- Рег.номер
- Счет
- ИНН
- IP-адрес
- Дата регистрации
- Дата создания карточки
- Дата регистрации в ЕГРЮЛ
- ФИО должностного лица
- ФИО связанного лица
Триггеры для поиска связей по операциям:
- Налоговая нагрузка, %
- Срок жизни компании, лет
- По адресу зарегистрировано организаций
- Входы с одного IP-адреса
- Перечисление средств на счет ИП, %
- Перечисление средств на счет ФЛ, %
- Снятие наличных с корпоративной карты, %
- Наличие в компании общих должностных лиц
- Наличие в компании общих представителей
- Сума платежей, руб
- Кол-во контрагентов
- Перечисление на счет корпоративных карт, руб
- Клиенты с новыми счетами, месяцев
Показатели:
- Оборот по дебету, руб
- Оборот по кредиту, руб
- Клиентов по дебету
- Клиентов по кредиту
- Налоговая нагрузка, %
- Перечисления на счета ИП, руб
- Перечисления на счета ФЛ, руб
- Снятие наличных с корп. карты, руб
- Перечисление на корп. карту, руб
Банк. Аллокация ИТ (QlikView)
Приложение позволяет анализировать детальную информацию о распределении затрат на ИТ по потребителям, группам затрат, а также определенным правилам МВЗ.
Граф представляет собой диаграмму связей между распределениями затрат на ИТ. Узлы – группы и причины затрат, связи – суммы затрат. Узел оранжевого цвета – рассматриваемая причина затрат, зеленого – группа затрат, синего – объект затрат. Для всех связей используется один цвет – синий. Каждая визуализация узла графа содержит в себе наименование соответствующего объекта, визуализация связи графа содержит точную сумму затрат.
Фильтры:
- Период
- Номер проводки
- Тип
- Роль
- Подразделение
- Категория затрат
- Группа затрат
- Объект затрат
- Причина затрат
Показатели:
- Сумма и распределение расходов, руб
- Динамика расходов, руб
- Сравнение расходов, руб
- Количество проводок
Недвижимость. Аналитика продаж (Qlik Sense)
Приложение с помощью графа демонстрирует связи кросс-продаж между внутренними отделами компании. Узел – это отдел компании, связь – кросс-заявки. Показателем для связи узлов может выступать, как количество заявок, так и их общая сумма (для этого используется отдельный переключатель). У каждого графа отдела есть свой уникальный цвет.
Фильтры:
- Период
- Инициатор
- Получатель
Показатели:
- Количество кросс-заявок
- Сумма кросс-заявок, руб
Банк (Qlik Sense)
Приложение является проектом для Банка, которое на примере их структуры данных демонстрирует возможность аналитики платежей клиентов с помощью графов. Приложение отображает связи между отправителями и получателями, справочную информацию о клиентах, а также возможность отбирать их, путем задания порогового значения суммы платежа.
Граф представляет собой диаграмму связей между контрагентами. Узлы – контрагенты, связи – дебет и кредит (платежи). Узел синего цвета – рассматриваемый контрагент, желтого – получатель или отправитель платежа. Связь оранжевого цвета – дебет, синего– кредит. Визуализация узла графа содержит в себе наименование клиента, визуализация связи графа содержит сумму операции.
Фильтры:
- Контрагент
- ID платежа
- Банк плательщика
- Банк получателя
- Минимальная сумма платежа, руб
Показатели:
- Сумма платежа, руб
- Перечислено денег из сторонних банков, руб
- Перечислено денег в сторонние банки, руб
- Перечислено денег внутри банка, руб