dr Piotr Sulewski POMORSKA AKADEMIA PEDAGOGICZNA W SŁUPSKU KATEDRA INFORMATYKI I STATYSTYKI Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych Wprowadzenie Obecnie bardzo popularne wśród użytkowników komputerów są pakiety biurowe. W szczególności na uwagę - dzięki swym ogromnym możliwościom obliczeniowym zasługują arkusze kalkulacyjne. Wiele zagadnień ze statystyki rozwiązuje się metodą modelowania statystycznego i w związku z tym potrzebne są generatory liczb losowych. Celem tej publikacji jest porównanie generatorów liczb losowych równomiernych pochodzących z takich programów jak: Microsoft Excel 3, Quattro Pro 9, Star Office 5., Open Office1.1... Dostęp do kodów generatorów liczb losowych w większości środowisk programistycznych jest niemożliwy, dlatego jedynym sposobem porównywania i oceny jakości tych generatorów jest użycie metod statystycznych. Niniejszy artykuł poświęcony jest generatorom liczb losowych o rozkładzie równomiernym. Dokładne omówienie tego zagadnienia w literaturze polskiej można znaleźć w pracy [1]. Generatory te wykorzystywane są w profesjonalnych programach użytkowych tak bardzo popularnych dzięki szybkiemu rozwojowi technik komputerowych.. W pracy [] dokonano porównania generatorów liczb losowych równomiernych pochodzących z takich aplikacji jak: Excel, Visual Basic, Mathcad, Mathematica, Statistica. Trend i sezonowość Mając do dyspozycji każdy ze wspomnianych wcześniej arkuszy kalkulacyjnych, wygenerowano zestawy po mln liczb losowych każdy z przedziału (;1). W celu przeprowadzenia analizy porównawczej liczby te zostały zgromadzone w skoroszycie złożonym z czterech arkuszy (1 kolumn po. liczb każda), których nazwy odpowiadały danym programom. Na podstawie uzyskanych zestawów dokonano sprawdzenia trendu i sezonowości w ciągach 1 liczb pobranych w sposób losowy z przygotowanych wcześniej arkuszy. Teorię niezbędną do przeprowadzenia testów trendu i sezonowości oraz dokładny opis 1
ILOŚĆ FAZ realizacji programowej w edytorze Visual Basic for Applications [3] przedstawiono w pracy []. Wyniki przeprowadzonych testów przedstawiają tablice 1 i. Istotą pierwszego testu jest weryfikacja hipotezy zerowej o braku trendu w ciągach liczb losowych o rozkładzie równomiernym, natomiast istotą drugiego testu jest weryfikacja hipotezy Ho o braku zjawiska sezonowości. Tabl. 1. Wyniki testu trendu w ciągach liczb losowych uzyskanych z generatorów Excel Quattro Pro Star Office Open Office ilość znaków dodatnich 5 53 51 5 ujemnych 53 5 513 519 wartość krytyczna 1,9 1,9 1,9 1,9 statystyka testowa,,97,1, Hipoteza H przyjęta przyjęta przyjęta przyjęta Źródło: materiały własne we wszystkich tablicach i wykresach Tabl.. Wyniki testu sezonowości w ciągach liczb losowych uzyskanych z generatorów dł. fazy Excel Quattro Pro Star Office Open Office 1 1 3 7 17 17 1 17 3 7 9 5 13 9 1 5 1 1 3 1 7 wartość krytyczna 9, 9, 9, 11,7 statystyka testowa,15,533,3 7,73 Hipoteza H przyjęta przyjęta przyjęta przyjęta Na podstawie uzyskanych wyników można stwierdzić, że w ciągach 1 liczb losowych pochodzących z analizowanych arkuszy kalkulacyjnych nie występuje ani zjawisko trendu, ani zjawisko sezonowości. Omawiane testy dla każdej aplikacji zostały powtórzone 1 razy w celu przekonania się, czy zjawiska trendu i sezonowości nie występują w każdej przeprowadzonej próbie testowej. Tablica 3 zawiera wartości średnie stosownych statystyk testowych oraz ilość prób, w których hipoteza zerowa została przyjęta (wartość statystyki jest mniejsza od wartości krytycznej).
Tabl. 3. Trend i sezonowość w 1 przeprowadzonych testach Excel Quattro Pro Star Office Open Office trend sezonowość wartość średnia statystyk krotność przyjęcia hipotezy H o wartość średnia statystyk krotność przyjęcia hipotezy H o,79,73,3,71 9 9 93 95 5, 5,5 5,1 5,5 9 7 9 Dla trendu najlepiej zaprezentowały się Open Office oraz Excel, gdyż mają największą krotność przyjęcia hipotezy zerowej o braku zjawiska trendu oraz najmniejsza wartość średnią statystyk. W teście sezonowości najmniejszą średnią wartością testową oraz najmniejszą liczbą odrzuconych hipotez charakteryzuje się produkt Microsoftu. Zgodność z rozkładem równomiernym Test chi-kwadrat jest jednym z najczęściej stosowanych testów zgodności, a jego opis i tablice wartości krytycznych można znaleźć w wielu pracach, w tym między innymi w [1,,5]. W niniejszej pracy zastosowano test chi-kwadrat do badania zgodności uzyskanych realizacji zmiennej losowej z rozkładem równomiernym Liczby losowe wyprodukowane przez generatory zaimplementowane w omawiane aplikacje (n=1), zostały przypisane do jednej z k klas (k=1), którymi są przedziały i k i 1, i 1,..., k 1 k Do przeprowadzenia testu wykorzystano 1 liczb losowych (1 serii po 1), które zostały wykorzystane przez poniżej przedstawioną procedurę realizującą test chi-kwadrat (komentarze umieszczono po apostrofie). Wyniki testów zgodności liczb losowych z rozkładem równomiernym zostały zamieszczone na wykresach 1 -. Dla Microsoft Excel (wykres 1) tylko w dwóch przypadkach (seria nr 1 i 9) wartości statystyki chi-kwadrat były większe od wartości krytycznej, która przy poziomie istotności,5 wynosi 1,9. W Open Office (wykres ) tylko w seriach o numerach 5, 7, 9 została odrzucona hipoteza o zgodności rozkładu liczb losowych z rozkładem równomiernym. 3
W Quattro Pro (wykres ) oraz w Star Office (wykres 3) wartości statystyki chi-kwadrat przekroczyły poziom krytyczny kolejno w seriach 15, 1, 1, 5, 1 oraz,, 3,,. Sub chi_generator() 'deklaracja zmiennych Dim M(1) As Integer Dim i, j, u, seria As Byte 'losowy wybór wiersza wiersz = 1 + Int(1975 * Rnd) 'przypisanie wartości krytycznej do komórki C1 Worksheets("chi-kwadrat").Cells(1, 3) = Application.ChiInv(.5, 9) 'początek pętli "seria" For seria = 1 To 1 'zerowanie każdej z 1 klas For i = 1 To 1 M(i) = Next i 'wybór arkusza wybor = InputBox("Wybierz arkusz kalkulacyjny") Select Case wybor Case "excel" Worksheets("excel").Select Case "quattro" Worksheets("quattro").Select Case "star_office" Worksheets("star_office").Select Case "open_office" Worksheets("open_office").Select End Select 'przypisanie liczby losowej do jednej z 1 klas For j = 1 To 1 u = Int(1 * Cells(j + wiersz, seria)) + 1 M(u) = M(u) + 1 Next j 'obliczanie wartości statystyki chi-kwadrat chi = For u = 1 To 1 chi = chi + ((M(u) - 1.) ^ ) / 1. Next u 'wybór arkusza "chi-kwadrat" Worksheets("chi-kwadrat").Select 'zapisanie wyniku w kolumnie A Cells(seria, 1) = chi Next seria End Sub
wartości statystyki chi^ wartości statystyki chi^ Wykres 1. Wartości statystyki chi-kwadrat dla arkusza kalkulacyjnego Microsoft Excel 3 Microsoft Excel 3 1 wartość krytyczna 1,91977 1 1 1 1 1 3 5 7 9 1 numer serii Wykres. Wartości statystyki chi-kwadrat dla arkusza kalkulacyjnego Quattro Pro 9 Quattro Pro 9 1 wartość krytyczna 1,91977 1 1 1 1 1 3 5 7 9 1 numer serii 5
wartości statystyki chi^ wartości statystyki chi^ Wykres 3. Wartości statystyki chi-kwadrat dla arkusza kalkulacyjnego Star Office 5. Star Office 5. 1 wartość krytyczna 1,91977 1 1 1 1 1 3 5 7 9 1 numer serii Wykres. Wartości statystyki chi-kwadrat dla arkusza kalkulacyjnego Open Office 1.1.. Open Office 1.1.. 1 watość krytyczna 1,91977 1 1 1 1 s 1 3 5 7 9 1 numer serii
Funkcja gęstości miary rozbieżności chi^ Na wykresie 5 porównano funkcję gęstości rozkładu chi-kwadrat dla 9 stopni swobody z wyliczonymi w konkretnych testach i wyznaczonymi metodami Parzena [,] empirycznymi rozkładami rozbieżności chi-kwadrat. Wykres 5. Zgodność rozkładów generatorów z rozkładem chi-kwadrat uzyskanych metodą Parzena,1,1 Excel Quattro Pro Star Office Open Office chi^,1,,,, 1 1 1 1 1 Miara rozbiezności chi^ Analizując uzyskane wyniki dotyczące testowania chi-kwadrat można dojść do wniosku, że generatory pochodzące z omawianych arkuszy kalkulacyjnych charakteryzują się podobnymi własnościami statystycznymi. Dla 1 przeprowadzonych serii zachodziły nieliczne przypadki odrzucenia hipotezy o zgodności rozkładu generatora z rozkładem równomiernym. Podobnie jak dla testów trendu i sezonowości należy wyróżnić generatory pochodzące z Excela i Open Office a. Średnia i wariancja Dla 1 liczb losowych pochodzących z omawianych arkuszy kalkulacyjnych obliczono wartości średnie i wariancje (tablica ) oraz porównano je z wartościami teoretycznymi (tablica 5), które odpowiednio dla wartości średniej i wariancji wynoszą 1/ oraz 1/1. W celu posortowania wyników obliczono wartości bezwzględne z różnic pomiędzy wartościami doświadczalną i teoretyczną. 7
Tablica. Wartości średnie i wariancje generatorów Excel Quattro Pro Star Office Open Office wartości teoretyczne średnia,993,9,99,51,5 wariancja,,3,55,3,33 Tablica 5. Ranking generatorów według błędów oszacowań wartości średnich i wariancji od wartości teoretycznych wartość średnia wariancja oszacowanie błąd oszacowania generator oszacowanie błąd oszacowania generator,993,7 Excel,3,1 Open Office,51,13 Open Office,, Excel,9,31 Quattro Pro,3,11 Quattro Pro,99,5 Star Office,55,1 Star Office Podsumowanie Na podstawie wyników testów przeprowadzonych w niniejszym artykule można stwierdzić, że własności statystyczne generatorów pochodzących z różnych arkuszy kalkulacyjnych są podobne. Nie można jednak pominąć faktu, że w przeprowadzonych badaniach najlepiej wypadły generatory pochodzące z Excela i Open Office a. Można tutaj mówić o remisie, ze wskazaniem jednak na Open Office a jako programu zaliczanego do grupy freeware. W czasach drogiego oprogramowania jest to istotny czynniki, na który należy zwrócić uwagę. Streszczenie Artykuł poświęcony jest porównaniu generatorów liczb losowych równomiernych pochodzących z takich programów jak: Microsoft Excel 3, Quattro Pro 9, Star Office 5., Open Office1.1... Dostęp do kodów generatorów liczb losowych w większości środowisk programistycznych jest niemożliwy, dlatego jedynym sposobem porównywania i oceny
jakości tych generatorów jest użycie metod statystycznych. Zbadano zgodność uzyskanych wyników z rozkładem równomiernym, wykorzystano wartość średnią i wariancję oraz zastosowano testy trendu i sezonowości. BIBLIOGRAFIA [1] Wieczorkowski R., Zieliński R., Komputerowe generatory liczb losowych, WN-T, Warszawa 1997 [] Sulewski P., Zastosowanie numerycznych metod estymacji uogólnionego rozkładu gamma w badaniach niezawodnościowych, praca doktorska, Instytut Badań Systemowych PAN, Warszawa [3] Webb J., Użycie Visual Basic dla aplikacji w Excelu, Warszawa 1997 [] Sulewski P., Test trendu i sezonowości, Słupskie Prace Matematyczno Fizyczne nr 1, Słupsk 1, s. 111-11 [5] Brandt S., Analiza danych, PWN, Warszawa [] Sulewski P., Wyznaczanie położenia punktów doświadczalnych na siatce rozkładu normalnego, Wiadomości Statystyczne nr 11, Warszawa 3, s. 1-9 9