Dinamik Zaman Çözgü Kümeleme


40

Zaman serilerinin kümelenmesini gerçekleştirmek için Dinamik Zaman Sıyırma (DTW) kullanma yaklaşımı ne olurdu?

DTW'yi, iki zaman serisi arasında benzerlik bulmanın, zaman içinde kaydırılabileceklerini bulmanın bir yolu olarak okudum. Bu yöntemi k-means gibi kümeleme algoritması için benzerlik ölçüsü olarak kullanabilir miyim?


2
evet, k için bir girdi olarak benzerlik ölçüsünü kullanabilirsiniz, kümeleme anlamına gelir ve ardından verilerinizdeki grupları belirlersiniz.
tahminci

Cevabınız için teşekkür ederim efendim. Her yineleme için, her bir (centroid, clustering point) çift için uzaklık matrisini oluşturmalıyım ve centroidleri standart şekilde kümeye ait tüm serilerin ortalaması olarak yeniden hesaplamalıyım?
Marko

1
Aşağıdaki cevap Aleksandr Blekh R. bu nasıl yapılacağına ilişkin ayrıntılı bir örneğe sağlayan bir blog yazısı var
tahminci

2
@forecaster do not DTW ile k-ortalama kullanın. k-aracı, mesafeleri değil, farkı en aza indirir. Varyans, kare ökliddir, ancak bu, k-araçlarının diğer mesafeleri optimize edebileceği anlamına gelmez. Ortalama değildir ve DTW'de, dengelenmiş bir sinüs dalgası gibi karşı örnekler oluşturmak oldukça kolay olmalıdır : her ikisi de DTW ile çok benzerdir, ancak ortalamaları sabit sıfırdır - her ikisi de birbirine çok benzer. π
Anony-Mousse

1
K-aracı, zaman serileri kümelemesi için uygun bir algoritma değildir. Ayrık, uzunlamasına veriler için gizli markov modelleri uygundur. Oded Netzer'in (Columbia) ve Steve Scott'ın (Google) ana katkılarının yanı sıra, bu konuda şu anda birkaç kitap var. Bir başka yaklaşım, Max Planck'ta Andreas Brandmaier tarafından geliştirilen permütasyon dağılımı kümelenmesi olarak adlandırılan bilgi-teorik yöntemdir. Ayrıca bir R modülü yazdı. Küme çözümlerinin karşılaştırılması farklı bir konudur. Marina Meila'nın makalesi, Kümelenmeleri Karşılaştırma, Washington Statistics Teknoloji Raporu 418 U en iyisidir.
Mike Hunter,

Yanıtlar:


33

Do not timeseries için k-ortalama kullanın.

DTW olan olmayan ortalama en aza; k-aracı yakınsak olmayabilir ve yakınsak bile çok iyi bir sonuç vermez. Ortalama, koordinatlarda en küçük kareler tahmincisidir. Keyfi mesafeleri değil, varyansı minimize eder ve k-araçları, keyfi mesafeleri değil , varyansı minimize etmek için tasarlanmıştır .

İki zaman seriniz olduğunu varsayalım. Aynı frekansta iki sinüs dalgası ve oldukça uzun bir örnekleme periyodu; ama ile dengelendiler . DTW zaman atlattığından, onları başlangıç ​​ve bitiş hariç tam olarak eşleşecek şekilde hizalayabilir. DTW, bu iki seriye oldukça küçük bir mesafe atayacaktır. Ancak, iki dizinin ortalamasını hesaplarsanız, düz bir 0 olacaktır - iptal ederler. Ortalama yok değil dinamik bir zaman atlatılması yapmak ve DTW var hepsi değerini kaybeder. Bu gibi verilerde, k-aracı yakınsak olmayabilir ve sonuçlar anlamsız olacaktır. K-araçları gerçekten sadece varyanslarla (= kare Euclidean) veya eşdeğer olan bazı durumlarda (kosinüs gibi, L2 normalize edilmiş verilerde, kosinüs benzerliği olduğunda kullanılmalıdır)π kare kare Öklid mesafesi ile aynı )2-

Bunun yerine, DTW kullanarak bir mesafe matrisi hesaplayın, sonra tek bağlantı gibi hiyerarşik kümelemeyi çalıştırın. K-araçlarının aksine, seri farklı uzunluklarda bile olabilir.


4
Elbette, keyfi mesafelerle çalışan PAM (K-medidler) var. Keyfi mesafeleri destekleyen birçok algoritmadan biri - k-anlamıyor. Diğer seçenekler: DBSCAN, OPTICS, CLARANS, HAC, ...
Anony-Mousse

1
Muhtemelen. Çünkü k-medoidler küme merkezini bulmak için DTW-medoid kullanıyor, L2 ortalamasını değil. Gerçek dünyadaki zaman serilerinde başarılı bir şekilde kümelenmeyi bilmiyorum. Ben gazeteleri gördün, ama hiçbiri gerçekten inanıyorsanız kullanılan sonucu. Sadece kavramların ispatı.
Anony-Mousse

1
@Aleksandr Blekh bunu örneklerinden biri olarak verdi nbviewer.ipython.org/github/alexminnaar/… Bu konudaki fikriniz nedir?
Marko

1
Oyuncak problemleri. Gerçek dünyada işe yaramaz. Gerçek veriler, pürüzsüz sinüs eğrilerinden ve bu verilerde sunulan desenlerden çok daha fazla acı verecek kadar çok gürültüye sahiptir.
Anony-Mousse,

1
Bence hiyerarşik kümelenme daha iyi bir seçimdir. Zaten çok sayıda seriyi işleyemezsiniz.
Anony-Mousse,

49

Evet, zaman serilerinin sınıflandırılması ve kümelenmesi için DTW yaklaşımını kullanabilirsiniz . Bu konuya odaklanan aşağıdaki kaynakları derledim (yakın zamanda benzer bir soruyu cevapladım, ancak bu sitede değil, bu yüzden içeriğini herkesin rahatlığı için buraya kopyalıyorum):


2
+1 mükemmel makale ve blog koleksiyonu. Çok iyi referanslar.
tahminci

@forecaster: Nazik ve nazik sözlerin için teşekkür ederim! Koleksiyonunu sevdiğin için sevindim. Şu an için tahminleri ve birçok istatistik ve veri bilimi alanını daha ciddiye almaya vaktim olmadığı için çok üzücü, ancak her fırsatı yeni bir şey öğrenmek için kullanıyorum.
Aleksandr Blekh,

1
@AleksandrBlekh Cevabınız için çok teşekkür ederim, Anony-Mousse ile bu yaklaşım hakkında görüşüyorum, çünkü DTW ile K-aracı için benzerlik ölçüsü olarak özellikle ilgileniyorum, bu yüzden çıktı olarak centroidler alabiliyorum. Fikriniz ve onunla ilgili deneyiminiz nedir? Gördüğünüz gibi Anony-Mousse, bu durumda sonuçların çok iyi olamayacağına dair bazı argümanlar verdi ... Belki de pratik bir konuda kişisel deneyim.
Marko

1
Tamam, tekrar teşekkürler. Benden +1 değerine sahipsiniz ve sorumu kabul görüyor, çünkü sorum k-araç ve DTW'ye yönelik.
Marko

1
@pera: Benim zevkim. Yükseltme için teşekkürler. Tamamen anlama ve kabul etme konusunda hemfikir, hiç sorun değil.
Aleksandr Blekh

1

Son bir yöntem DTW Barycenter Averaging (DBA) Petitjean ve ark. ortalama zaman serisine. Başka bir makalede ampirik ve teorik olarak zaman serisini k-araçları ile kümelemenin nasıl kullanılabileceğini kanıtladılar. GitHub'da yazarlar tarafından bir uygulama sağlanmıştır ( kod bağlantısı ).

1 F. Petitjean, G. Forestier, GI Webb, AE Nicholson, Y. Chen ve E. Keogh, "Zaman Serisinin Ortalama Zaman Atlamalı Çözümü, Daha Hızlı ve Daha Doğru Sınıflandırmaya İzin Verir", 2014 .

2 F. Petitjean, P. Gançarski, Ortalama zamana göre bir dizi zaman dizisini özetleme: Steiner dizisinden kompakt çoklu hizalamaya, Teorik Bilgisayar Bilimi, Cilt 414, Sayı 1, 2012


2
lütfen bağlantılar yerine tam referanslar sağlayın. Bağlantılar ölebilir
Antoine

1

Dinamik Zaman Çözümü, çalışabilecek veya çalışmayabilecek gerçekleşen veri noktalarını karşılaştırır. Dağılımları karşılaştırmak daha sıkı bir yaklaşımdır. zaman serisinin teleskop mesafesi denilen bir metrik ile karşılaştırmaktır .

Bu metrikle ilgili en güzel şey, ampirik hesaplamanın, SVM gibi bir dizi ikili sınıflandırıcı takılarak yapılmasıdır.

Kısa bir açıklama için bkz. bu .

Küme zaman serileri için DTW'den daha iyi performans gösterdiği; orijinal kağıttaki Tablo 1'e bakınız [1].

[1] Ryabko, D., & Mary, J. (2013). Zaman serileri dağılımları ile istatistiksel ve öğrenme problemlerinde kullanımı arasındaki ikili sınıflandırma tabanlı bir ölçüm. Makine Öğrenimi Araştırmaları Dergisi, 14 (1), 2837-2856.


2
Denenmiş bir editör notu: "Jérémie Mary (ortak yazar) algoritmayı bir R uygulamasıyla tartışan bir web sayfasına sahiptir .
gung - Reinstate Monica

@gung Wow, mükemmel! İlk yazarla yazışmalarım oldu ve bundan bahsetmedi.
horaceT

Aslında, bunu cevabınıza düzenlemeye çalışan birinden kopyaladım, @horaceT. Bu konuda fazla bir şey bilmiyorum.
gung - Reinstate Monica

0

Evet. Saf ve potansiyel olarak yavaş bir yaklaşım olabilir.

  1. Tüm küme kombinasyonlarınızı oluşturun. k küme sayımı içindir ve n seri sayıları içindir. Döndürülen öğelerin sayısı olmalıdır n! / k! / (n-k)!. Bunlar potansiyel merkezler gibi bir şey olurdu.
  2. Her seri için, her küme grubundaki her merkez için DTW ile mesafeleri hesaplayın ve minimum seviyeye atayın.
  3. Her küme grubu için ayrı kümeler içindeki toplam mesafeyi hesaplayın.
  4. Minimumunu seç.

Bunu küçük bir proje için kullandım. İşte Time Series Clustering ile ilgili depom ve bu konuda diğer cevabım .

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.