Как создать визуализацию графа временных рядов сети на Python

Создание визуализации графа временных рядов сети на Python Простые шаги для достижения

Используйте Plotly и NetworkX для отображения эволюции сети со временем

Визуализация изменений в связях с выбранным врачом со временем

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

Для этой статьи мы создадим пример, используя набор данных о мошенничестве в здравоохранении с Kaggle dataset. (Этот набор данных в настоящее время имеет лицензию CC0: общественное достояние на Kaggle. Обратите внимание, что этот набор данных может быть неточным, и он используется в этой статье только для демонстрационных целей).

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

Убедитесь, что у вас установлены библиотеки Plotly и NetworkX в вашей виртуальной среде Python.

Если вы хотите узнать эффективный способ визуализации эволюции сети со временем, продолжайте чтение!

Выводы из набора данных

Этот набор данных содержит в общей сложности 82,063 различных врачей, из которых 20,592 имеют хотя бы одну мошенническую претензию. В то время как большинство из этих врачей имеют всего несколько мошеннических претензий, есть небольшая часть, которые являются проворными мошенниками.

Топ 25% врачей имеют не менее 5 претензий, и самым грубым примером является врач с 2,534 мошенническими претензиями!

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

Поиск связей

Допустим, у нас есть врач. Что если мы можем найти его связи с другими врачами, которые также имеют мошеннические претензии на определенное количество прыжков?

Для этого мы напишем функцию, которая принимает DataFrame с данными о претензиях, AttendingPhysician (строка)…