Rozdział 7. Procedury i testy statystyczne

Spis treści

Funkcje statystyczne
Statystyka chi-kwadrat (Chi-square statistic)
Współczynnik korelacji Pearsona (Pearson's correlation coefficient)
Procedura wielowymiarowej analizy częstotliwości występowania (Multidimensional frequency analysis procedure)
Testy statystyczne
Użycie testów statystycznych
Dystrybuanta empiryczna
Test Andersona-Darlinga (The Anderson-Darling test)
Test Chi-kwadrat (The Chi-square test)
F-test
Test Kołmogorowa-Smirnowa (Kolmogorov-Smirnov test)
Kuiper test
Test Levene'a
Test Manna-Whitneya (Mann-Whitney test)
Test Pearsona
Test proporcji
Test znaków
Test Spearmana
Test t-Studenta
Bibliografia

Funkcje statystyczne

Ten rozdział rozważa metody liczenia różnych statystyk dla danych zaimplementowane w AdvancedMiner.

Procedury freq, chiSquare oraz Pearson są w stanie wysłać wyniki do MS Office Excel lub OpenOffice, pod warunkiem, że odpowiednie połączenie z pakietem biurowy znajduje się w oknie dialogowym opcji AdvancedMiner. Patrz rozdział Integracja z popularnymi pakietami biurowymi. aby poznać szczegóły. Możliwe jest również, aby wyświetlić otrzymany arkusz wynikowy wewnętrznie w AdvancedMiner, zaznaczając Internal components w opcjach okna dialogowego AdvancedMiner.

Statystyka chi-kwadrat (Chi-square statistic)

Funkcja chiSquare oblicza wartość statystyki Chi-kwadrat dla zależnych i niezależnych zmiennych. Dodatkowo liczona jest całkowita liczba wystąpień, procent w całkowitej liczbie wystąpień oraz oczekiwana liczba wystąpień.

Wiersze o wartościach NULL są pomijane.

Przykład wyniku dla chiSquare jest pokazany poniżej

Rysunek 7.1. Fragment wyniku dla 'chiSquare'

Fragment wyniku dla 'chiSquare'

Składnia:

chiSquare(alias.table, independent, dependent, silent = 0|1)
            
  • alias - aliasem skierowanie do bazy danych, jeśli wartość pominięta to użyty alias domyślny.

  • table - nazwa tabelki z danymi do analizy

  • independent - nazwa kolumny z niezależną zmienną

  • dependent - nazwa kolumny z zależną zmienną

  • silent - jeśli ustawione na 1 wynik nie pojawi się w arkuszu kalkulacyjnym pakietu biurowego lub części wewnętrznej. Domyślnie: 0

Procedura zwraca tabelkę z policzonymi wartościami statystyki Chi-kwadrat dla zależnych i niezależnych zmiennych (patrz przykład poniżej).

Przykład 7.1. Procedura Chi-kwadrat

table 'beer':
    sex likeBeer

    male yes
    male yes
    male no
    female no
    female no
    female yes
    male no
    male yes
    female no
    female no
    male yes
    female yes
    male yes
    male yes
    male yes
    male no
    
result = chiSquare('beer', 'sex', 'likeBeer',silent=1)

strFormat = "%10s%10s%10s" 

print strFormat % ("","yes","no")

strFormat = "%-10s%10.2f%10.2f"

print strFormat %('male',result['male']['yes'],result['male']['no'])
print strFormat %('female',result['female']['yes'],result['female']['no'])
    

Wynik:

                 
                yes        no
male            0.34      0.43
female          0.56      0.72
    

Współczynnik korelacji Pearsona (Pearson's correlation coefficient)

Funkcja pearson oblicza współczynnik korelacji Pearsona

Wiersze o wartościach NULL są pomijane.

Składnia:

pearson(alias.intable, columnNames, sort = 0|1, silent = 0|1)                
            
                pearson(alias.intable, columnNames , sort = 0|1,silent=0|1)
            
  • alias - aliasem skierowanie do bazy danych

  • intable - nazwa tabeli

  • columnNames - Nazwy kolumn, dla których współczynnik korelacji Pearsona zostanie obliczony. Jeśli nie podano nazw kolumn to współczynniki są obliczane dla wszystkich kolumn.

  • sort - jeśli ustawione na 1 to nazwy kolumn będą posortowane w tabeli. Domyślnie: 1

  • silent - jeśli ustawione na 1 wynik nie pojawi się w arkuszu kalkulacyjnym pakietu iurowego lub części wewnętrznej. Domyślnie: 0

Procedura zwraca tabelę współczynników korelacji.

Rysunek 7.2. Fragment wyniku dla 'pearson'

Fragment wyniku dla 'pearson'

Przykład 7.2. Procedura Pearsona

 table 'sport_cars':
    
    name        weight      speed    cost
    'skoda'      1200        260    10.000
    'renault'    1360        280    10.500 
    'opel'       900         240    8.200
    'VW'         1400        280    12.00
    'Fiat'       1450        260    7.800
    'Alfa Romeo' 1300        280    11.000
    
result = pearson('sport_cars',[ 'weight', 'speed','cost'],sort = 0,silent=1)

strFormat = '%-10s%10s%10s%10s'
print strFormat % ('','weight','speed','cost')
strFormat = '%-10s%10.2f%10.2f%10.2f'
print strFormat % ('weight',1,result['weight']['speed'],result['weight']['cost'])
print strFormat % ('speed',result['speed']['weight'],1,result['speed']['cost'])
print strFormat % ('cost',result['cost']['weight'],result['cost']['speed'],1)
    

Wynik:

              weight     speed      cost
weight          1.00      0.76      0.37
speed           0.76      1.00      0.82
cost            0.37      0.82      1.00
    

Procedura wielowymiarowej analizy częstotliwości występowania (Multidimensional frequency analysis procedure)

Procedura mdfreq jest potężnym narzędziem do analiz wzajemnych przekrojów kilku zmiennych. Wykorzystuje OpenOffice DataPilot lub MS Office PivotTable funkcje aby stworzyć tabele przestawną. Po pierwsze, zestaw danych określony przez parametr inTable jest kopiowany do arkusza kalkulacyjnego (Są pewne limity dotyczące liczby wierszy i kolumn, które muszą być respektowane. Ilość wierszy nie może przekraczać 32000 w OpenOffice 2.0 i 65000 w MS Office, liczba kolumn nie może przekraczać 256). Jeśli zbiór danych jest za duży aby zmieścić się w arkuszu kalkulacyjnym, wówczas możliwy jest podział tabeli lub użycie procedury sample aby zrobić próbkę z danych.

Po skopiowaniu danych do arkusza kalkulacyjnego tworzony jest szkielet tabeli przestawnej (Data Pilot).

Zobacz diagram poniżej opisujący główne części tabeli przestawnej w OpenOffice.

Rysunek 7.3. Diagram tabeli przestawnej (Data Pilot diagram)

Diagram tabeli przestawnej (Data Pilot diagram)

Zaznaczone elementy:

  • A - Skrzyżowanie wierszy tabeli

  • B - Skrzyżowanie kolumn tabeli

  • C - Dane w przecięciach

  • D - Kliknij prawym przyciskiem myszy na tym obszarze i wybierz polecenie "Start ..." aby zmienić ustawienia domyślne.

MS Office tabele przestawne wyglądają podobnie, ale część D, otrzymuje się jako łatwy w użyciu menedżer tabel przestawnych

Rysunek 7.4. MS Office - przykład tabel przestawnych.

MS Office - przykład tabel przestawnych.

MS Office 2003 i nowsze wersje mają ciekawą cechę - drążenia danych. Przez podwójne kliknięcie na wartości w wygenerowanym tabeli jest możliwe zobaczenie wartość danych źródłowych wykorzystywanych do liczenia konkretnego wyniku.

Domyślnie Data Pilot jest tworzony dla trzech pierwszych kategorycznych atrybutów z zestawu danych. Konfiguracja ta jednak może być ustawiona ręcznie. Jeśli tabela ma mniej niż trzy zmienne kategoryczne, jest możliwe aby zmusić mdfreq żeby traktowała atrybuty numeryczne jak kategoryczne używając categorical.

Składnia

mdfreq(alias.intable, categorical = [column_name, column_name, ... ], drop = [ column_name, column_name, ... ] )
            
  • intable - nazwa tabelki z danymi do analizy

  • categorical - lista atrybutów, które powinny być traktowane jak kategoryczne

  • drop - lista atrybutów, które nie powinny użyte w Data Pilot

Przykład 7.3. Procedura wielowymiarowej analizy częstotliwości występowania (Multidimensional frequency analysis procedure - mdfreq)

table 'mdfreq_test':
    Model     Age    Status
    'Ford'    12     'Free'
    'Ford'    7      'Non-Free'
    'Ford'    11     'Free'
    'Fiat'    1      'Crashed'
    'Fiat'    5      'Free'
    'Mazda'   6      'Crashed'
    'Mazda'   12     'Free'

mdfreq('mdfreq_test', categorical=['Age'])
    

Wynik:

*****Script 'mdfreq_docscript' finished after 2s. *****
    

Powyższy kod przekształca poniśzy arkusz do postaci tabelki grupującej

Rysunek 7.5. mdfreq arkusz wyjściowy - zestaw danych

mdfreq arkusz wyjściowy - zestaw danych

Rysunek 7.6. mdfreq arkusz wyjściowy - Data Pilot jest dodawany jako nowy arkusz

mdfreq arkusz wyjściowy - Data Pilot jest dodawany jako nowy arkusz