Klasifikasi Pelanggan berdasarkan 2 fitur DAN serangkaian acara Waktu


12

Saya perlu bantuan tentang apa yang harus menjadi langkah saya berikutnya dalam algoritma yang saya rancang.

Karena NDA, saya tidak bisa mengungkapkan banyak hal, tetapi saya akan mencoba menjadi generik dan dapat dimengerti.

Pada dasarnya, setelah beberapa langkah dalam algoritma, saya punya ini:

Untuk setiap pelanggan yang saya miliki, dan acara yang mereka lakukan selama sebulan, selama langkah pertama saya telah mengelompokkan acara menjadi beberapa kategori (setiap pelanggan akan memiliki acara yang dipisahkan menjadi kategori yang berubah dari 1 menjadi x menjadi x antara 1 hingga 25, umumnya kategori pertama memiliki lebih banyak rapat daripada yang lain).

Untuk setiap kategori dan pelanggan saya telah membuat serangkaian waktu yang menggabungkan peristiwa bulan per jam (mendapatkan pola kapan peristiwa ini dilakukan). Saya juga menggunakan beberapa variabel normalisasi berdasarkan jumlah hari lebih dari sebulan (30 hari) bahwa orang itu melakukan setidaknya satu peristiwa, dan jumlah hari dengan setidaknya satu peristiwa atas total hari dengan setidaknya satu acara (menggabungkan semua cluster). Yang pertama memberi saya rasio seberapa aktif pelanggan selama bulan itu, dan yang kedua menimbang kategori terhadap yang lain.

Tabel terakhir terlihat seperti ini

|*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   ...

Variabel deret waktu adalah persentase dari total peristiwa per hari pada setiap kategori tertentu (ini berarti bahwa per setiap baris yang menjumlahkan semua variabel harus 1). Alasan melakukannya seperti itu adalah karena misalnya deret waktu dengan peristiwa 0 0 0 1 0dan 1 1 1 2 1sangat berbeda, dan standarisasi normal akan memberikan hasil yang sama. Dan karena kemiringan yang tinggi antara kategori yang berbeda, saya memeriksa nilai pada deret waktu secara independen dengan yang lain.

Yang perlu saya lakukan sekarang adalah mengidentifikasi kategori-kategori ini (ingat, mereka dapat dari 1 hingga x menjadi angka dari 1 hingga 25) menjadi 3 tag: tag A, tag B dan Tidak Ada dari Mereka. Melihat variabel-variabel ini saya dapat secara manual mengidentifikasi tag milik mereka, dan idenya adalah untuk mengidentifikasi secara manual sebanyak yang saya bisa dan menggunakan algoritma classifier apa pun untuk belajar darinya dan mengidentifikasi semuanya.

Ide saya adalah menggunakan beberapa regresi logistik di atas meja, tetapi semua variabel dari deret waktu berkorelasi (karena mereka adalah kombinasi linear satu sama lain), jadi saya pikir saya lebih baik menggunakan algoritma pengelompokan hanya dari deret waktu menggunakan euclidean jarak untuk mengkategorikan pola yang berbeda dan menggunakan hasil dan dua variabel normalisasi lainnya dalam regresi logistik.

Kekhawatiran lain yang saya miliki adalah bahwa pendekatan ini mengambil setiap baris secara independen dari yang lain, dan secara teori, untuk setiap pelanggan hanya boleh ada 0 atau 1 tag A, 0 atau 1 tag B dan sisanya harus tidak ada (yang lain tip adalah bahwa biasanya Tag A dan B berada di antara kategori pertama, karena sangat tergantung pada fitur normalisasi (jika hari-hari di atas total adalah Tinggi, ada kemungkinan tinggi bahwa barisnya adalah A atau B, tergantung pada Pola Rangkaian Waktu) .

Sunting: Ini bukan lagi masalah, saya hanya akan melakukan dua regresi logistik yang berbeda, satu untuk Tag A atau Other dan satu lagi untuk Tag B atau yang lain, dengan probabilitas hasil saya hanya dapat memilih yang terbaik dari masing-masing.

Dataset sangat besar dan algoritma terakhir perlu diterapkan menggunakan SQL (pada Teradata), tetapi untuk mendapatkan koefisien regresi logistik, atau pusat-pusat pengelompokan saya mendapatkan sampel dan menggunakan R.


Hanya saran :) ... Saya tidak yakin apakah Anda mendapatkan jawaban yang tepat asalkan pertanyaannya panjang. Misalnya tag Anda adalah arah penelitian saya, tetapi saya benar-benar tidak punya waktu & energi untuk membaca semuanya! Jika Anda dapat memperbarui versi yang lebih pendek, akan lebih baik bagi Anda Q dan juga untuk diri Anda sendiri karena dalam pelaporan ilmiah Anda perlu membicarakannya secara singkat.
Kasra Manshaei

Saya akan mencoba mengurangi pertanyaan. Hanya itu biasanya jika saya tidak menjelaskan pada diri sendiri orang-orang bingung apa yang saya maksudkan. Ngomong-ngomong, begitu saya mendapatkan waktu untuk pekerjaan saya, saya akan mencoba mengurangi ukuran pertanyaan, terima kasih atas rekomendasinya
JusefPol

Apa pertanyaan Anda sebenarnya? Saya hanya akan menghitung fitur dari time-series dan kemudian menambahkan fitur ini ke fitur pelanggan. Maka Anda hanya akan memiliki pengelompokan dasar. Untuk pilihan fitur seri waktu, pengetahuan domain diperlukan.
Nikolas Rieble

Jawaban:


2

Saya tahu ini sudah lama sejak pertanyaan telah diposting tetapi untuk pembaca masa depan saya mengusulkan di sini solusi lain untuk masalah klasifikasi time-series data proporsional yaitu, vektor proporsi.

Hidden Markov Models (HMMs) secara luas digunakan untuk klasifikasi deret waktu. Implementasi asli dikembangkan untuk data diskrit dan Gaussian tetapi sejak itu, mereka telah diperluas ke distribusi probabilitas yang lebih besar.

Di antara mereka, Dirichlet, Dirichlet umum, dan distribusi Beta-Liouville yang sangat cocok untuk bekerja dengan data proporsional.

Biasanya, model dilatih untuk setiap kategori ("Tag" dalam pertanyaan ini) dari seri waktu yang kategorinya diketahui. Ketika sebuah time-series baru harus diklasifikasikan, kemungkinannya sehubungan dengan masing-masing model dihitung. Rangkaian waktu baru biasanya ditugaskan ke kategori yang mengarah ke kemungkinan tertinggi.

Berikut adalah makalah referensi untuk model-model ini yang mempresentasikannya secara lebih mendalam dan menyediakan semua persamaan yang diperlukan untuk implementasi:

  • Model Campuran Dirichlet Dynamical, Laporan Penelitian dari IDIAP, L. Chen, D. Barber, J.-M. Odobez, April 2007
  • Pemodelan data proporsional dengan model Markov tersembunyi berdasarkan campuran Dirichlet dan Beta-Liouville yang diaplikasikan untuk deteksi anomali di area publik, E. Epaillard, N. Bouguila, Pattern Recognition 55, pp 125-136, 2016

Untuk dua fitur tambahan yang disebutkan dalam pertanyaan, HMM untuk data campuran juga telah dikembangkan dalam makalah penelitian berikut: Model Markov tersembunyi hibrida untuk pemodelan data kontinu / diskrit / kontinyu / diskrit gabungan, E. Epaillard, N. Bouguila, MMSP, hlm 1-6, 2015.

Model-model ini lebih berat daripada penyebaran model regresi tetapi memiliki keuntungan menjadi model diskriminatif dan generatif dan untuk dapat menggeneralisasi dengan baik ketika beberapa variabilitas hadir dalam data yang diproses.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.