Тимчасові карти

активності

Незважаючи на те, що гістограма дає загальне уявлення про відвідування, детальна інформація про розподіл відвідувань у межах кожного інтервалу повністю прихована. Можна збільшити масштаб гістограми, розбивши дані більш короткі часові інтервали, і вибрати певний фрагмент для аналізу. Але в яких межах потрібно збільшити масштаб і який саме фрагмент слід вибрати для аналізу? Наприклад, якщо розбити дані на інтервали завдовжки один день, ми отримаємо приблизно 210 інтервалів. Пошук закономірностей та аномалій із застосуванням різних масштабів зажадав би серйозних часових витрат.

Наприкінці статті наведено приклад коду на Python.

Створення тимчасової карти – нескладне завдання. По-перше, представимо серію подій у вигляді точок на осі часу. Тимчасові інтервали між подіями позначені як t1, t2, t3, t4 і т.д.

Тимчасова карта є двовимірною точковою діаграмою, де координатами подій є наступні пари: (t1, t2), (t2, t3), (t3, t4) і т.д. На тимчасовій карті фіолетова точка буде побудована таким чином:

інтервали

Time Before Event – ​​час до події

Time After Event – ​​час після події

Іншими словами, кожна точка на точковій діаграмі є подією. Координата x цієї події – інтервал часу між даною подією та попередньою подією. Координата y цієї події – інтервал часу між даною подією та наступною подією. На тимчасовій карті неможливо відобразити лише першу та останню подію послідовності.

Давайте розглянемо два простих приклади:

карти

Тимчасова карта послідовності подій, що відбуваються через рівні інтерваличасу (A) містить одну точку, оскільки координати всіх подій рівні. Послідовність B аналогічна послідовності A, крім незначних змін. В результаті тимчасова карта містить 4 точки, що дозволяє легко виявити зміщення подій у часі. Гістограми для послідовностей A і B без застосування дуже великого масштабу часу були б абсолютно однаковими, приховуючи тим самим зміни, що відбулися.

Нижче наведено евристична діаграма, що допомагає інтуїтивно зрозуміти логіку тимчасових карт:

тимчасові

slowing down – уповільнення

slow & steady – стабільно повільно

fast & steady – стабільно швидко

speeding up – прискорення

У кожному квадранті зображено вісь часу та події у вигляді точок на ній. У правому верхньому та лівому нижньому квадрантах часові інтервали між подіями однакові, тому вони названі «стабільними». У лівому нижньому квадранті події відбуваються через малі інтервали часу, тобто стабільно швидко. У правому верхньому квадранті події відбуваються через великі інтервали часу, тобто стабільно повільно. У правому нижньому квадранті після першої події має місце великий інтервал, а потім дві події відбуваються з малим інтервалом. Тут спостерігається прискорення. У верхньому лівому квадранті дві перші події відбуваються з малим інтервалом, а потім перед третьою подією має місце великий інтервал. І тут відбувається «уповільнення». Тимчасова карта трохи схожа на карту незнайомого міста: спочатку здається незрозумілою, а потім абсолютно природною.

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

Твіти Білого дому

активності

Time Before Tweet – час до твіту

Time After Tweet - час після твіту

first tweet of the day – перший твіт дня

last tweet of the day – останній твіт дня

business as usual – звичайні події

major event – ​​важливі події

Колір кожного твіту відповідає часу доби, а осі мають логарифмічний масштаб. Дві групи точок є початок і кінець робочого дня, як мінімум, щодо твітів. Перший твіт зазвичай з'являється з 9-ї години ранку до полудня. Останній твіт може з'явитися у ширшому часовому інтервалі.

Також на тимчасовій карті є дві інші групи точок, що характеризують дві різні моделі поведінки. У групі під назвою «звичайні події» твіти публікуються з інтервалом близько години. У групі під назвою «важливі події» твіти з'являються набагато меншими інтервалами, що відповідає їх специфіці.

Оскільки нам важко підрахувати кількість точок у кожній групі, ми перетворили тимчасову карту на теплокарту (heat map), де червоний колір відповідає вищої щільності точок.

активності

На теплокарті ми можемо бачити окремі точки. При цьому ми також отримуємо додаткову інформацію про щільність точок, зокрема в тих областях, де вони розташовані дуже близько один до одного. Як бачите, найбільша кількість твітів є у групі «звичайні події», що узгоджується з її назвою.

Персональні твіти

карти

Інтернет-бот

Інтернет-боти – це комп'ютерні програми, які виконують різні автоматизовані завдання у мережі Інтернет. Бот може непомітно встановити на комп'ютер при натисканні посилання, якщо користувач дозволить запуск незнайомої програми. Без відома користувачів роботи працюють на мільйонах персональних комп'ютерів. Один з них може навіть працювати на вашому комп'ютері безпосередньо в момент, коли ви читаєте цю пропозицію! Ми проаналізували дані, надані компанією, яка надає послуги моніторингу різним веб-сайтам. Давайте розглянемо гістограму, представлену на початку статті:

активності

тимчасові

Time Before Visit – час до відвідування

Time After Visit – час після відвідин

dormant periods between bursts – тривалі інтервали між сплесками активності

burst followed by 8-minute lull – 8-хвилинні інтервали після сплесків активності

8-хвилинні lull followed by burst – 8-хвилинні інтервали перед сплесками активності

rapid burst – сплески активності (відвідування з малими інтервалами)

Характер активності, який ми спостерігаємо на часовій карті, не властивий людині. Відразу ж кидаються у вічі характерні риси: група точок, відповідна шаблону «стабільно швидко»; дві вузькі групи точок, що відповідають «прискоренню» та «уповільненню»; і, нарешті, невелика кількість точок, розсіяних за межами груп.

Розсіяні точки в правому нижньому та лівому верхньому кутах являють собою тривалі інтервали між сплесками активності. Ці інтервали відповідають порожнім просторам на гістограмі. Дві вузькі групи точок становлять 8-хвилинні інтервали між сплесками активності. Самі сплески активності представлені великою групою точок у нижньому лівому кутку. Наявністьсплесків активності можна підтвердити, проаналізувавши фрагмент гістограми у дуже великому масштабі:

тимчасові

Як і очікувалося, ми спостерігаємо сплески активності з інтервалом близько 8 хвилин. Таким чином, інформацію, отриману за допомогою тимчасової карти, можна було б отримати і за допомогою гістограми, але кому б спала на думку використовувати такий великий масштаб?! Тимчасова карта дозволила миттєво виявити сплески активності, характерні для робота, і, на відміну від гістограми, нам не знадобилося масштабування.

Створення тимчасових карт на Python

Нижче наведена проста програма на Python для створення тимчасової карти. Наприклад використані дані, згенеровані випадковим чином.

Тепер давайте перетворимо тимчасову картку на теплокартку. Далі ми використовуватимемо дані з попереднього фрагмента коду. Розіб'ємо тимчасову карту на комірки і створимо двовимірну матрицю, що містить інформацію про кількість подій у кожному комірці. Матрицю розглядатимемо як зображення. Застосуємо до матриці розмиття Гауссом, щоб згладити різкі переходи, і виведемо її на екран у графічному представленні.

Код Python для завантаження твітів і створення тимчасових карт можна знайти на GitHub.

Висновок

Ми розглянули три приклади, які демонструють аналітичний потенціал тимчасових карток. У всіх прикладах вони дозволили миттєво виявити важливі закономірності, пошук яких за допомогою гістограм зайняв би тривалий час. У цьому тимчасові карти, безумовно, не замінюють інші методи візуалізації, лише доповнюють їх. Щоб досягти максимальної ефективності, візуальний аналіз повинен включати застосування як тимчасових карт, так і інших підходів. Наприклад, і тимчасові карти, і гістограми відображають важливіаспекти даних, отже, слід використовувати спільно.

Пікассо відтворював цілісний образ об'єкта, зображуючи його під різними перспективами одному полотні. Подібним чином тимчасові карти візуалізують дані в різних масштабах тимчасових на одній діаграмі. Враховуючи легкість їх застосування та здатність виявляти приховані особливості даних, тимчасові карти мають стати незамінним інструментом у сьогоднішньому світі, яким все більше керують дані.