AUTOMATYZACJA PRACY Z PROGRAMEM STATISTICA NA PRZYKŁADZIE ANALIZ TAKSONOMICZNYCH Marek Sobolewski, Politechnika Rzeszowska, Katedra Metod Ilościowych Głównym celem poniższej publikacji jest przybliżenie czytelnikom możliwości automatyzacji pracy z programem STATISTICA, a także tworzenia nowych narzędzi analitycznych. W szczególności w artykule zaprezentowano autorskie rozszerzenie programu STATISTICA, pozwalające na efektywne, w wysokim stopniu zautomatyzowane, tworzenie rankingów za pomocą metod porządkowania liniowego. Przedstawiona aplikacja ma określać zakres i sposób prezentacji wyników rankingów. Obliczenia mogą być prowadzone dla danych przekrojowych lub przekrojowo-czasowych. Zaproponowano szereg ułatwień, ukierunkowanych na usprawnienie procesu analizy i raportowania wyników. W szczególności użytkownik programu może prowadzić analizę taksonomiczną na bardzo dużym zbiorze danych, ale w generowanym raporcie zawrzeć rezultaty tylko dla wybranych obiektów. Ilustrację możliwości programu stanowi ranking poziomu życia w Polsce w przekroju powiatów w latach 2003-2011. Wartości miernika syntetycznego mogą być przedstawiane zarówno w formie szczegółowej tabeli, obejmującej wszystkie badane obiekty, jak i w postaci zdefiniowanych przez użytkownika raportów częściowych. Przykładowo mogą one zawierać: tabele z wynikami dla 10. najlepszych i 10. najgorszych obiektów w rankingu; Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 85
wyniki analiz dla dowolnie zdefiniowanego podzbioru na przykład pozycje w rankingu i wartości miernika syntetycznego dla powiatów woj. podkarpackiego na tle całej analizowanej zbiorowości; połączenie opisanych w poprzednich dwóch punktach tabel. Pakiet komputerowy powinien umożliwiać nie tylko przeprowadzenie obliczeń związanych z daną metodą statystyczną, ale także pozwalać na ich zestawienie w formie wysokiej jakości raportu statystycznego. Użytkownik programu powinien mieć możliwość zadecydowania, jaki zakres wyników i w jakiej formie znajdzie się w końcowym zestawieniu. Co więcej, rezultaty analiz prezentowane są w formie tabel i wykresów, osadzonych i sformatowanych bezpośrednio w programie Word (wykorzystano tu fakt, iż zarówno Word, jak i STATISTICA mają wbudowany ten sam język programowania Visual Basic). Możliwość automatyzacji pracy z programem STATISTICA Praca statystyka to nie tylko przeprowadzenie odpowiednich obliczeń (tu potrzebna jest znajomość metodyki i odpowiednie narzędzia komputerowe), ale także przedstawienie tych wyników w taki sposób, by były one zrozumiałe i ciekawe, nawet (a może właśnie przede wszystkim) dla czytelnika, który statystykiem nie jest. W pakietach statystycznych zaimplementowano zarówno elementarne metody statystyki opisowej, jak i bardzo złożone techniki analiz wielowymiarowych. Uzyskanie wyników poszczególnych analiz jest więc stosunkowo proste. To jednak nie wyczerpuje problemu złożoności pracy analityka danych, gdyż bardzo często istnieje konieczność przeprowadzenia całej serii obliczeń, które następnie trzeba zestawić w zbiorczych tabelach lub wykresach. Do tego dochodzą ważne, a niestety bardzo często zaniedbywane kwestie, jak odpowiednia dokładność wyświetlania wyników liczbowych (zazwyczaj jest ona zbyt duża, co wcale nie oznacza wyniku lepszego, a tylko czyni przekazywaną 86 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
informację trudną w odbiorze) czy wyeksponowanie wyników znamiennych statystycznie [3]. W programie STATISTICA istnieje wiele możliwości automatyzacji pracy z danymi, które pozwalają rozwiązać zasygnalizowane powyżej problemy. Optymalizacja pracy może polegać na modyfikacji domyślnych ustawień programu, przypisywaniu często wykorzystywanym poleceniom skrótów klawiaturowych, definiowaniu własnych stylów, wykorzystywaniu szablonów wykresów i możliwości ich aktualizacji [4]. Bardziej zaawansowany sposób automatyzacji pracy z programem STATISTICA polega na wykorzystaniu języka programowania STATISTICA Visual Basic. Stworzenie aplikacji znacznie usprawniającej pracę nad analizami statystycznymi jest bardzo proste wystarczy jednokrotnie wykonać dany typ obliczeń, a następnie odczytać i zmodyfikować jej kod dostępny w języku STATISTICA Visual Basic. Modyfikacje mogą polegać na wprowadzeniu pętli, powodującej wykonanie analizy dla wielu zmiennych, sformatowaniu arkuszy wynikowych i zebraniu ich w tabeli zbiorczej. Aby uprościć czasochłonne przenoszenie wyników do raportu statystycznego, formatowanie tekstu i tabel po ich wklejeniu są to czynności automatyczne i powtarzalne należy z poziomu programu STATISTICA zarządzać dokumentami programu Word. Jak się okazuje, taka możliwość istnieje, co zostanie pokrótce opisane w kolejnym punkcie. Współpraca programu STATISTICA z programem Word Z poziomu języka STATISTICA Visual Basic można bez problemu odwoływać się do wszystkich poleceń programów Word, Excel czy PowerPoint, korzystając z faktu, iż w programach tych wbudowane są narzędzia programistyczne Microsoft Visual Basic. Poniżej omówiony zostanie, z konieczności bardzo skrótowo, sposób odwoływania się do poleceń programu Word w programie STATISTICA Visual Basic. Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 87
W pierwszej kolejności, aby korzystać z poleceń języka Word Visual Basic, należy do programu pisanego w STATISTICA Visual Basic, dołączyć odpowiednią bibliotekę poleceń. Można to zrobić w następujący sposób: wybieramy polecenie Narzędzia, a następnie Odwołania, i zaznaczamy opcję Microsoft Word Object Library. Jeżeli program Word jest już otwarty, wystarczy kilka linii programu, aby uzyskać dostęp do otwartego w nim dokumentu. Można to uczynić na przykład w następujący sposób: Dim W As Word.Application Dim A As Word.Document Set W = GetObject(,"Word.Application") Set A=W.ActiveDocument Teraz bez problemu przekazujemy wyniki z programu STATISTICA do tabel w programie Word. Poniżej podano przykładowe polecenia, za pomocą których tworzy się nową tabelę w otwartym dokumencie, a następnie w 2. jej wierszu i 3. kolumnie wstawia wartość z 5. wiersza i 3. kolumny arkusza Wyniki z programu STATISTICA. Wartość ta, będąca na przykład prawdopodobieństwem testowym (p), zostaje zaokrąglona do czterech miejsc po przecinku, pogrubiona i wyróżniona żółtym kolorem, jeśli jest istotna statystycznie. Set t = A.Tables.Add (W.Selection.Range, 10, 4) p = Wyniki.Value(5, 3) t.cell(2, 3) = Format (p, "0.0000") 88 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
t.cell(2, 3).Range.Bold = True if p<=0.05 then t.cell(2, 3).Shading.ForegroundPatternColor = RGB(255, 255, 0) Metody porządkowania liniowego Metodami porządkowania liniowego nazywane są procedury wchodzące w skład taksonomii numerycznej, które służą do porządkowania zbioru obiektów poprzez syntezę informacji zawartych w wartościach wielu zmiennych. Metody porządkowania liniowego są szeroko stosowane w badaniach z zakresu: ekonomii, zarządzania, administracji, edukacji, naukach przyrodniczych czy nawet w medycynie. Ich wykorzystanie jest konieczne wszędzie tam, gdzie przedmiotem analizy są zjawiska bezpośrednio niemierzalne, takie jak: poziom lub jakość życia, atrakcyjność inwestycyjna czy jakość oferty edukacyjnej uczelni [por. 5]. Metody porządkowania liniowego cechuje dość duża złożoność obliczeniowa. Problemem jest jednak często nie tyle konieczność przeprowadzenia pewnych wyliczeń, lecz także czytelne i atrakcyjne przedstawienie ich wyników. Na przykładzie dotyczącym analizy poziomu życia w powiatach omówione zostaną sposoby przeprowadzenia takich wyliczeń. Przedmiotem analizy będą dane dotyczące czterech determinant poziomu życia w powiatach: wskaźnika urodzeń, wskaźnika bezrobocia, poziomu wynagrodzeń i wskaźnika poziomu budownictwa mieszkaniowego. Fragment bazy danych, obejmującej dane z lat 2003-2011 zamieszczono na rys. 1. Aby wyznaczyć miarę poziomu życia, stanowiącą syntezę informacji zawartych w tych wskaźnikach, można posłużyć się metodami porządkowania liniowego. W tym celu należy ujednolicić charakter zmiennych (tzw. normalizacja), a następnie dokonać ich syntezy najczęściej za pomocą wartości średniej. W programie STATISTICA można przeprowadzić normalizację zmiennych poprzez nadanie im rang lub za pomocą klasycznej standaryzacji. Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 89
Rys. 1. Fragment analizowanego arkusza danych (źródło: opracowanie własne). Ponieważ w trakcie obliczeń będziemy zmieniać oryginalne wartości zmiennych, najpierw za pomocą polecenia Zmienne/Kopiuj powielimy je na końcu arkusza danych. Na tych przekształconych zmiennych, za pomocą polecenia Zmienne/Ranguj lub Standaryzuj, możemy ujednolicić zakres ich wartości. Należy jednak pamiętać, że wskaźnik bezrobocia ma odmienny charakter od pozostałych cech, ponieważ z wyższym poziomem życia związane są jego niskie wartości (cechę taką nazywa się destymulantą w odróżnieniu od stymulant, którymi są pozostałe trzy zmienne). Wykorzystując procedurę rangowania, należy zatem przypisać najlepsze (1. miejsce) wartości najwyższej w przypadku stymulant, zaś dla destymulant postąpić odwrotnie (por. rys. 2). W przypadku stosowania procedury standaryzacji wartości zmiennej Wskaźnik bezrobocia należy odwrócić, obliczając za pomocą formuły wartość przeciwną. 90 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
Rys. 2. Procedura rangowania dla destymulant i stymulant (źródło: opracowanie własne). Po przeprowadzeniu normalizacji (obejmującej także ujednolicenie kierunku zmiennych czyli sprowadzenie destymulant do stymulant) dodajemy nową zmienną i dla każdego przypadku wyliczamy miernik syntetyczny [poziomu życia] za pomocą stosownej formuły (w naszym przypadku: = mean(v8:v11)). Sortując dane malejąco względem wartości miernika syntetycznego, otrzymujemy ostateczną postać rankingu (rys. 3). Rys. 3. Wyniki obliczeń dla rankingu stworzonego za pomocą metody standaryzacji (źródło: opracowanie własne). Przedstawione rozwiązanie, choć nienastręczające większych trudności, ma jednak charakter nietrwały. Dla innych danych, innej liczby zmiennych, całą procedurę trzeba rozpocząć od nowa. Ponadto uzyskanie wartości miernika syntetycznego i nawet posortowanie arkusza wynikowego nie rozwiązuje kwestii czytelnego zobrazowania wyni- Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 91
ków. Wszystkich powiatów w Polsce jest kilkaset, nasuwa się więc potrzeba posiadania wygodnego narzędzia do prezentowania uzyskanych wyników, nie dla wszystkich analizowanych obiektów, lecz na przykład dla ich części, będących przedmiotem szczególnego zainteresowania badacza. Kolejna sprawa to fakt, iż wiele publikacji, w których wykorzystuje się metody porządkowania liniowego, ma charakter statyczny. A przecież rozważenie danych z różnych okresów czasowych powinno być w wielu sytuacjach wręcz nieodzowne, gdyż bez oglądu badanego zjawiska w szerszym horyzoncie czasowym nie sposób określić stabilności i praktycznej wartości wyników uzyskanych w rankingach przekrojowych. Być może powodem takich ograniczeń jest brak odpowiedniego oprogramowania, które w sprawny sposób pozwoliłoby nie tylko przeprowadzić obliczenia, ale znacząco ułatwić prezentację wybranych wyników. Zaprezentowana aplikacja rozwiązuje te problemy, umożliwiając skonstruowanie rankingów czasowo-przestrzennych, określenie zawartości raportu z wynikami, a następnie zapisanie całego schematu analizy i odtworzenie go niemal automatycznie. Dzięki temu raz zdefiniowane badanie można powtarzać dla danych rozszerzonych o kolejne przypadki czy okresy czasowe, dla innych kombinacji zmiennych diagnostycznych lub też w przypadku wykrycia błędów w danych. Opis programu Program umożliwia przeprowadzenie obliczeń za pomocą wzorcowych i bezwzorcowych metod porządkowania liniowego. Rankingi mogą być tworzone zarówno dla danych przekrojowych (w ujęciu statycznym), jak i czasowo-przekrojowych (w ujęciu dynamicznym). W przypadku danych czasowo-przekrojowych dopuszczalne są różne schematy wejściowych danych (dopuszczalne jest ułożenie informacji z różnych okresów czasowych w sąsiadujących kolumnach albo w postaci stosu danych). Na rys. 4 przedstawiono interfejs omawianego programu. 92 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
Użytkownik ma możliwość komponowania własnych metod tworzenia rankingów, jako dowolnej kombinacji procedur zamiany destymulant na stymulanty, normalizacji oraz sposobu wyliczania miary syntetycznej (podobnie dla procedur wzorcowych). Po zdefiniowaniu pewnej liczby metod (pole Lista metod) użytkownik może tworzyć na ich podstawie raporty zawierające wyniki, zarówno w formie tabel, jak i wykresów (rys. 4). Rys. 4. Interfejs programu Rankingi w programie STATISTICA (źródło: opracowanie własne). Zestawienia te mogą być tworzone oddzielnie dla różnych procedur tworzenia rankingów oraz w zbiorczych tabelach, pozwalających ocenić, na ile wyniki zależą od wyboru metody porządkowania. Inne, ważniejsze zalety programu to: możliwość przedstawiania wyników dla dowolnie zdefiniowanych podzbiorów wszystkich analizowanych obiektów; możliwość uzupełniania prezentacji wyników dla pewnego zbioru obiektów o wyniki skrajne (najlepsze i najgorsze obiekty) z całej zbiorowości lub innego, zawężonego zbioru obiektów; Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 93
w przypadku rankingów czasowo-przekrojowych możliwość oceny trendów dla każdego analizowanego obiektu (program dopasowuje model liniowy dla każdego analizowanego przypadku por. tab. 2); niekonwencjonalne sposoby wizualizacji danych na przykład prezentacja zmian miary syntetycznej dla wybranego obiektu(ów) na tle rozkładu wyników dla całej zbiorowości (por. rys. 5); Tabela 1. Przykładowy raport wygenerowany za pomocą programu Rankingi miernik syntetyczny dla rankingu czasowo-przestrzennego skonstruowanego w oparciu o metodę unitaryzacji zerowanej (źródło: opracowanie własne). Metoda unitaryzacji Miasta Polski południowo-wschodniej 2003 2004 2005 2006 2007 2008 2009 2010 2011 Miernik syntetyczny Biała Podlaska (lubelskie) 29% 30% 33% 33% 40% 41% 47% 44% 46% Chełm (lubelskie) 24% 22% 25% 28% 32% 36% 39% 37% 36% Zamość (lubelskie) 27% 26% 30% 31% 33% 39% 43% 35% 37% Lublin (lubelskie) 34% 34% 38% 39% 42% 48% 46% 47% 46% Krosno (podkarpackie) 31% 29% 30% 34% 38% 38% 37% 38% 36% Przemyśl (podkarpackie) 24% 25% 27% 26% 29% 34% 33% 32% 30% Rzeszów (podkarpackie) 35% 36% 35% 42% 42% 48% 54% 47% 53% Tarnobrzeg (podkarpackie) 27% 25% 28% 31% 31% 34% 33% 35% 33% automatyczne wykonanie analizy zgodności rankingów stworzonych według różnych metod (np. w postaci macierzy współczynników korelacji); 94 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
w przypadku rozbudowanych tabel użycie schematów kolorystycznych, za pomocą których eksponowane są wartości miar syntetycznych lub pozycje w rankingach (tab. 1). Tab. 2. Analiza trendów miary syntetycznej dla powiatów miejskich Polski południowowschodniej. Miasta Polski południowo-wschodniej Analiza trendów miary syntetycznej w latach 2003-2011 Min Max R S r B Biała Podlaska (lubelskie) 29,3% 47,5% 0,93* 0,95* 2,4 Chełm (lubelskie) 22,5% 38,9% 0,87* 0,92* 2,1 Zamość (lubelskie) 26,1% 43,1% 0,85* 0,82* 1,7 Lublin (lubelskie) 34,0% 47,8% 0,85* 0,92* 1,8 Krosno (podkarpackie) 29,1% 38,3% 0,63 0,80* 1,1 Przemyśl (podkarpackie) 24,4% 33,9% 0,82* 0,80* 1,0 Rzeszów (podkarpackie) 35,1% 53,7% 0,90* 0,93* 2,5 Tarnobrzeg (podkarpackie) 24,7% 34,6% 0,90* 0,88* 1,1 R S współczynnik korelacji Spearmana, r współczynnik korelacji liniowej, B współczynnik kierunkowy trendu liniowego (źródło: opracowanie własne). Przykładowe wyniki Działanie programu przedstawiono na przykładzie rankingu poziomu rozwoju społeczno-gospodarczego powiatów w latach 2003-2011, ze szczególnym uwzględnieniem Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 95
sytuacji w Polsce południowo-wschodniej 4). Jednym z użytecznych narzędzi dostępnych w programie jest możliwość prezentacji raportów cząstkowych, zawierających wyniki tylko dla dowolnie zdefiniowanego przez użytkownika zbioru obiektów. W oknie wejściowym programu określono zmienne z arkusza danych, mające charakter stymulant lub destymulant, a także zmienną zawierającą informacje o jednostkach czasowych, dla których tworzony będzie ranking (przypomnijmy, że były to lata 2003-2011). Zdefiniowano kilka metod tworzenia rankingów oraz kilka podzbiorów, które były istotne z punktu widzenia odbiorcy analizy, jakim są mieszkańcy Polski południowowschodniej. Określono sposób prezentacji wyników w formie tabel oraz wykresów, tak aby na ich podstawie można było ocenić poziom i dynamikę rozwoju społecznogospodarczego powiatów woj. podkarpackiego i lubelskiego na tle całego kraju. 4) Do obliczeń wykorzystano cztery cechy, dla których w Banku Danych Lokalnych GUS znalazły się kompletne dane za lata 2003-2011 na poziomie powiatów. Trzy z tych cech, a mianowicie: przeciętne wynagrodzenie, wskaźnik dzietności oraz wskaźnik wybudowanych mieszkań miały charakter stymulant, zaś czwarta cecha stopa bezrobocia była oczywiście traktowana jako destymulanta. 96 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
Rys. 5. Propozycja wizualizacji wyników rankingu czasowo-przestrzennego wykres profili wybranych przypadków na tle statystyk pozycyjnych całej analizowanej zbiorowości (źródło: opracowanie własne). W pełnym raporcie, którego prezentacja wykracza oczywiście poza możliwości tej publikacji, znalazły się wyniki rankingów (zarówno w postaci miar syntetycznych, jak i pozycji w rankingach przekrojowych dla każdego okresu) dla powiatów woj. podkarpackiego i woj. lubelskiego oraz oddzielnie dla miast na prawach powiatów z Podkarpacia i Lubelszczyzny. Dla tych przypadków wykonano także analizę trendów, ponadto dla każdego (!) z 379 powiatów wyniki przedstawiono w formie wykresu profili na tle rozkładu całej populacji (por. rys. 5). Pełny raport będzie zawierał niemal 300 stron tabel i wykresów. Czas wykonania obliczeń i wygenerowania takiego raportu to zaledwie kilka minut. Co więcej, obliczenia można powtórzyć w identycznym zakresie dla innych danych wejściowych. Powyżej zamieszczono dwie przykładowe tabele i dwa wykresy, Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 97
w formie takiej, w jakiej zostały automatycznie wygenerowane w raporcie wyników (tab. 1-2, rys. 5). Podsumowanie Metody porządkowania liniowego są zaimplementowane w niewielu programach statystycznych, a jeżeli już są, to zakres dostępnych narzędzi jest niewielki, zaś sposób i forma uzyskiwanych wyników wymaga pracochłonnej obróbki, zanim rezultaty analizy staną się czytelne i przystępne dla ich potencjalnego odbiorcy [1]. Rozszerzenie programu STATISTICA, które zostało opisane w tym artykule, pozwala na sprawne tworzenie rankingów, przy czym produktem końcowym obliczeń jest gotowy, starannie przygotowany raport w programie Word. Uzyskuje się w ten sposób znaczne usprawnienie procesu tworzenia rankingów, przy jednoczesnym poszerzeniu zakresu uzyskiwanych wyników. Wyeliminowane zostają błędy i pomyłki spowodowane czynnikiem ludzkim, a powtórzenie analizy według raz określonego schematu odbywa się niemal natychmiast. I wreszcie najważniejsze skrócenie czasu obliczeń i edycji wyników to więcej czasu na ich interpretację. Przedstawiona w poniższej pracy aplikacja będzie udoskonalana, zarówno pod kątem zwiększenia palety narzędzi statystycznych, jak i sposobów graficznej i tabelarycznej prezentacji wyników. Program został skonstruowany w taki sposób, że wprowadzenie nowych elementów jest bardzo łatwe i nie powoduje konieczności zmian w jego strukturze przykładowo: określenie kolejnej formuły normalizacyjnej wymaga uzupełnienia tylko jednego podprogramu. 98 Copyright StatSoft Polska 2014, info@danewiedzasukces.pl
Literatura 1. Bąk A. [2013], Metody porządkowania liniowego w polskiej taksonomii pakiet PLLORD, Prace Naukowe Uniwersytetu Ekonomicznego we Wrocławiu, nr 278, s. 54-62. 2. Grabiński T. [1992], Metody taksonometrii, Wydawnictwo Akademii Ekonomicznej w Krakowie, Kraków. 3. Kozak M. [2012], Statystyka: wizualizacja, korelacja, publikacja, [w:] Zastosowania statystyki i data mining w badaniach naukowych, StatSoft, Kraków. 4. Migut G. [2009], Automatyzacja raportowania w STATISTICA, StatSoft Polska, Kraków. 5. Pociecha J., Podolec B., Sokołowski A., Zając K. [1988], Metody taksonomiczne w badaniach społeczno-ekonomicznych, PWN, Warszawa. Copyright StatSoft Polska 2014, info@danewiedzasukces.pl 99