pobierz plik referatu
Transkrypt
pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Rozdział 42 w Klasteryzacja szeregów czasowych na przykładzie pomiarów zużycia mediów w 1 Wstęp da .b w Streszczenie. W rozdziale zaprezentowano sposób klasteryzacji wizualizacji szeregów czasowych. Obserwacja szeregów czasowych i wykrywanie podobieństw między nimi jest szeroko wykorzystywane w praktyce. Jednym z takich zastosowań jest klasteryzacja szeregów czasowych opisujących pomiary zużycia mediów, tj. prądu, wody, gazu. Kluczowym elementem przy przeprowadzaniu analiz jest właściwa wizualizacja danych wyjściowych z algorytmów klasteryzacji. Prezentowane rozwiązanie przedstawia efektywność wizualizacji klastrów danych oraz możliwość wykorzystania wyników do predykcji szeregów czasowych. pl s. Szeregi czasowe, są jednym z częściej spotykanych typów danych. Metody analizy szeregów czasowych zwykle wykorzystują techniki eksploracji danych (ang. data mining) a w szczególności klasteryzację szeregów czasowych. Wyniki wyjściowe algorytmu klasteryzacji, muszą zostać odpowiednio przedstawione, aby informacje w nich zawarte zostały prawidłowo odczytane. Znanych jest wiele sposobów wizualizacji danych, m.in. w postaci wykresów słupkowych, histogramów, czy też wykresów kołowych, a także w postaci macierzy [5]. Zły dobór metody wizualizacji może prowadzić do pominięcia istotnych informacji zawartych w prezentowanych danych. Sposób wizualizacji danych powinien być dopracowany na etapie projektu systemu i oddany w ręce użytkownika w skonsolidowanej formie. Systemy dedykowane do określonych zastosowań powinny narzucać użytkownikowi sposób wizualizacji danych, po wcześniejszym przedyskutowaniu i skonsultowaniu proponowanych metod z ekspertami dziedzinowymi. W rozdziale przedstawiono projekt aplikacji klasteryzacji i wizualizacji szeregów czasowych na przykładzie pomiarów zużycia mediów, w formie macierzy reprezentującej kalendarz. Marcin Gorawski, Dawid Kowalski: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska email: [email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Gorawski, D. Kowalski 2 Analiza szeregów czasowych – znane metody i problemy w Szereg czasowy określany jest zawsze, przez co najmniej dwa atrybuty tj.: czasu i wielkości. Innymi słowy szereg czasowy jest ułożonym kolejno zbiorem m zmiennych o wartościach rzeczywistych. Ogromna liczba pomiarów występująca zazwyczaj w szeregach czasowych praktycznie uniemożliwia przeprowadzenie analizy przez człowieka. Sytuacja komplikuje się dodatkowo w przypadku większej liczby szeregów czasowych z tak dużą liczbą pomiarów. Znanych jest wiele metod analizy szeregów czasowych [1, 2, 3, 4]. Metody statystyczne oparte są o modele statyczne AR, MA, ARMA lub też dynamiczny ARIMA [1]. Analiza i obróbka szeregów czasowych jest również przeprowadzana z wykorzystaniem algorytmów klasy Sliding Window [2], które wykorzystywane są do wyszukiwania podciągów, często w aplikacjach służących do wykrywania włamań, czy też monitorowania podejrzanych działań. Kolejną znaną metodą są dyskretne transformaty falkowe (DWT) i dyskretne transformaty Fourier’a (DFT), dzielące płaszczyznę częstotliwości w czasie czy też transformujące szereg wejściowy w dziedzinę częstotliwościową. Natomiast metody przybliżające upraszczają przetwarzany szereg czasowy, przyspieszając tym samym przetwarzanie. Niestety przybliżanie szeregów czasowych nie może być stosowane do szeregów czasowych opisujących przebiegi każdego typu, metody takie mogą być śmiało wykorzystywane przy upraszczaniu np. elektrokardiogramu, w którym istotne są długości i nachylenie poszczególnych wektorów. Również metody DWT i DFT nie mogą być wykorzystane w zastosowaniach, w których np. transformowane szeregi poddawane są klasteryzacji hierarchicznej, a następnie potrzebne jest odniesienie i porównanie z danymi źródłowymi. Poszukując dobrego rozwiązania, umożliwiającego wyszukiwanie podobnych szeregów czasowych brane były pod uwagę powyżej wymienione metody jak również dotychczasowe implementacje algorytmów klasteryzacji, tj. BIRCH [7], ROCK [8], CLOPE [9], CURE [10], CACTUS [11], CLARANS [12], w których proces klasteryzacji oparty jest o partycjonowanie zbiorów danych na klastry jak również na klasteryzacji hierarchicznej. Wymienione powyżej rozwiązania w większości przypadków są dedykowane do określonych zastosowań. Wybór rozwiązania powinien być skorelowany z charakterem analizowanych danych. Szeregi czasowe opisujące pomiary zużycia medium1 nie powinny być przybliżane i wygładzane, ze względu na możliwość utraty istotnych danych uwidaczniających np. ewentualne odchylenia od typowych pomiarów, które mogą być istotne na dalszych etapach obróbki danych. Użyteczne i trafne dane uzyskiwane są z wykorzystaniem algorytmu X-12 ARIMA, jednakże wyniki otrzymywane na wyjściu algorytmu nie są czytelne dla przeciętnego użytkownika i wymagają wiedzy dziedzinowej. Wymienione powyżej rozwiązania te zostały odrzucone, a jako podstawowy algorytm w prezentowanym rozwiązaniu została wybrana klasteryzacja hierarchiczna szeregów wejściowych. Wykorzystanie jako podstawy ogólnego algorytmu klasteryzacji hierarchicznej umożliwia rozpoczęcie procesu klasteryzacji, bez podawania praktycznie żadnych parametrów na wejściu algorytmu, a także zapewnia możliwość dynamicznego określania poziomu szczegółowości klastrowanych elementów, bez konieczności ponownego przeprowadzania procesu klastrowania. da .b w w pl s. 1 Pojedynczy obiekt zawiera znacznik czasowy i wartość pomiaru mierzonego medium. 420 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Klasteryzacja szeregów czasowych na przykładzie pomiarów zużycia mediów 3 Klasteryzacja i wizualizacja da .b w w w Klasteryzacja hierarchiczna szeregów czasowych opisujących unikalne liczniki zużycia medium2 mogłaby nie dawać na wyjściu istotnych, z punktu widzenia użyteczności, danych. Dlatego też konieczne jest przygotowanie danych przed procesem klasteryzacji. Początkowe rozważania w zakresie wykrywania podobnych wzorców występujących w szeregach czasowych zostały porzucone ze względu na możliwość naturalnego podziału szeregów oraz informacje zawarte w [3]. Naturalny podział szeregów wejściowych został podjęty na podstawie obserwacji realnych danych opisujących zliczane wielkości, z których wynika, iż ogólna powtarzalność przebiegów jest bezpośrednio skorelowana z działaniami ludzi, której źródłem jest aktywność dzienna człowieka. W związku z powyższym został przyjęty naturalny podział szeregów wejściowych. Ze względu na brak możliwości zastosowania algorytmów upraszczających dane wejściowe, do procesu klasteryzacji przekazywane są szeregi podzielone na naturalne okresy. Proces klasteryzacji może być oparty o jedną z powszechnie znanych miar odległości, np. odległość euklidesowa. Dobór miary odległości na podstawie, której będzie podejmowana decyzja o „bliskości” dwóch szeregów czasowych, decyduje o sposobie budowy klasteryzacji szeregów. Możliwe jest, więc zastosowanie takich miar odległości które umożliwiają, np. określenie szeregów jako takich samych, gdy mają taki sam przebieg i różnią się jedynie poziomem wartości między sobą. Jednym z ważniejszych elementów całości rozwiązania jest sposób wizualizacji otrzymanych danych. Z jednej strony znanych jest, co najmniej kilka sposobów wizualizacji i klasteryzacji danych, natomiast z drugiej strony bardzo istotny jest typ danych, jaki jest wizualizowany, toteż bardzo ważny jest wybór właściwego typu wizualizacji. W zależności od wykorzystanego sposobu wizualizacji, te same wyniki mogą być odczytane i zinterpretowane w różnoraki sposób. Dlatego też biorąc dodatkowo pod uwagę, iż docelowe rozwiązanie ma być wykorzystywane i w pełni użyteczne również dla osób nie zorientowanych w tematyce klasteryzacji czy też wzorców czasowych występujących w szeregach czasowych, sposób wizualizacji jest jedną z kluczowych pozycji istotnych przy implementacji systemu. Ciekawy sposób wizualizacji zaprezentowany jest w pracy [5]. p s. 1 40, 00 1 20, 00 100 ,0 0 8 0, 00 6 0, 00 40, 00 2 0, 00 0 0 , 0 20 04 01 01 2 0 0 4 0 1 0 3 20 04 01 05 2 0 0 4 0 1 0 7 24 22 20 04 01 09 20 04 01 1 3 20 04 01 15 18 20 04 01 17 16 14 20 04 01 19 20 04 01 21 1 2 2 0 0 4 - 20 04 0 1 2 3 01 25 1 0 8 20 04 01 27 20 04 01 29 l 11 2 0 2 0 0 4 0 1 - 6 2 0 0 4 0 1 3 1 4 20 04 02 02 20 04 02 04 2 2 0 0 4 - 0 0 2 0 6 Rys. 1. Równoległy wykres słupkowy 3D [5] 2 Każdy licznik zużycia medium posiada unikalny identyfikator, na podstawie którego można uzyskać dostęp do pozostałych informacji opisujących licznik, np. położenia geograficznego. 421 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Gorawski, D. Kowalski w Prezentowane w tym rozdziale koncepcje i rozwiązania spełniają kryterium przyjaznego interfejsu użytkownika. Wizualizacja szeregów czasowych na dowolnym poziomie klasteryzacji analogicznie do przedstawionego rys. 1 jest w pełni akceptowalna. Jednakże taki sposób prezentacji wynikowych, sklasteryzowanych szeregów nie jest w pełni przejrzysty i łatwo interpretowalny, pomimo przekazywanych za jednym razem dużej liczby informacji. Ze względu na specyfikę powyższego sposobu prezentacji informacji, może zaistnieć sytuacja, iż nie będą widoczne bezpośrednio, pewne określone szeregi, na które powinna zostać zwrócona uwaga. Powyższy sposób reprezentacji nasunął następujące spostrzeżenie: pomimo dużej liczby informacji, jaka może zostać przekazana na zagregowanym wykresie trójwymiarowym, łatwo jest pominąć istotne informacje. Ważne, zatem jest by szatą graficzną z natłokiem liczby danych nie zaciemniać potencjalnie istotnych informacji. Wobec powyższych faktów preferowany sposób reprezentacji wyników to wykorzystanie wizualizacji dwuwymiarowej. Jednakże świadomość niemożliwości umieszczenia wszystkich potrzebnych informacji na pojedynczym wykresie wizualizującym wyliczone wyniki, powoduje konieczność wykorzystania, co najmniej dwóch powiązanych ze sobą wizualizacji tych samych wyników. Perspektywą, która jest niezbędna i której wartości nie sposób niedoceniać to wizualizacja charakteru szeregu na wykresie opartym o oś czasu i wartości. Ze względu na przyjęty sposób i naturalny podział szeregów czasowych opisujących liczniki zużycia mediów o unikalnych numerach identyfikacyjnych, pojedynczy sklasteryzowany szereg czasowy jest opisany zakresem pojedynczej doby. W taki też sposób jest wizualizowany na wykresie, którego oś czasu zamyka się w wartościach minutowych i godzinowych doby. W przypadku wizualizacji na wykresie trójwymiarowym, trzecim wymiarem miała również być oś czasu, lub kolejne szeregi czasowe z danego poziomu klasteryzacji. Stosując jako trzeci wymiar pozostałe szeregi, tracimy informacje o zachowaniu się określonego szeregu o zakresie większym niż pojedyncza doba. Natomiast stosując jako trzeci wymiar czas o zakresie zachowania się pojedynczego szeregu w szerszym zakresie czasu, tracimy informacje o pozostałych szeregach. Powyższe rozważania doprowadziły do następujących wniosków. Chcąc osiągnąć przejrzysty widok na sklasteryzowane szeregi czasowe trzeba określić, czy interesujący jest dla obserwatora pojedynczy szereg widoczny w szerszym zakresie czasu, czy też istotny jest ogólny rozkład i charakter określonego poziomu sklasteryzowanych szeregów czasowych. Wtedy prezentowany wykres będzie zawierał jeden lub więcej elementarnych szeregów czasowych bądź sklasteryzowanych szeregów czasowych wykreślonych zakresem pojedynczej doby. Możliwość przekazania istotnych informacji można uzyskać wykorzystując macierz czasową sklasteryzowanych szeregów czasowych. Wizualizacja taka sprowadza się do przedstawienia w wierszach poszczególnych dni, natomiast w kolumnach umieszczone są poszczególne szeregi czasowe. Jednakże taki sposób wizualizacji, ze względu na liczbę danych prezentowanych jednorazowo – może być nieczytelny, czy wręcz przytłaczać ilością prezentowanych danych. Liczba wierszy przy takim przedstawieniu jest równa liczbie dni objętych przez klasteryzowane elementarne szeregi czasowe. Przy szeregach obejmujących swoim zasięgiem liczbę dni powyżej, np. 60, czytelność i przejrzystość, a także prostota takiej wizualizacji znacznie maleje. Dlatego też prowadzenie analiz z wykorzystaniem takiej wizualizacji nie jest zadaniem prostym. Ograniczenie liczby prezentowanych szeregów czasowych na macierzy czasowej do pojedynczego szeregu, oraz transformacja tejże macierzy w taki sposób, iż poszczególne wiersze reprezentują dni tygodnia – powoduje, iż w efekcie macierz czasowa przyjmuje postać da .b w w pl s. 422 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Klasteryzacja szeregów czasowych na przykładzie pomiarów zużycia mediów w kalendarza. Prezentacja wyników procesu klasteryzacji w takiej postaci jest przejrzysta i czytelna (rys. 2). Rozwiązanie takie daje jeszcze jedną cechę, która wcześniej nie była bezpośrednio widoczna – otóż, sklasteryzowane elementarne szeregi czasowe pochodzące z tego samego licznika, zaprezentowane w formie wizualizacji na kalendarzu przedstawiać będą charakter poszczególnych klastrów i ich rozłożenie w czasie, a także powtarzalność w pełnym zakresie czasu, jaki obejmują pomiary. Dzięki temu, można uzyskać bardzo istotne informacje o typie i charakterze określonych klastrów oraz częstotliwości i sposobie występowania. Na bazie takich informacji można z określoną dokładnością dokonywać predykcji przyszłego zużycia medium. Najlepszym rozwiązaniem, aby powiązać obydwa widoki prezentujące klastrowane dane wejściowe w prosty i czytelny sposób, przy jednoczesnym zachowaniu maksymalizacji jakości przekazywanych informacji, a także chcąc ograniczyć natłok i liczbę prezentowanych informacji, jest powiązanie obydwu widoków z prezentowanymi danymi przy użyciu tego samego koloru (rys. 2). Barwa jednoznacznie identyfikująca jest automatycznie postrzegana dzięki uwrażliwieniu ludzkiego wzroku i naturalnej percepcji takiego bodźca. Wykorzystanie koloru zapewnia wszystkie niezbędne i oczekiwane cechy wizualizacji. w w 1 2 3 4 5 6 7 S tyc zeń 8 1 5 2 2 29 9 1 6 2 3 30 1 0 1 7 2 4 31 11 18 25 12 19 26 13 20 27 14 21 28 1 2 3 4 5 6 7 Li pie c 8 15 9 16 1 0 17 1 1 18 1 2 19 1 3 20 1 4 21 P on Wt Śr Czw Pt S ob N ie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 2 29 23 24 25 26 27 28 1 2 3 4 5 6 7 Si er pie ń 8 15 2 2 29 9 16 2 3 30 1 0 17 2 4 31 1 1 18 2 5 1 2 19 2 6 1 3 20 2 7 1 4 21 2 8 P on Wt Śr Czw Pt S ob N ie 1 2 3 4 5 6 7 M arzec 8 1 5 2 2 29 9 1 6 2 3 30 1 0 1 7 2 4 31 11 18 25 12 19 26 13 20 27 14 21 28 1 2 3 4 5 6 7 W rze sień 8 15 2 2 29 9 16 2 3 30 1 0 17 2 4 1 1 18 2 5 1 2 19 2 6 1 3 20 2 7 1 4 21 2 8 P on Wt Śr Czw Pt S ob N ie 1 2 3 4 5 6 7 Kw ie cie ń 8 1 5 2 2 29 9 1 6 2 3 30 10 17 24 11 18 25 12 19 26 13 20 27 14 21 28 1 2 3 4 5 6 7 Paźd zie rn ik 8 15 2 2 29 9 16 2 3 30 1 0 17 2 4 31 1 1 18 2 5 1 2 19 2 6 1 3 20 2 7 1 4 21 2 8 P on Wt Śr Czw Pt S ob N ie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 2 29 2 3 30 2 4 31 25 26 27 28 1 2 3 4 5 6 7 Li stop ad 8 15 2 2 29 9 16 2 3 30 1 0 17 2 4 1 1 18 2 5 1 2 19 2 6 1 3 20 2 7 1 4 21 2 8 P on Wt Śr Czw Pt S ob N ie 1 2 3 4 5 6 7 Cze rw iec 8 1 5 2 2 29 9 1 6 2 3 30 10 17 24 11 18 25 12 19 26 13 20 27 14 21 28 1 2 3 4 5 6 7 Gru dzi eń 8 15 2 2 29 9 16 2 3 30 1 0 17 2 4 31 1 1 18 2 5 1 2 19 2 6 1 3 20 2 7 1 4 21 2 8 2 2 29 2 3 30 2 4 31 25 26 27 28 da .b P on Wt Śr Czw Pt S ob N ie Lu ty 15 16 17 18 19 20 21 - Sz ere g n r 1 Sz ere g n r 2 Sz ere g n r 3 Sz ere g n r 4 Sz ere g n r 5 pl s. Maj 15 16 17 18 19 20 21 Leg en da : Rys. 2. Macierz czasowa sklasteryzowanych szeregów w postaci kalendarza 423 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Gorawski, D. Kowalski 4 Projekt i implementacja aplikacji jako Weryfikacja koncepcji w Celem zweryfikowania przedstawionych rozważań, została zaprojektowana i zaimplementowana aplikacja, która przeprowadza proces klasteryzacji w oparciu o klasteryzację hierarchiczną oraz wizualizuje wyniki w postaci wykresu opartego o kalendarz. Wyniki otrzymywane z wykorzystaniem przytoczonych powyżej metod wizualizacji są czytelne i umożliwiają przeprowadzenie analiz wyników otrzymywanych na wyjściu procesu klasteryzacji. Dzięki takiej wizualizacji danych w bezpośredni sposób prezentowany jest charakter danych zarówno w zakresie pojedynczego dnia, co obserwowane może być na wykresie, jak również charakter klastrów danych w szerszym zakresie czasu, co uwidocznione jest na wizualizacji osadzonej na kalendarzu. Dane źródłowe podawane na wejściu aplikacji są szeregami czasowymi opisującymi pomiary pobierane z liczników zużycia mediów tj. prąd elektryczny, gaz i woda [6]. Aby móc mówić o określonej dokładności prezentowanych wyników, konieczne jest również dostarczenie danych wejściowych o odpowiednim poziomie granulacji. Trudno mówić o klasteryzacji szeregów czasowych, których obiekty podstawowe zawierają niewiele punktów (pomiarów). Okres pomiarowy danych wejściowych powinien być mniejszy niż 30 minut, przy czym wraz ze zmniejszaniem okresu pomiarowego mamy również do czynienia z gwałtownym wzrostem całkowitej liczby punktów pomiarowych. Wykorzystując okres pomiarowy większy niż 30 minut na wejściu podawane są dane zawierające zbyt mało punktów pomiarowych w ciągu doby, co praktycznie uniemożliwia uzyskanie wartościowych wyników prezentujących na wyjściu klastrowane dane wejściowe. Optymalny okres pomiarowy zawiera się pomiędzy 5 a 15 minut. Jednakże należy pamiętać, iż czym dokładniejsze dane wejściowe, tym dokładniejsze i bardziej miarodajne wyniki, jakie uzyskujemy na wyjściu. da .b w w pl s. Rys. 3. Przykładowa wizualizacja szeregów sklasteryzowanych na kalendarzu i wykresie 424 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Klasteryzacja szeregów czasowych na przykładzie pomiarów zużycia mediów w Prezentowany na wyjściu aplikacji przebieg może być zarówno szeregiem powstałym z klasteryzacji szeregów wejściowych, jak również może wystąpić bezpośrednio szereg wejściowy w przypadku, gdy będzie szeregiem unikalnym, nie pasującym do żadnego ze sklasteryzowanych obiektów na zadanym poziomie Dzięki wykorzystaniu procesu klasteryzacji hierarchicznej, zapewniona jest komfortowa praca, niewymagająca wielokrotnych procesów operacji klasteryzacji przy podawaniu różnych wartości liczby klastrów, jakie mają być prezentowane na wyjściu. Istnieje również możliwość równoległej analizy przebiegów, prezentowanych klastrów w formie charakterystyk, kilku różnych poziomów czy też liczby klastrów, umieszczonych w różnych oknach. Bazując na wcześniej przytoczonym sposobie powiązania obydwu wizualizacji, prezentowane na rys. 3 przebiegi są powiązane z wizualizacją na kalendarzu z wykorzystaniem tych samych kolorów. w 5 Podsumowanie w da .b Przedstawione powyżej rozwiązanie oparte zostało na dobrze znanych rozwiązaniach klasteryzacji i wizualizacji wyników. Wykorzystanie procesu klasteryzacji hierarchicznej, pomimo złożoności rzędu kwadratowego, jest krokiem zamierzonym i uzasadnionym. Kosztowny obliczeniowo proces klasteryzacji jest przeprowadzany raz, po czym dalsze operacje wykonywane są już na sklasteryzowanych szeregach czasowych umieszczonych jako obiekty B-drzewa. Takie rozwiązania zapewnia możliwość dynamicznej decyzji o liczbie klastrów, do których ma zostać sklasteryzowany zbiór elementarnych szeregów czasowych. Dane wyjściowe mogą następnie zostać wykorzystane do graficznej prezentacji przedstawiającej charakter i zachowanie badanych szeregów jak również do wnioskowania i prognozowania numerycznego w oparciu o bieżące pomiary i porównanie do klastrów na wybranym poziomie szczegółowości. Bardzo dobre efekty, umożliwiając prostą i efektywną analizę otrzymywanych wyników w procesie klasteryzacji, daje wykorzystanie wizualizacji w postaci kalendarza jako elementu składowego całościowej wizualizacji wyników w postaci wykresu charakterystyki szeregów czasowych i kalendarza przedstawiającego rozłożenie poszczególnych typów szeregów w skali dłuższego okresu czasu, tj. tydzień, miesiąc, kwartał czy też rok. Aplikacje umożliwiające klasteryzację szeregów czasowych, a w szczególności szeregów czasowych opisujących zużycie mediów, które jednocześnie prezentują wyniki w prosty i przystępny dla użytkownika sposób będę zapewne w przyszłości szeroko wykorzystywane. Końcowy użytkownik i jednocześnie konsument mediów np. energii elektrycznej, będzie mógł przeprowadzić analizy charakteru jej zużycia i dzięki temu podejmować optymalne decyzje o wyborze dostępnych taryf Jednakże nie jest to jedyne zastosowanie takiej aplikacji, dostawcy energii mogą tworzyć profile użytkowników, dzięki czemu będą mogły być projektowane odpowiednie oferty dla klientów końcowych. Kolejną możliwością jest dostosowywanie produkcji energii, dostosowując poziom produkcji do przewidywanego zużycia. Automatycznie wykrywane będą okresy o obniżonym zapotrzebowaniu na energię. Dzięki wizualizacji charakteru szeregu czasowego, zarówno wewnątrz pojedynczego, elementarnego okresu, jakim jest doba, jak również przedstawienie rozkładu konkretnych szeregów czasowych w dłuższym okresie tj. tydzień, miesiąc, kwartał czy rok, możliwe jest dokładniejsze sterowanie produkcją energii. Należy zaznaczyć, iż czym mniejsza różnica pomiędzy wielkością energii wyprodukowanej, a wielkością energii zużytej przez klientów, tym mniejsze są straty producentów i dystrybutorów energii, gdyż głównym problemem pl s. 425 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Gorawski, D. Kowalski w w przypadku energii elektrycznej jest ewentualne magazynowanie3. Oszczędności wynikające z dostosowania poziomu produkcji energii, muszą być uwzględniane przez zarządy producentów i dystrybutorów. Wykorzystanie i zastosowanie koncepcji telemetrycznego systemu zintegrowanego odczytu liczników [6], umożliwia uzyskanie informacji o zużyciu energii z dokładnością do pojedynczych liczników, które mają być instalowane docelowo u każdego z końcowych klientów. Rozszerzenia funkcjonalności aplikacji mogą polegać na rozszerzeniu możliwości interfejsu użytkownika w zakresie dodatkowych funkcji oferowanych z poziomu wizualizacji. Dotyczy to zarówno wizualizacji w postaci kalendarza jak i w postaci wykresu charakterystyki szeregu czasowego. Proponowane jest rozszerzenie funkcjonalności aplikacji o kolejne elementy: − możliwość zmiany granulacji klasteryzacji szeregów, poprzez przejście pomiędzy poziomami klasteryzacji, z poziomu kalendarza i wykresu; − zapis sklasteryzowanych szeregów czasowych do pliku. Dzięki czemu, możliwy będzie zapis i odczyt drzewa sklasteryzowanych szeregów czasowych. Umożliwi to zaoszczędzenie czasu w przypadku analizy dużych zakresów danych i umożliwi analizę danych klasteryzowanych na innym komputerze; − dodanie kolejnej, opcjonalnej wizualizacji w postaci dendrogramu, po którym dynamicznie można się poruszać, zmieniając zakres i granulację klasteryzacji; − poprawienie wydajności najbardziej obciążonej metody obsługującej listy odległości. Metoda ta jest powiązana logicznie z wyszukiwaniem obiektu na liście o najmniejszej odległości; − osadzenie systemu w postaci serwletów lub JSP na serwerach aplikacyjnych, dzięki czemu możliwe będzie przeprowadzanie operacji klasteryzacji i analiz danych wykorzystując przeglądarkę stron www; − dodanie algorytmu predykcji wartości na podstawie analiz i danych zgromadzonych w wyniku klasteryzacji szeregów czasowych; − dodanie opcjonalnego wyboru z interfejsu użytkownika, rodzaju metryki wykorzystywanej do wyznaczania odległości pomiędzy poszczególnymi szeregami czasowymi; − dodanie wizualizacji postępu procesu wyznaczania odległości oraz postępu klasteryzacji; − realizacja wielowątkowości procesu klasteryzacji; − uwzględnienie w predykcji warunków atmosferycznych odczytu liczników. Zaprezentowana aplikacja może być również wykorzystana do klasteryzacji i analizy innych szeregów czasowych o zbliżonej charakterystyce, tzn. opisujących wzorce powtarzające się w ramach okresów jednodniowych, np. stopień wykorzystania przepustowości łącza przez indywidualnych abonentów dostawców Internetu i usług. da .b w w 1. 2. pl s. Literatura G.E.P Box, i G.M. Jenkins: Time series analysis: Forecasting and control, wyd. Holden-Day 1976. D. F. Findley, B. C. Monsell, H. B. Shulman, M. G. Pugh: Slidingspans diagnostics for seasonal and related adjustments. str. 345-355 Journal of the American Statistical Association, 85(410) 1990. 3 Każdy sposób magazynowania energii elektrycznej prowadzi do strat rzędu, np. 30% w przypadku elektrowni szczytowo-pompowych. 426 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Klasteryzacja szeregów czasowych na przykładzie pomiarów zużycia mediów 3. w E. Keogh, J. Lin, W. Truppel: Clustering of Time Series Subsequences is Meaningless: Implications for Previous and Future Research. 3rd IEEE International Conference on Data Mining, 2003. 4. E. Keogh, M. Pazzani: An enhanced representation of time series which allows fast and accurate classification, clustering and relevance feedback. University of California, Irvine 1998. 5. L. Chittaro, C. Combi, G. Trapasso: Visual Data Mining of Clinical Databases: an Application to the Hemodialytic Treatment based on 3D Interactive Bar Charts, VDM 2002: 2nd International Workshop on Visual Data Mining, Helsinki, Finland, 2002. 6. M. Gorawski, M. Gabryś: Telemetryczny system zintegrowanego odczytu liczników. Praca zbiorowa „Współczesne problemy sieci komputerowych” WNT 2004. 7. Tian Zhang, Raghu Ramakrishnan, Miron Livny: BIRCH: an efficient data clustering method for very large databases. Proceedings of the 1996 ACM SIGMOD international conference on Management of data. Montreal, Quebec, Canada 1996. 8. Sudipto Guha, Rajeev Rastogi, Kyuseok Shim: ROCK: A Robust Clustering Algorithm for Categorical Attributes. Information Systems 2000. 9. Yiling Yang, Xudong Guan, Jinyuan You: CLOPE: a fast and effective clustering algorithm for transactional data. Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. Edmonton, Alberta, Canada 2002. 10. Sudipto Guha, Rajeev Rastogi, Kyuseok Shim: CURE: an efficient clustering algorithm for large databases. Proceedings of the 1998 ACM SIGMOD international conference on Management of data. Seattle, Washington, United States 1998. 11. Venkatesh Ganti, Johannes Gehrke, Raghu Ramakrishnan: CACTUS — clustering categorical data using summaries. Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining. San Diego, California, United States 1999. 12. Raymond T. Ng, Jiawei Han: Efficient and Effective Clustering Methods for Spatial Data Mining. Proceeding of the 20th VLDB Conference Santiago, Chile, 1994. da .b w w pl s. 427 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 w da .b w w pl s. (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006