Müşterileri 2 özelliğe ve Zaman serisine göre sınıflandırın


12

Tasarladığım bir algoritmada bir sonraki adımımın ne olması gerektiği konusunda yardıma ihtiyacım var.

NDA'lar nedeniyle fazla bir şey açıklayamıyorum, ancak genel ve anlaşılır olmaya çalışacağım.

Temel olarak, algoritmalarda birkaç adımdan sonra, bu var:

Sahip olduğum her müşteri ve bir ay boyunca yaptıkları etkinlikler için, ilk adımlar sırasında etkinlikleri birkaç kategoriye ayırdım (her müşteri, 1'den x'e 1 ila 25 arasında değişen kategorilere ayrılmış etkinliklere sahip olacak, genellikle ilk kategoriler diğerlerinden daha fazla etkinlik yoğunluğuna sahiptir).

Her kategori ve müşteri için, saatteki ayın olaylarını toplayan bir zaman serisi oluşturdum (bu olayların ne zaman yapıldığına dair kalıplar alıyorum). Ayrıca, bir ayın üzerindeki günlerin sayısına (30 gün) göre en az bir etkinlik gerçekleştiren birkaç normalleştirici değişken ve toplamda en az bir etkinlik içeren toplam gün boyunca en az bir etkinlik içeren gün sayısı kullanıyorum. olay (tüm kümeleri toplama). Birincisi bana müşterinin ay boyunca ne kadar aktif olduğunu, ikincisi ise kategoriyi diğerlerine göre ağırlıklandırıyor.

Son tablo şöyle görünür

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

Zaman serisi değişkenleri, her bir belirli kategorideki günlük toplam olayların yüzdesidir (bu, her bir satır için tüm değişkenleri toplayan 1 olması gerektiği anlamına gelir). Bunun böyle yapılmasının nedeni, örneğin olayları olan 0 0 0 1 0ve 1 1 1 2 1tamamen farklı olan ve normale standardize olan bir zaman serisinin benzer sonuçlar vermesidir. Farklı kategoriler arasındaki eğriltme nedeniyle, zaman serisindeki değerleri diğerleriyle bağımsız olarak kontrol ediyorum.

Şimdi yapmam gereken bu kategorileri tanımlamaktır (unutmayın, 1'den x'e 1'den 25'e kadar herhangi bir sayı olabilir) 3 etikete: etiket A, etiket B ve Hiçbiri. Bu değişkenlere bakarak, hangi etikete ait olduklarını manuel olarak belirleyebilirim ve fikir, elimden geldiğince manuel olarak tanımlamak ve bundan öğrenmek ve hepsini tanımlamak için herhangi bir sınıflandırıcı algoritması kullanmaktır.

Benim fikrim masada çoklu lojistik regresyonlar kullanmaktı, ama zaman serisinin tüm değişkenleri birbiriyle ilişkilidir (çünkü birbirlerinin lineer bir kombinasyonu oldukları için) öklid kullanarak sadece zaman serileri üzerinde bir kümeleme algoritması kullanmam gerektiğini düşündüm. farklı modelleri sınıflandıracak ve lojistik regresyonda sonucu ve diğer iki normalleştirici değişkeni kullanabilecek mesafe.

Sahip olduğum diğer endişe, bu yaklaşımın her satırı diğerlerinden bağımsız olarak alması ve teorik olarak, her müşteri için sadece 0 veya 1 etiket A, 0 veya 1 etiket B olması ve geri kalanının Yok (başka bir tane) olması gerektiğidir. ipucu normalde Etiket A ve B'nin ilk kategoriler arasında olmasıdır, çünkü normalleştirme özelliklerine büyük ölçüde bağımlıdır (toplamın üzerinde günler Yüksek ise, Zaman Serisi Deseni'ne bağlı olarak satırın A veya B olması olasılığı yüksektir) .

Düzenleme: Bu artık bir endişe değil, ben sadece iki farklı lojistik regresyon gerçekleştireceğim, biri Tag A veya Diğer ve diğeri Tag B veya başka, sonuç olasılıkları ile her biri sadece en iyi seçebilirsiniz.

Veri kümesi çok büyük ve son algoritmanın SQL (Teradata'da) kullanılarak uygulanması gerekiyor, ancak lojistik regresyon katsayılarını veya kümelenmenin merkezlerini almak için bir örnek alıyorum ve R kullanıyorum.


Sadece bir öneri :) ... soru bu kadar uzun olduğu sürece uygun bir cevap alıp alamayacağınızdan emin değilim. Örneğin, etiketleriniz tam olarak araştırma yönümdür ancak hepsini okumak için gerçekten zamanım ve enerjim yok! Daha kısa bir sürümü güncelleyebilirseniz, bilimsel raporlarda olduğu gibi sizin için ve Q için daha iyi olur, kısaca konuşmanız gerekir.
Kasra Manshaei

Soruyu azaltmaya çalışacağım. Sadece kendimi açıklamıyorsam insanlar istediğimi karıştırıyorlar. Her neyse, işime zaman alır
almaz

Tam sorunuz nedir? Sadece zaman serisinin özelliklerini hesaplar ve sonra bu özellikleri müşterilerin özelliklerine eklerdim. O zaman sadece temel kümelenmeye sahip olacaksınız. Zaman serilerinin özelliklerinin seçimi için alan bilgisi gereklidir.
Nikolas Rieble

Yanıtlar:


2

Sorunun yayınlanmasından bu yana bir süre geçtiğini biliyorum, ancak gelecekteki okuyucular için orantılı verilerin zaman serilerini, yani oran vektörlerini sınıflandırma problemine başka bir çözüm öneriyorum.

Gizli Markov Modelleri (HMM'ler) zaman serileri sınıflandırması için yaygın olarak kullanılmaktadır. Orijinal uygulamalar ayrık ve Gauss verileri için geliştirildi, ancak o zamandan beri daha fazla olasılık dağılımına genişletildi.

Bunlar arasında Dirichlet, genelleştirilmiş Dirichlet ve orantılı verilerle çalışmaya mükemmel şekilde uyan Beta-Liouville dağılımları.

Genellikle, her kategori için (bu sorudaki "Etiket") bir model, kategorinin bilindiği zaman serilerinden eğitilir. Yeni bir zaman serisinin sınıflandırılması gerektiğinde, her modele göre olasılığı hesaplanır. Yeni zaman serileri genellikle en yüksek olasılığa yol açan kategoriye atanır.

İşte bu modeller için onları daha derinden sunan ve uygulama için gerekli tüm denklemleri sağlayan referans kağıtları:

  • Dinamik Dirichlet Karışım Modeli, IDIAP, L. Chen, D. Barber, J.-M. Odobez, Nisan 2007
  • Kamusal alanlarda anomali tespitine uygulanan genel Dirichlet ve Beta-Liouville karışımlarına dayanan gizli Markov modelleri ile oransal veri modelleme, E. Epaillard, N. Bouguila, Örüntü Tanıma 55, s. 125-136, 2016

Soruda belirtilen ek iki özellik için, karışık veriler için HMM'ler aşağıdaki araştırma belgesinde de geliştirilmiştir: Karışık sürekli / sürekli ve ayrık / sürekli veri modellemesi için hibrit gizli Markov modeli, E. Epaillard, N. Bouguila, MMSP, 1-6, 2015.

Bu modeller, regresyon modellerine göre daha ağırdır, ancak ayrımcı ve üretken modeller olma ve işlenmiş verilerde bir miktar değişkenlik olduğunda iyi genelleme yapabilme avantajına sahiptir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.