Класифікуйте клієнтів на основі 2 особливостей та часової серії подій


12

Мені потрібна допомога щодо того, яким повинен бути наступний крок у алгоритмі, який я розробляю.

Через NDAs я не можу розкрити багато, але я постараюся бути загальним і зрозумілим.

В основному, після кількох кроків в алгоритмах, я маю це:

Для кожного клієнта, який я маю, і події, які він проводить протягом місяця, під час перших кроків я поділив події на кілька категорій (кожен клієнт розділить події на категорії, що переходять від 1 до x, а х від 1 до 25, зазвичай перші категорії мають більшу щільність подій, ніж інші).

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

Фінальний стіл виглядає приблизно так

|*Identifier*|  *firstCat* | *feature1* | *feature2*  |   {      *(TIME SERIES)*   }

CustomerID  |  ClusterID |  DaysOver30 | DaysOverTotal | Events9AM Events10AM ... 

 xx | 1 | 0,69 |  0,72 |  0,2   0,13   ...

 xx | 2 | 0,11 |  0,28 |  0,1   0,45   ...

 xy | 1 | 0,23 |  0,88 |  0,00  0,60   ...

 xy | 2 | 0,11 |  0,08 |  1,00  0,00   ...

 xy | 3 | 0,10 |  0,04 |  0,40  0,60   ...

Змінні часового ряду - це відсоток від загальної кількості подій на день для кожної конкретної категорії (це означає, що в кожному рядку, що додає всі змінні, має бути 1). Причина робити це так, тому що, наприклад, часовий ряд з подіями 0 0 0 1 0і 1 1 1 2 1зовсім інші, а стандартизація до нормальної дала б аналогічні результати. І завдяки високому перекосу між різними категоріями я перевіряю значення часового ряду незалежно від інших.

Що мені зараз потрібно зробити - це визначити ці категорії (пам’ятайте, що вони можуть бути від 1 до x, це будь-яке x, будь-яке число від 1 до 25) у 3 теги: тег A, тег B і жодна з них. Дивлячись на ці змінні, я можу вручну визначити, до якого тегу вони належать, і ідея полягає в тому, щоб ідентифікувати вручну стільки, скільки я можу, і використовувати будь-який алгоритм класифікатора, щоб дізнатися з цього і ідентифікувати їх усіх.

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

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

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

Набір даних величезний, і остаточний алгоритм потрібно застосувати за допомогою SQL (на Терадаті), але для отримання коефіцієнтів логістичної регресії або центрів кластеризації я отримую вибірку і використовую R.


Лише пропозиція :) ... Я не впевнений, чи отримаєте ви належну відповідь, поки питання таке тривале. Наприклад, ваші теги - це саме мій напрямок досліджень, але я справді не маю часу та енергії, щоб прочитати все це! Якщо ви можете оновити більш коротку версію, це буде краще для вас Q, а також для вас самих, як у науковій звітності вам потрібно коротко розповісти про речі.
Касра Маншаї

Я спробую зменшити питання. Це як правило, якщо я не пояснюю себе, люди плутають те, що я задумав. У будь-якому випадку, як тільки я
знайду

Яке точне запитання? Я б просто обчислити особливості часових рядів, а потім додати ці функції до функцій клієнтів. Тоді у вас буде просто основна кластеризація. Для вибору особливостей часових рядів необхідні знання домену.
Nikolas Rieble

Відповіді:


2

Я знаю, що минуло з часу опублікування питання, але для майбутніх читачів я пропоную тут ще одне рішення проблеми класифікації часових рядів пропорційних даних, тобто векторів пропорцій.

Моделі прихованих марків (HMM) широко використовуються для класифікації часових рядів. Початкові реалізації були розроблені для дискретних та гауссових даних, але з тих пір вони поширюються на більше розподіл ймовірностей.

Серед них дирихлет, узагальнений дирихлет та дистрибутив Бета-Ліувіль, які цілком підходять для роботи з пропорційними даними.

Зазвичай модель готується для кожної категорії ("Тег" у цьому питанні) із часових рядів, для яких категорія відома. Коли необхідно класифікувати новий часовий ряд, його ймовірність щодо кожної моделі обчислюється. Новий часовий ряд зазвичай віднесений до тієї категорії, що веде до найбільшої ймовірності.

Ось довідкові документи для цих моделей, які їх глибше представляють та надають всі рівняння, необхідні для впровадження:

  • Динамічна модель суміші Діріхле, Доповідь про дослідження IDIAP, Л. Чен, Д. Барбер, Ж.-М. Одобез, квітень 2007 року
  • Пропорційне моделювання даних із прихованими моделями Маркова на основі узагальнених сумішей Діріхле та Бета-Ліувілля, застосованих для виявлення аномалій у громадських місцях, Е. Епайлард, Н. Бугуйла, Розпізнавання візерунків 55, стор 125-136, 2016

Для додаткових двох особливостей, згаданих у питанні, ГММ для змішаних даних також були розроблені в наступному дослідницькому документі: Гібридна прихована модель Маркова для змішаного безперервного / безперервного та дискретного / безперервного моделювання даних, Е. Епайлард, Н. Бугуйла, ММСП, С. 1-6, 2015.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.