Radosław Jedynak jedynakr@pr.radom.pl Katedra Matematyki Politechnika Radomska Radom Wybrane możliwości zastosowania technologii internetowych do obliczeń statystycznych Wstęp Przeprowadzony przez autora przegląd polsko- i anglojęzycznych ogólnodostępnych stron internetowych, wspomagających nauczanie statystyki, wskazuje na niedobór takich, które łączą funkcje podręczników elektronicznych oraz narzędzi wspomagających obliczenia statystyczne w postaci kalkulatorów. Przy wyszukiwaniu nie uwzględniono systemów zamkniętych, np. e-learningowych wymagających specjalnego zarejestrowania [Musiał, 2007]. Wśród polskich stron, związanych z nauczaniem statystyki, na szczególną uwagę zasługuje strona firmy StatSoft (http://www.statsoft.pl/textbook/stathome.html), producenta programu Statistica. Witryna internetowa (rys. 1) zawiera Internetowy Podręcznik Statystyki ze sprawnie działającą wyszukiwarką słów kluczowych. Rys. 1. Strona internetowa producenta programu Statistica, zawierająca Internetowy Podręcznik Statystyki 11
Rys. 2. Przykładowa strona pracownika naukowego Uniwersytetu im. M. Kopernika w Toruniu zawierająca podstawowy kurs statystyki dla studentów W kategorii polskojęzycznych stron internetowych występują często prywatne strony pracowników różnych uczelni (rys. 2). Są one najczęściej statyczne i zawierają treści wykładów oraz rozwiązane przykłady bądź też przeznaczone do samodzielnej pracy. Pracownicy naukowi umieszczają na swoich stronach materiały dla studentów, zawierające realizowany program i nie wykraczające poza jego ramy. Natomiast na stronach akademickich mamy generalnie kursy e-learningowe, które z założenia są dostępne tylko dla studentów danej uczelni. Dokonany przegląd wskazuje na brak polskich stron, które obejmowałyby pełne wykłady i ćwiczenia z ciekawymi interaktywnymi przykładami, testami i wykresami. Wśród stron anglojęzycznych, stanowiących dobry przykład podręczników elektronicznych ze statystyki, możemy wskazać strony: Davida M. Lane e rys. 3 (http:// davidmlane.com/hyperstat/index.html) oraz Willa G. Hopkinsa rys. 4 (http://www.sportsci. org/resource/stats/index.html) A New View of Statistics. Treści wymienionych witryn stanowią podręczniki statystyki podstawowej. Strony te w pełni wykorzystują możliwości nawigacji komputerowej, co pozwala w łatwy sposób np. przechodzić do słownika haseł lub zagadnień pokrewnych. 12
Rys. 3. Strona internetowa Davida M. Lane e oferująca kurs statystyki Rys. 4. Strona internetowa Willa G. Hopkinsa oferująca kurs statystyki 13
Rys. 5. Strona internetowa oferująca kolekcję apletów statystycznych Rys. 6. Strona internetowa oferująca zbiór linków do różnych kolekcji apletów statystycznych 14
Wśród stron internetowych oferujących kalkulatory statystyczne na szczególną uwagę zasługują: http://statweb.calpoly.edu/chance/applets/applets.html (rys. 5) oraz http://www.stat.duke.edu/sites/java.html (rys. 6). Strony te zawierają bogaty wykaz kalkulatorów statystycznych pisanych najczęściej w postaci apletów Javy. W grupie bezpłatnych programów statystycznych wysoką renomą, z uwagi na zaawansowanie i jakość procedur obliczeniowych, cieszy się program R (http://www.rproject.org). Należy on jednak do programów trudnych i wymaga umiejętności programistycznych [Jedynak, 2009]. Można skorzystać z jego wersji sieciowej Rweb (http:// bayes.math.montana.edu/rweb/rweb.general.html), która daje możliwość przeprowadzenia dowolnych obliczeń statystycznych za pośrednictwem Internetu. Na rys. 7 przedstawiono okno zawierające treść skryptu napisanego w języku R, rys. 8 prezentuje zaś wynik otrzymany po naciśnięciu przycisku Submit. Rys. 7. Wpisanie skryptu w języku R w jego wersji sieciowej Rweb 15
Rys. 8. Wygenerowany przez serwer internetowy wynik działania skryptu Zebrane spostrzeżenia z przeglądu dostępnych witryn internetowych, poświęconych nauczaniu statystyki przyczyniły się do postawienia głównego celu pracy, którym jest stworzenie projektu witryny internetowej łączącej wybrane elementy teorii statystyki (podręcznika elektronicznego) oraz funkcji obliczeniowych on-line w postaci kalkulatorów statystycznych. Opis zawartości strony internetowej W ramach projektu utworzono witrynę internetową, która została osadzona w domenie matematyka na serwerze Politechniki Radomskiej. Strona składa się z sześciu części (kategorii), zawierających bloki informacji podzielone na konkretne tematy. Strona główna to zbiór informacji ogólnych na temat statystyki i podstawowego podziału parametrów statystycznych. Zawiera informacje o miarach położenia, zmienności oraz pięć linków noszących nazwy: Wstęp, Miary tendencji centralnej, Miary zmienności, skośności i kurtozy, Zadania, Kalkulatory. Wstęp wprowadza użytkownika w główne zagadnienia związane z miarami statystycznymi. Aby wizualnie urozmaicić omawianą stronę WWW, dodano element graficzny na stronie głównej pismo ozdobne (rys. 9). Jego użycie miało za zadanie wzbogacić prostą formę strony. 16
Rys. 9. Strona internetowa www.matematyka.pr.radom.pl/kalkulator widok strony głównej Wstęp Rys. 10. Strona internetowa www.matematyka.pr.radom.pl/kalkulator Miary tendencji centralnej Kolejny link Miary tendencji centralnej to opis matematyczny podstawowych średnich, takich jak: średnia arytmetyczna, geometryczna, harmoniczna oraz mediana. Fragment okna witryny internetowej, prezentującego opis średniej arytmetycznej, przedstawia rys. 10. 17
W linku Miary zmienności, skośności i kurtozy znajdują się informacje, dotyczące następujących parametrów statystycznych: mody, rozstępu, odchylenia przeciętnego, wariancji z populacji oraz próby, odchylenia standardowego z populacji oraz próby, skośności i kurtozy. Każdemu opisowi towarzyszy odpowiedni wzór matematyczny, służący do wyznaczenia omawianego parametru statystycznego. Fragment okna witryny internetowej, prezentującego opis wartości modalnej przedstawia rys. 11. W czwartym bloku tematycznym Zadania, znajdują się przykładowe zadania statystyczne. Każde z zadań opatrzone jest krótką odpowiedzią. Zadania można rozwiązać wykorzystując dostępny na stronie internetowej kalkulator statystyczny (rys. 12). Każde z zadań wykorzystuje do obliczeń inny parametr statystyczny, prezentowany w omawianej witrynie. Ostatnim blokiem są Kalkulatory. Podstrona zawiera 12 kalkulatorów statystycznych, napisanych w Java. Umożliwiają one obliczenie wszystkich parametrów statystycznych omawianych na wspomnianej witrynie internetowej (rys. 13). Kalkulator posiada trzy przyciski: Dodaj, Edytuj ostatni oraz Zeruj wszystkie, a także listę rozwijalną, z której wybieramy odpowiedni parametr statystyczny, jaki ma być obliczony. Wszystkie wprowadzone liczby są automatycznie porządkowane rosnąco tworząc ciąg uporządkowany. Na rys. 14 przedstawiono użycie kalkulatora do rozwiązania zadania 1 z bloku Zadania. Polega ono na wyznaczeniu średniej arytmetycznej z podanych w zadaniu liczb. Rys. 11. Strona internetowa www.matematyka.pr.radom.pl/kalkulator Miary zmienności, skośności i kurtozy 18
Rys. 12. Strona internetowa www.matematyka.pr.radom.pl/kalkulator Zadania Rys. 13. Strona internetowa www.matematyka.pr.radom.pl/kalkulator Kalkulatory Rys. 14. Strona internetowa www.matematyka.pr.radom.pl/kalkulator Kalkulatory przykład obliczenia średniej arytmetycznej 19
Projekt strony Cała strona utworzona jest z wykorzystaniem następujących technologii: HTML, CSS i PHP, aplet kalkulatory napisany jest w Java [Jedynak, 2008a; Ullman, 2007]. Jest przygotowana dla rozdzielczości ekranu 800x600 px. Głównym plikiem odpowiedzialnym za działanie strony jest index.php. Zawiera kod odpowiedzialny za wyświetlenie menu górnego, banera (napis ozdobny), menu lewego i stopki (rys. 15). W komentarzach w tym pliku zaznaczone jest, gdzie się zaczyna i kończy poszczególny element. Każdy z nich jest wyświetlany za pomocą kodu HTML, formatowanie wyglądu jest określone w pliku style.css. Rys. 15. Strona internetowa www.matematyka.pr.radom.pl/kalkulator widok kodu pliku index.php Zawartość dla poszczególnych działów wywoływana jest poprzez kod PHP w zależności od wartości parametru go [Jedynak, 2008b]. // zmienna $go przekazana metoda GET $go = $_GET['go']; // sprawdzamy czy zmienna $go nie jest pusta if(!empty($go)) { // sprawdzamy czy plik o danej nazwie istnieje if(is_file("dzialy/$go.html")) include "dzialy/$go.html"; // jezeli plik nie istnieje wyświetla się komunikat 20
else echo "<br />Przepraszamy. Ta część strony jest wciąż pusta."; } // jezeli zmienna $go jest pusta wyświetla sie strona główna else include "dzialy/wstep.html"; Parametr go jest przypisywany łączom tekstowym np. <a href="index.php?go=kalkulatory">kalkulatory</a><br /> Jest to łącze z menu lewego wczytującego kalkulatory. Po jego kliknięciu parametrowi go przypisywany jest plik dzialy/kalkulatory.html, a jego zawartość jest wyświetlana w miejscu wywołania kodu PHP. Jeżeli wchodzimy pierwszy raz na stronę, to wówczas parametrowi go jest automatycznie przypisywany plik dzialy/wstep.html. Odpowiada za to fragment kodu php: else include "dzialy/wstep.html". Wygląd strony jest określony poprzez kaskadowe arkusze stylów CSS zapisane w pliku style.css. W kodzie HTML położenie poszczególnych elementów określają znaczniki DIV, którym przypisywane są klasy, np. <div id="tabela"></div> Div określa przykładowo ułożenie tabeli (rys. 15). Kalkulator wczytywany jest na stronie za pomocą następujących poleceń <div align="center"> <applet archive="arithmeticmean.jar" code="arithmeticmeanapplet.class" width="560" height="330"> </applet> </div> Treść przykładowych 3 procedur napisanych w Java przedstawiają rys. 16-18. public static double populationvariance(java.util.list list) { // przekazanie ciągu liczb do funkcji deviationscore() która zwraca odchylenie od każdej przekazanej // wartości czyli ile wartości przekażemy tyle odchyleń otrzymamy java.util.list odchylenia = deviationscore(list); // deklaracja zmiennej typu rzeczywistego w której będziemy przechowywać wynik sumy z kwadratów // odchyleń double suma_kwadratow_odchylen = 0; // pętla w której ciele wykonuje się podnoszenie każdego odchylenia do kwadratu i sumowanie // wyników for(int i = 0; i < odchylenia.size(); i++) suma_kwadratow_odchylen += Math.pow(Double.valueOf(odchylenia.get(i).toString()).doubleValue(), 2); // następnie sumę kwadratów dzielimy przez wartość odpowiadającą ilości przekazanych // wartości i otrzymujemy wynik czyli wariancję w populacji return suma_kwadratow_odchylen / list.size();} Rys. 16. Procedura obliczająca wariancję w populacji 21
public static java.util.list deviationscore(java.util.list list) { // obliczenie średniej arytmetycznej z przekazanych wartości za pomocą funkcji arithmeticmean() // i umieszczenie wartości obliczonej średniej w zmiennej srednia typu rzeczywistego double srednia = arithmeticmean (list); // deklaracja tablicy w której będziemy przechowywać wyliczone w dalszej części funkcji odchylenia java.util.list odchylenia = new java.util.arraylist(); // pętla w której wyliczane są odchylenia z przekazanych wartości, odchylenie wylicza się poprzez // odjęcie od wartości średniej ze wszystkich przekazanych wartości for(int i = 0; i < list.size(); i++) odchylenia.add(double.valueof(list.get(i).tostring()).doublevalue() srednia); return odchylenia;} Rys. 17. Procedura obliczająca odchylenia od średniej arytmetycznej public static double arithmeticmean(java.util.list counts) { // deklaracja zmiennej typu rzeczywistego suma double suma = 0.0; // pętla która sumuje wszystkie wartości I umieszcza wynik w zmiennej suma for(int i = 0; i < counts.size(); i++) suma += Double.valueOf(counts.get(i).toString()).doubleValue(); // podzielenie z sumowanych wartości przez ich liczbę i otrzymujemy średnia arytmetyczna return suma / counts.size();} Rys. 18. Procedura obliczająca średnią arytmetyczną Wnioski W artykule przedstawiono projekt witryny internetowej, którą osadzono w domenie matematyka na serwerze Politechniki Radomskiej. Strona obok podstawowych wzorów statystycznych, przykładowych zadań, zawiera 12 kalkulatorów statystycznych. Zostały one napisane jako wydajne aplety Java. Zaletą stworzonej witryny jest możliwość wykorzystania on-line bazowych kalkulatorów statystycznych, do znalezienia rozwiązania podstawowych zagadnień statystycznych, dotyczących głównie miar średnich oraz ich rozrzutu. Projekt ten może być w przyszłości poszerzony o kolejne zagadnienia, w tym testowanie hipotez statystycznych [Jedynak, 2009]. 22
Literatura Jedynak R.: Technologie internetowe dla matematyków. Wydaw. Naukowe Politechniki Radomskiej, Radom 2008 Jedynak R.: Wykorzystanie PHP do tworzenia stron internetowych testujących wiedzę studentów ze statystyki. [W:] Komputer w edukacji. Red. naukowa J. Morbitzer. Wydawca: Pracownia Technologii Nauczania, Akademia Pedagogiczna, Kraków 2008, s. 93-98 Jedynak R.: Komputerowe metody weryfikacji hipotez statystycznych z wykorzystaniem języka R. [W:] Informatyka w dobie XXI wieku. Red. naukowa A. Jastriebow. Wydawca: Politechnika Radomska, Radom 2009, s. 55-58 Musiał E.: Kształcenie na odległość między teorią a praktyką. [W:] Komputer w edukacji. Red. naukowa J. Morbitzer. Wydawca: Pracownia Technologii Nauczania, Akademia Pedagogiczna, Kraków 2007 Ullman L.: PHP5. Zaawansowane tworzenie stron WWW. Szybki start. Helion, Gliwice 2007 23