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