Jakie byłoby podejście do korzystania z dynamicznego dopasowania czasu (DTW) w celu grupowania szeregów czasowych?
Czytałem o DTW jako sposobie znajdowania podobieństwa między dwoma szeregami czasowymi, podczas gdy można je przesunąć w czasie. Czy mogę użyć tej metody jako miary podobieństwa dla algorytmu grupowania, takiego jak k-średnie?
time-series
clustering
Marko
źródło
źródło
Odpowiedzi:
Czy nie używać k-średnich dla timeseries.
Średnia DTW nie jest minimalizowana; średnie k mogą się nie zbiegać, a nawet jeśli się zbiegają, nie dają bardzo dobrego wyniku. Średnia to estymator najmniejszych kwadratów na współrzędnych. Minimalizuje wariancję, a nie dowolne odległości, a k-średnie służy do minimalizacji wariancji, a nie arbitralnych odległości .
Załóżmy, że masz dwie serie czasowe. Dwie fale sinusoidalne o tej samej częstotliwości i dość długi okres próbkowania; ale są one kompensowane przez . Ponieważ DTW dopasowuje czas, może je wyrównać, aby idealnie pasowały, z wyjątkiem początku i końca. DTW przypisze raczej niewielką odległość do tych dwóch serii. Jeśli jednak obliczysz średnią z dwóch serii, będzie to płaskie 0 - anulują się. Średni ma nie robić dynamicznego dopasowania czasu, i traci wszystkie wartości, które DTW GOT. W przypadku takich danych k-średnich może się nie zbiegać , a wyniki będą bez znaczenia. Średnie K naprawdę należy stosować tylko z wariancją (= kwadratowy euklides) lub w niektórych przypadkach, które są równoważne (jak cosinus, na znormalizowanych danych L2, gdzie podobieństwo cosinus jestπ to samo co kwadratowa odległość euklidesowa)2 -
Zamiast tego oblicz macierz odległości za pomocą DTW, a następnie uruchom hierarchiczne grupowanie, takie jak pojedyncze łącze. W przeciwieństwie do k-średnich, seria może mieć nawet inną długość.
źródło
Tak, można zastosować podejście DTW do klasyfikacji i grupowania szeregów czasowych . Skompilowałem następujące zasoby , które koncentrują się na tym właśnie temacie (ostatnio odpowiedziałem na podobne pytanie, ale nie na tej stronie, więc kopiuję tutaj zawartość dla wygody wszystkich):
źródło
Petitjean i in. Zaproponowali najnowszą metodę DTW Barycenter Averaging (DBA) . do średnich szeregów czasowych. W innym artykule udowodnili empirycznie i teoretycznie, jak można go wykorzystać do grupowania szeregów czasowych za pomocą k-średnich. Implementacja jest udostępniana na GitHub przez autorów ( link do kodu ).
1 F. Petitjean, G. Forestier, GI Webb, AE Nicholson, Y. Chen i E. Keogh, „Dynamiczne uśpienie czasowe szeregów czasowych pozwala na szybszą i dokładniejszą klasyfikację”, Międzynarodowa konferencja IEEE 2014, Data Mining, Shenzhen, 2014 .
2 F. Petitjean, P. Gançarski, Podsumowanie zbioru szeregów czasowych przez uśrednienie: Od sekwencji Steinera do kompaktowego wielokrotnego wyrównania, Theoretical Computer Science, Tom 414, Is.1, 2012
źródło
Dynamic Time Warp porównuje zrealizowane punkty danych, które mogą, ale nie muszą, działać. Bardziej rygorystycznym podejściem jest porównanie rozkładu szeregów czasowych za pomocą miernika zwanego odległością teleskopu .
Fajną rzeczą w tej metodzie jest to, że obliczenia empiryczne są wykonywane przez dopasowanie szeregu binarnych klasyfikatorów, takich jak SVM.
Aby uzyskać krótkie wyjaśnienie, zobacz to .
W przypadku szeregów czasowych klastrowania wykazano, że przewyższa DTW; patrz Tabela 1 w oryginalnej pracy [1].
[1] Ryabko, D. i Mary, J. (2013). Metryka oparta na klasyfikacji binarnej między rozkładami szeregów czasowych a jej wykorzystaniem w problemach statystycznych i uczących się. The Journal of Machine Learning Research, 14 (1), 2837-2856.
źródło
Tak. Naiwnym i potencjalnie wolnym podejściem może być
n! / k! / (n-k)!
. Byłyby to potencjalne centra.Użyłem tego do małego projektu. Oto moje repozytorium dotyczące grupowania szeregów czasowych i moja inna odpowiedź na ten temat.
źródło