PRACE NAUKOWE UNIWERSYTETU EKONOMICZNEGO WE WROCŁAWIU Nr 7 (1207) 2008 TAKSONOMIA 15 Klasyfikacja i analiza danych - teoria i zastosowania Marek Walesiak Uniwersytet Ekonomiczny we Wrocławi PROCEURA ANALIZY SKUPIEŃ Z WYKORZYSTANIEM PROGRAMU KOMPUTEROWEGO CLUSTERSJ:M I ŚROOWISKA R l. Wstęp W analizie skpień wyodrębnia się siedem etapów (por. np. [Mi11igan 1996, s. 342-343; Walesiak 2005]): wybór obiektów i zmiennych, wybór formły normalizacji wartości zmiennych, wybór miary odległości, wybór metody klasyfikacji, stalenie liczby klas, ocena wyników klasyfikacji, opis (interpretacja) i profilowanie klas. W artykle scharakteryzowane zostaną fnkcje pomocnicze pakiet clstersim 1 oraz wybrane fnkcje pakietów stats, clster ade4, słżące poszczególnym etapom analizy skpień. Ponadto zaprezentowane zostaną przykładowe składnie poleceń (procedry) łatwiające potencjalnem żytkownikowi realizację wiel zagadnień klasyfikacyjnych niedostępnych w podstawowych pakietach statystycznych (np. SPSS, Statistica, S-Pls, SAS). 2. Etapy w analizie skpień oraz pakiety i fnkcje program R W tab. l pokazano wybrane pakiety i fnkcje program R wykorzystywane w poszczególnych etapach analizy skpień. Szczegółowo zostaną scharakteryzowane fnkcj e niezbędne z pnkt widzenia dalszych rozważań, zawarte w pakietach clstersim, stats, clster i ade4. l Zob. prace: [Walesiak, dek 2006; 2007a; 2007b; Walesiak 2006]. IssN ~8'39-~A9.t A505-932>~ l S5N
45 Tabela l. Etapy w analizie skpień oraz fnkcje program R.Lp. Etapy w analizie skpień Wybrane pakiety i fnk<.:je program R l Wybór obiektów i zmiennych Pakiet clstersim (fnk<.:ja HINoV. Mod) 2 Wybór formły normaliza<.:ji wartości zmiennych Pakiet clstersim (fnk<.:ja data. Nonna.lization) 3 Wybór miary odległości Pakiet clstersim (fnkcjedist.bc, dist.gm, dist.sm) Pakiet stats (fnkcjadist) Pakiet ade4 (fnkcja dist.binary) 4 Wybór metody klasyfikacji Pakiet clster (fnkcja agnes, diana, pam) Pakiet stats (fnkcje kmeans, hc1st) Pakiet clstersim (fnkąia initial.centers) 5 Ustalenie liczby klas Pakiet clstersim (fnkcje index. Gl, index. G2, index.g3,index.s,index.kl,index.h, index.gap) 6 Ocena wyników klasyfikacji Pakiet clstersim (fnkcja replication. Mod) 7 Opis (inteq>retacja) i profilowanie klas Pakiet clstersim (fnkcja clster. escription) Etap 1. Wybór oeiektów i zmiennych do klasyfikacji Carmone, Kara i Maxwell [1999] zaproponowali herystyczną procedrę dobor zmiennych HINo V powiązaną z metodą k-średnich i skorygowanym indeksem Randa. Celem tej metody jest dobór mniejszej liczby zmiennych z pierwotnego zbior przez eliminację tych, które zakłócają istniejącą strktrę klas w badanej zbiorowości obiektów. W wynik zastosowania metody HINo V otrzymje się dla kazdej zmiennej jej wkład do istniejącej strktry klas. W pakiecie clstersim znajdje się fnkcja prezentjąca rozszerzoną wersję tej metody dla danych niemetrycznych i innych metod klasyfikacji (zob. tab. 2). Tabela 2. Składnia fnkcji HINoV Mod w pakiecie cls tersim HINoV. Mod (x, type=nmetric", s=2,, distance=null, method="kmeans, Index= cran" ) x macierz danych s tylko dla danych metrycznych: l - ilorazowe; 2 - interwałowe lb mieszane liczba klas (dla danych metrycznych) distance NULL dla metody kmeans i danych niemetrycznych dla danych ilorazowych: "dl" - Manhattan, "d2" - Eklidesowa, "d3"- Czehyszewa (max), "d4"-kwadrateklidesowej, "d5"-gml, "d6"-canberra, "d7"-brayai Crtisa dladanycb przedziałowych lb mieszanych: "dl", "d2", "d3", "d4", "d5" method NULL dla danych niemetrycznych metoda klasyfikacji: "kmeans" (defalt), "single", "complete", "average", ''mcqitty'', ''median'', "centroid", ''Ward'', "pam" Index "cran" - sk!>i'ygowany indeks Randa, "RAN" - indeks Randa
46 Tabela 30 Fonnły nonnalizacyjne dla danych metrycznych Skalapcmiar. Nr Nazwa fonnły Fonnła 00 Inrzerl po: no Bez nonnalizaqi ilorazowa i(lb) ni Standaryzacja zii =(x-x)/sj ilorazowa i(lb) prz.edzjałowa p:młliałowa n2 Standaryzacja 0 zij =(x-mej/l,4826 MAj ilorazowa i(lb) prz.edzjałowa Webera ~ n3 Unitaryzacja zij =(x-xj )/1j ilorazowa i(lb) prz.ed:z1ałowa p.ed:ziałowa n4 Unitaryzacja zerowana zif =[xif -m:n {Xij}Jjrj ilorazowai (lb) przedziałowa p.ed:ziałowa n5 Nonnalizacja zij =(xif - xj )/m;lx - Xjl ilorazowai (lb) przedziałowa p.ed:ziałowa w przedziale f-lo l] n6 Przekształcenia Z =xv/sj ilorazowa ilorazowa r?i ilorazowe zlj =x/rj ilorazowa ilorazowa na zij =x/m;{x} ilorazowa ilorazowa "-n9 zif =xlj/xj ilorazowa iloormwa Ini0 I nll Z =X,JI.;=lX U zij =xjji.;=ix~ ilorazowa ilorazowa iloormwa ilorazowa XIj(Zif) -~(:znmnaii2owana wmtość)j-tęj zmiennej d1ai-tegoobit"kl, xj (Sj' r) -&ahńa(odhyltnieslandar OOwe,fC1l.SIq»dIaj-tęj mliennej, MeAMAj ) -mooiana(medianowe<xk:hyleniebelwzgl~)diaj-tęj zmiennejo Tabela 4. Składnie fnkcji pozwalających obliczać miary odległości dla danych meliycznych i niemeliyc2ilych dist.gm (x, method= GM1 " ) - fnkcja obliczającamacien odległości wedłg miary OM (rob. Walesiak [2006]), gdzie x - macien danych, OMI - miara odległości OM dla danych metrycznych, OM2 - dla danych pon:ąpkowych dist.be (x) - fnkcja obliczającamacien odległości wedłg fonnły Bmya-Cttisa dla zmiennych ilom:ro~h dist. SM (x) - fnkcja obliczającamacien odległości wedłg miary Sokala-Michenera dla zmiennych nominalnych dist(x, method=" eclidean", p = 2) x macien danych lb obiekt" dist n method miara odległości: "eclidean n (odległość eklidesowa), "maximmn, "manhattan, "canberra", "binary", "minkowski" p lpotęgadlaodległości "minkowski n dist.binary(df, method = NULL) df macien danych zawierająca wartości dodatnie lb zera. Używana z fnkcjąas matrix( 1 * (df > O» method liczba od l do 10 oznaczająca fonnłę odległości d =..11- s : 1 = Jaccard, 2 = Sokal & Michena-, 3 = Sokal & Sneath (l), 4 = Rogers & Tanimoto, 5 =Czekanowski, 6 =Gower & Legendre (l), 7 =Ochiai, 8 = Sokal & Sneath (2), 9 =Phi ofpearson, 10 =Gower & Legendre (2)
Tabela 5. Składnie fnkcji dla podstawowych metod klasyfikacji w środowisk R* A. Hierarchiczne metody aglomeracyjne hc1st(d, method = "comp1ete", members=null) d macierz; odległości method hierarchiczna metoda aglomeracyjna: "sing1e", "comp1ete", "ward","average", "mcqitty", "median", "centroid" members NULL or a vector with len~ size ofd B. Metoda k-średnich Janeans (x, centers, iter.max = lo, nstart = l, a1gorithm = c("hartigan- Wong", "L1oyd" I "Forgy", " MacQeen ") ) x macierz; danych centers początkowe środki ciężkości klas lb początkowa liczba klas iter.max maksymalna liczba iteracji nstart liczba losowych zbiorów danych, jeśli w centers podano liczbę klas a1gorithm stosowany algorytm C. Metoda k-medoid6w pam(x, k, diss = inherits(x, "dist"), metric = "ec1idean" I medoids = NULL, trace.1ev = O) x macierz; danych lb macierz; odległości k liczba klas diss dla TRUE x oznacza macierz odległości (domyślnie); dla FALSE - macierz; danych metric miara odległości (x o:znaczamacierz danych): "eclidean", "manhattan" medoids NULL (domyślnie) lb wektor zawierający początkowe medoidy trace.1ev zawartość drkowanych informacji w róinych fzach a1goiytm: O(domyślnie) - bez drkowania; wy2sza liczba oznacza więcej drkowanych informacji. Hierarchiczne metody aglomeracyjne agnes(x, diss = inherits(x, "dist") I metric = "eclidean" I method = "average", par.method) method metoda klasyfikacji: average I single" I "comp1ete, "ward", "weighted" I "f1exib1e" par.method wektor zawierający parametry dla metody "flexible" (1, 3 lb 4) E. Hierarchiczna metodadeglomeracyjna diana (x, diss = inherits(x, "dist"), metric = "ec1idean" ).. * OpiS mektórych fnkcji zawiera podstawowe argmenty. Etap 2. Wybór fonnły nonnalizacji wartości zmiennych Normalizację wartości zmiennych przeprowadza się w pakiecie cistersim z wykorzystaniem fnkcji data. Normalization (x, type= "no"), gdzie x oznacza macierz danych, a type - typ fonnły nonnalizacyjnej z tab. 3. Etap 3. Wybór miary odległości Podstawowe miary odległości, zależnione od skali pomiar zmiennych, za warte są w pakietach cistesim, s tats i ade4 (zob. tab. 4). Etap 4. Wybór metody klasyfikacji Najczęściej wykorzystywane w badaniach empirycznych metody klasyfikacji znajdją się w pakietach stats i cister (zob. tab. 5). 47
48 Tabela 6. Indeksy oceny jakości klasyfikacji słżące wyborowi liczby klas KI)tlriIm \\)łxx Nazwa iixld<rl Famła Skb:lnia lunkqi lic:zl:rykłls fi ~iharal:m?a index.g1 (x,el) argmax{gl()} x - mocie1zdan)dl Gl() = B /( -1) el - wddcr Iiczbcallcowit)d1 in&rnqją:ycho~ W,J(n-) obieldów 00 klas Bakaai HWez1a index.g2(d,el) argmax {G2()} d - mocie1zodlegkb;i G2() =s(+)-s(-). s(+)+s(-) Hb::I1a ilevine'a index.g3(d,el) arg min {G3()} () - r If1in G3() = r mar. -r min SiJInJdIe S()=.!.:t b(i)-.a(i). n i=1 max{a(i);b(z)} index.s(d,el) argmax {S()} Krzaoo.vskiego ilai index.kl (x, elall) argmax{kl()} elall - trzywddaylic:zbcalkowit)dl~o~ KL() = IIFF" l1iiiemici obiekiów00 kłls wp:xfzia\e na -l, i + l IFF,,+II klas /FF" =( -1)2/mW_1 _2/mw. Hanigma index.h (x,elall) ~,dia elall - dwaweklaylic:zbcallcowit)d1~o ~H()~lO H(U)=( W -l}n--l) ~obiekiówooklaswp:xfzia\ena i + 1 klas WU+1 Gap index.gap (x, elall, refer- ~,dia l B enee.distribtion="nif", B=IO, k!órejjl dijju ~ O Gap() = - 2)ogW b -logw method="pam" ) B b=1 dijju =Gap() - Gap( + 1) + s+1 elall-dwawektay lic:zbcalkrnlitydl ~OJll7łf" Icżno:ś:i obiekiów00klas wp:xfzia\ena i + l klas reference.distribtian-!pooob~~ s=sd,b+l/b ąjina7liliemycbzrozkłdj~ (nif, pc) sd -odd!y\enie5tlooaitbwezwarta ci B=IO-lic:Ih!~2biaów <b3eiwaąji {logw b } method-melodakmyfikaąji (ward, single, carplete, average, maqitty, median, centroid, pam, k-means) B - maciea kowariancji mi~<;j, W - maciea kowariancji ~<;j, II" - ślad macielzy, B (W) = trb. (trw.), r,s =l,... -mnner klasy, -liczbaklas, i.k = 1,... n -m.nerobiekt,n-liczbaobiekt6w,m Iiczhl2mic:mych, s(+) -liczba par <XIIegł<ś::i zgodnych, s(-) -liczba par <XIIegł<ś::i niezgodnych, () - sma wszysddch odjo. głości wewną!l:7.klasow r - 1iC2bl odieghści w~ If1in (""",) -lii!imniejsza (nąjwiększa) odiegio ć wcwnątrzkiasowa, a(i) = L ducj(n r -1) - średnia odlegiość obiekt i od pcrzalibiych obielcrów nale2ą:)d1 00 klasy p'; ke{p,li} b(i) = min{dip.} ' (lip. = LdUcjn. -średnia~obiektiodobielcrównaldą:ychdoklasy p., B -liczbagajet"os~r ', kep' wanych zbiaów obscrwaąji. Źródło: opracowanie własne na podstawie prac: [Caliński, Harabasz 1974; Hbert 1974; Milligan, Cooper 1985; Kafinan, Rosseew 1990; Hartigan 1975; Tibshirani, Walther, Hastie 2001].
la metody k-średnich początkowe środki ciężkości klas można stalić za pomocą fnkcji initial.centers (x, k) w pakiecie clstersim (xmacierz danych, k -liczba klas). Etap 5. Ustalenie liczby klas Charakterystykę siedmi indeksów jakości klasyftkacji dostępnych w pakiecie clstersim, a słżących wyborowi liczby klas, zawiera tab. 6. Etap 6. Ocena wyników klasyfikacji Procedra słżąca ocenie wyników klasyflkacji (analiza replikacji - zob. prace: [Breckenridge 2000; Walesiak 2007]) zawarta jest w pakietach clstersim (zob. tab. 7). Replikacja dotyczy przeprowadzenia proces klasyfikacji zbior obiektów na podstawie dwóch prób wylosowanych z danego zbior danych, a następnie ocenie zgodności otrzymanych rezltatów. Poziom zgodności wyników dwóch podziałów (skorygowany indeks Randa) odzwierciedla poziom stabilności przeprowadzonej klasyfikacji zbior obiektów. Tabela 7. Analiza replikacji z wykorzystaniem fnkcji replication. Mod pakiet cls ter8im replication.mod(x, v="m n, =2, centrotypes="centroids', normalization=null, distance=null, method="kmeans, 8=10, fixedasample=null) x macierz danych v typ danych: metryczne ("r" - ilorazowe, "i"- przedziałowe, "m" - mieszane), niemetryczne ("o".11. we,"nlt nominalne wie1ostanowe, "b" binarne) Hczbak\as centrotypes "centroids", ''medoids'' normalization fonnłyn 'na dla dan~m~cznych no -nll distance NULL dla metody k-średnich ("kmeans"), dla danych ilorazowych: "dl" - Manhattan, "d2" - Eclidean, "d3" - Chebychev (max.), "d4"-sqaredeclidean, "d5"-gmi, "d6"-canberra, "d7"-bmy-crtis dladanychprz.edziałowych i mieszanych: "dl", "d2", "d3", "d4", "d5" dla danych potządkowych: "ds" - GM2 dla danych nominalnych wielostanowych: "d9" - Sokal & Michener dla danych binarnych: "bl" =Jaccard; "b2" = Sokal & Michener; ''b3'' =Sokal & Sneath (I); ''b4'' = Rogers & Tanimoto; ''b5'' = Czekanowski; ''b6'' =Gower & Legendre (1); ''b7'' = Ochiai; ''bs'' =Sokal & Sneath (2); ''b9'' =Phi ofpearson; "blo" =Gower & Legendre (2) method metoda kl~i (zob._etap 4) S liczba symlaqji nmery obiektów dobrane losowo do podzbior A (NULL) lb nmery obiektów d0 fixedasample brane arbitralnie do ~ior A Źródło: opmcowanie własne.. Etap 7. Opis (interpretacja) i promowanie klas o wyznaczenia charakterystyk poszczególnych klas można wykorzystać z pakiet clstersim ftmk~ę clster.escription{x, ci, SdType= II sample II ) Fnkcja ta oblicza osobno dla każdej klasy i zmiennej z stalo 49
50 nego podział zbior obiektów na klasy cl następjące statystyki opisowe: średnia arytmetyczna (1), odchylenie standardowe (2), mediana (3), medianowe odchylenie bezwzględne (4), dominanta (5) (dla zmiennych nominalnych i porządkowych, jeśli występje więcej wartości o maksymalnej częstości występowania zwracana jest wartość "N.A."). W odchyleni standardowym w mianownik występje n-1 dla próby (sdtype= II sample ") i n dla poplacji (sdtype= II poplation"). 3. Przykładowe składnie poleceń z wykorzystaniem wybranych fnkcji program R Za pomocą dwwymiarowej zmiennej losowej o rozkładzie normalnym wygenerowano po 40 obserwacji dla trzech skpień o wydłżonym kształcie. Przyjęto o 2 4 6 8-2 o 2 4 6 li c,"",!!,~'" ~."".,:,,~ '~< 'n \fo. 0 00... o.. O"'!o.~... ~ 80 ł~ '.y. O it. ~: o.'':, -2 O 2 4 6-202468 -202468 Rys. 1. 120 obserwacji pięci zmiennych w kładach dwwymiarowych
Przykład 2 > library(clster) > libra~(clstersim) > x <- read. csv2 ("dane. csv", header=true, row.names=l) > x <- as.matrix(x) > x <- as.data.frame(x) > rl <- HINoV.Mod(x, type="metric", s=2, 3, distance= "d4 ", method= "pam", Index= "cran" ) > options (Otec = ",") > plot(rl$stopri[,2},type="b", pch=o, xlab="nmer zmiennej", ylab="topri ", xaxt= "n" ) > axis(l,at=c(l:max(rl$stopri[,l})),labels=rl$stopri[,l}) następjące wektory wartości oczekiwanych dla skpień (O, O), (2, 3), (4; 6) oraz identyczne macierze kowariancji 1; (Uli =l, jl =-0,9). o analizy wprowadzono dodatkowe trzy zmienne zakłócające istniejącą w kładzie dwwymiarowym strktrę klas (tzw. noisy variabies). Po 120 obserwacji na tych zmiennych wygenerowano niezależnie z rozkład jednostajnego (zob. rys. 1). o wygenerowania danych wykorzystano fnkcję clster. Gen pakiet clstersim z nastc(pjącąskładniąpoleceń (zob. przykład l). Przykład 1 > library(clstersim) > means <- matrix(c(o,2,4,o,3,6),3,2) > cov <- matrix(c(l,-o.9,-o.9,l),2,2) > gr.nd <- clster.gen(nmobjects=40, means=means, cov=cov, model=2, nmnoisyvar=3) > colornames <- c("red", "ble", "green") > grnd$clsters[grnd$clsters==o}<-length(colornames) > plot (grnd$data, col=colornames[grnd$clsters}) > write.table(grnd$data, file="f:/dane.csv", sep=";", dec=", ") W składni poleceń w przykładzie 2 do snięcia zmiennych zakłócających strktrę klas zastosowano metodę HINo V z następjącymi parametrami (liczba klas: 3, miara odległości: kwadrat odległości eklidesowej d4, metoda klasyfikacji: paro). 51 wwynik zastosowania tej procedry otrzymje się wykres osypiska (rys. 2).
52 0 ~ " 2 3 5 4 NIm.rzmiennej Rys. 2. Wykres osypiska Na podstawie wykres osypiska zmienne o nmerach 3, 4 i 5, zakłócające istniejącą w kładzie dwwymiarowym strktrę klas, zostają snięte za pomocąmetody HINo V. W składni poleceń w przykładzie 3 przyjęto następjące założenia: - obserwacje na zmiennych poddano standaryzacji Webera (n2), do pomiar odległości między obiektami zastosowano kwadrat odległości eklidesowej, do podział zbior 120 obiektów opisanych zmiennymi VI i V2 na klasy zastosowano metodę k-medoidów (pam), liczbę klas stalono na podstawie indeks gap (index. Gap), za pomocą instrkcji write. table zapisjemy w plikach wartości "diff" słżące wyborowi liczby klas dla indeks gap, zaklasyfikowanie obiektów do klas ("c1stering") oraz wartości podstawowych parametrów infonnjących o otrzymanych klasach obiektów ("clsinfo"). Przykład 3 > library(clstersim) > library(clster) > x <- read.csv2("c:/ane_120x2.csv", header=true, row.names=l) > x <- as.matrix(x) > z <- data.nonnalization (x, type="n2")
53 > z <- as.data.frame(z) > d <- dist(z, method="eclidean")"'2 > min_liczba_klas=l > max_liczba_klas=15 > min<- O > wyniki<- array(o,c(max_liczba_klas-min_liczba_klas+l, 2)) > wyniki[,ll<- min_liczba_klas:max_liczba_klas > znaleziono<-false > for (liczba_klas in min_liczba_klas:max_liczba_klas) > ( > ell <- pam(d, liczba_klas, diss = TRUE) > cl2 <- pam(d, liczba_klas+l, diss = TRUE) > clall<- cbind(cll$clstering,cl2$clstering) > sink(file="tymczasowy. txt") > Gap <- index.gap(z, clall, reference.distribtion = "pc", B=l O, method= "pam" ) > wyniki[liczba_klas - min_liczba_klas+l,21<-diff<print(gap$diff) > sink() > if ((wyniki[liczba_klas - mi~liczba_klas+l,21>=o) && (!znaleziono)) > { > lk<- liczba_klas > min<-diff > clopt<-cll$clster > wyn<-cll$clsinfo > znaleziono<-true > J > J > if (znaleziono) > { > print (paste ("minimalna liczba klas dla diff>=o wyno si", lk, "dla diff=",min)) > Jelse > { > print ("Nie znalazłem klasyfikacji, dla której diff>=o") > J > write.table(wyniki, file="diff.csv", sep=";", dee=", ", row.names=true, col.names=false) > write.table(clopt, file="clstering.csv", sep=";", dee=", ", row. names=true, col. names=false)
54 > write. table(wyn, file="clsinfo.csv", sep=";", dec=", ", row. names=true, col. names=true) > options (Otec = ",") > plot (wyniki, type="p", pch=o, xlab="liczba klas", ylab= "diff", xaxt="n") > abline(h=o, ntf = FALSE) > axis(l,c(min_liczba_klas:max_liczba_klas)) W wynik zastosowania tej procedry otrzymje się podział zbior 120 obiektów opisanych dwiema zmiennymi Xl i X2 na trzy klasy: [lj "minimalna liczba klas dla diff>=o wynosi 3 dla diff= 0,260407103676564" "l o ci!." ~ o ~ a "l <;> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Uczba klas Rys. 3. Graficzna prezentacja wartości indeks gap W przykładzie 4 przeprowadzono ocenę otrzymanych wyników klasyfikacji, wykorzystjąc fnkcję replication. Mod z pakiet clstersim. Przykład 4 > library(clstersim) > x <- read. csv2 ("ane_120x2. csv", header=true, row.names=l) > x <- as.matrix(x)
> options (Otec = ",") > w<- replication.mod(x, v="m", =3, centro- types= "centers", normalization= "n2", distance= "d4", method="pam", S=50) > print(w$crand) w wynik zastosowania tej procedry otrzymje się: [1] 0,9297423 Zatem wartość skorygowanego indeks Randa świadczy o wysokiej stabilności podział zbior 120 obiektów na trzy klasy. 4. Podsmowanie W artykle zaprezentowano siedem etapów typowej procedry analizy skpień, a następnie scharakteryzowano fnkcje pakietów clstersim, stats, clster i ade4 środowiska R słżących realizacji poszczególnych jej etapów. Ponadto przedstawiono przykładowe składnie poleceń (procedry) z wykorzystaniem analizowanych fnkcji, łatwiające potencjalnem żytkownikowi realizację wiel zagadnień klasyfikacyjnych niedostępnych w podstawowych pakietach statystycznych. 55 Literatra Breckenridge J.N. (2000), Validating Clster Analysis: Consistent Replication and Symmetry, "Ml tivariate Behavioral Research", 35 (2), s. 261 285. Caliński R.B., Harabasz J. (1974), A endrite Methodfor Clster Analysis, "Commnications in Sta tistics", vol. 3, s. 1-27. Cannone F.J., Kara A., Maxwell S. (1999), HINo V: a New Method to Improve Market Segment efini/ion by Identifying Noisy Variabies, "Joma1 of Marketing Research", November, vol. 36, s.501 509. Hartigan J. (1975), Clstering Algorithms, Wiley, New York. Hbert L. (1974), Approximate Evalation Techniqefor the Single-link and Complete-link Hierarchical Clstering Procedres, "Jomal ofthe American Statistical Association", vol. 69, nr 347, s.698-704. Kafman L., Rosseew P.J. 0990), Finding Grops in ata: an Introdction to Clster Analysis, Wiley, New York. Mi11igan G.W. (1996), Clstering Validation: Reslts and Implications for Applied Analyses, [w:] Clstering and Classijication, red. P. Arabie, L.J. Hbert, G. de Soete, World Scientific, Singapore, s. 341-375. Mi11igan G.W., Cooper M.C. (1985), An Examination ofprocedres ofetermining the Nmber of Clster in a ata Set,,,Psychometrika", vol. 50, nr 2, s. 159-179. R evelopment Core Team (2006), R: A Langage and Environment for Statistical Compting, R Fondation for Statistical Compting, Vienna, URL http://www.r-project.org.
56 Tibshirani R., Walther G., Hastie T. (2001), Estimating the Nmber ofclsters in a ata Set via the Gap Statistic, "Jomal ofthe Royal Statistical Society", ser. B, vol. 63, part 2, s. 411-423. Walesiak M. (2005), Rekomendacje w zakresie strategii postępowania w procesie klasyfikacji zbior obiektów, [w:] Przestrzenno-czasowe modelowanie i prognozowanie zjawisk gospodarczych, red. A. Zeliaś, AE, Kraków, s. 185-203. Walesiak M. (2006), Uogólniona miara odległości GM w programie kompterowym c/stersim dla środowiska R, [w:] Taksonomia 14, red. K. Jajga, M. Walesiak, Prace Nakowe Akademii Ekonomicznej we Wrocławi nr 1169, AE, Wrocław. Walesiak M., dek A. (2006), Symlacyjna optymalizacja wybor procedry klasyfikacyjnej dla danego typ danych - oprogramowanie kompterowe i wyniki badań, [w:] Taksonomia 13, red. K. Jajga, M. Walesiak, Prace Nakowe Akademii Ekonomicznej we Wrocławi nr 1126, AE, Wrocław, s. 120-129. Walesiak M., dek A. (2007a), Symlacyjna optymalizacja wybor procedry klasyfikacyjnej dla danego typ danych - charakterystyka problem, Zeszyty Nakowe Uniwersytet Szczecińskiego nr 450, s. 635-646. Walesiak M., dek A. (2007b), etermination ofoptimal Clstering Procedrefora ata Set, 30th Annal Conference of the German Classitication Society (GfKI) "Advances in ata Analysis", Berlin, March 8-10, 2006. Walesiak M. (2007), Ocena stabilności wyników klasy.fikacji z wykorzystaniem analizy replikacji, Prace Nakowe Akademii Ekonomicznej we Wrocławi (w przygotowani). CLUSTER ANAL YSIS PROCEURE WITH CLUSTZRSIM COMPUTER PROGRAMME AN R ENVIRONMENT Smmary The tirst part of the article presents major steps in a clster analysis procedre (see [Milligan 1996, 342-343; Walesiak 2005]). The nex.t part presents the fnctions of clstersim, stats, clster, and ade4 packages ofr environment which are applied to solving clstering problerns in each stage ofthis procedre. Also the examples ofthe syntax (procedres) for solving different clstering problerns are presented. These procedres help to resolve a broad range of classitication problems that are not available in statistical packages (e.g. SPSS, Statistica, S-Pls, SAS).