Test Scipy KS

Test Scipy KS

Python jest rozpoznawany jako język programowania komputera, który umożliwia pisanie różnych rodzajów oprogramowania i programów komputerowych. Ten język ma kryteria poziomu wysokiej wydajności wśród wszystkich innych języków, a jego pakiet nie ogranicza się tylko do niektórych konkretnych programów lub zadań oprogramowania. Jest raczej znany jako język wszechstronny, którego można użyć do pisania dowolnego programu, czy to programu matematycznego, matryc i ich operacji, wdrażania równań różniczkowych lub szkolenia modelu uczenia maszynowego oraz szkolenia sztucznego nerwowego sieć. Do każdego zadania twoja nazwa Pythona zapewnia mu pod jedną platformę. Scipy pochodzi z języka programowania Pythona. Ma moduły, które importują niezbędne informacje do programu dla funkcji zbudowanych do uczenia maszynowego i modeli głębokiego uczenia się. Scipy oferuje jedną taką funkcję, jak scipy „KS Test”.

Test KS jest rozpoznawany jako „test Kołmogorowa-Smirnova”, w którym dowiadujemy się, jaki rodzaj/rodzaj dystrybucji jest próbka w teście. Istnieją dwie metody prowadzenia takich testów na podstawie liczby próbek, które podajemy temu testowi jako jego parametry wejściowe.

Procedura:

Test KS z dwoma rodzajami funkcji zostanie wyjaśniony i wykazany praktycznie w tym artykule. Ten artykuł zawiera dobrą wiedzę na temat wprowadzenia i funkcjonalności testu KS. Następnie wyjaśnia metodę pisania tych funkcji w skrypcie Pythona z dyskusją na temat jego parametrów należących do listy argumentów wejściowych obu funkcji.

Składnia:

Ponieważ już wiemy z poprzedniego wyjaśnienia, że ​​test KS ma dwa typy charakteru, funkcjonalność obu tych funkcji jest taka sama, ale nieco różnią się konfiguracją pod względem listy argumentów. Jeden z dwóch testów KS jest znany jako prosty „test KS”. Wymaga tylko jednej próbki danych i przeprowadza test dla tych danych. Drugi to „test KS_2Sample”. Ten test przeprowadza ten sam test KS, ale dla dwóch różnych przykładowych danych. Składnia zarówno testu KS (), jak i KS_2 () podano odpowiednio w następujący sposób:

$ scipy. statystyki.kstest ()
$ scipy. statystyki.KS_2SAMP ()

Wartość zwracana:

Obie wcześniej wspomniane funkcje zwracają ten sam rodzaj wyniku. Obie zwracają dwie wartości-jedna to „statystyczna”, a druga to „wartość p”-gdzie wartość p jest głównym podejmowaniem decyzji, niezależnie od tego, czy próbki należą do tego samego rozkładu, czy nie.

Przykład 1:

Załóżmy, że mamy próbkę danych, która należy lub została wygenerowana z pewnym rozkładem. Teraz, za pomocą testu KS, chcemy wiedzieć, z którego dystrybucji należą te dane. Zakładamy, że hipoteza zerowa, która stwierdza, że ​​dane przykładowe pochodzą z normalnego rozkładu i jesteśmy w 95 procentach pewni naszej hipotezy. W innym przypadku, który jest alternatywnym przypadkiem, mamy opcję odrzucenia hipotezy zerowej, jeśli wartość p zwróci się na test KS, będzie miała wartość mniejszą niż „0.05 ”.

Hipoteza zerowa jest odrzucana, jeśli wynik spadnie poniżej 0.05, wskazując, że losowa próbka nie pochodzi nawet z rozkładu normalnego. Przeprowadźmy test KS dla przykładowych danych, które wygenerujemy wyjątkowo dla tego przykładu. Należy pamiętać, że platforma Python, w której napiszemy program dla tego przykładu, to „Google COLLAB”.Otwórz nowy notatnik w kolabcie, a następnie zacznij pisać program. Importujemy bibliotekę „Numpy”, aby użyć jej modułu do zdefiniowania danych z rozkładem.

Zintegruj ten pakiet Numpy jako „NP” w programie. Drugą biblioteką do dodania do programu jest „statystyki”, który jest modułem z biblioteki Scipy. Zaimportuj je ze statystyk biblioteki Scipy, które następnie dodają moduły w programie używanym do działania funkcji KSTEST (). Przydzielić zmienną przy założeniu „x”. Przypisz do tego wartość przykładowych danych, wywołując statystyki do przypisania jako „Statystyki.norma.RVS (rozmiar = 100, Random_State = RNG) ”.

Za pomocą tego wywołania definiujemy dane zmiennej losowej za pomocą norm Stats.RVS funkcjonują, aby normalnie rozpowszechniać te dane. Hipoteza zerowa polega na tym, że ta próbka pochodzi z rozkładu normalnego. Rozmiar tych danych jest określony jako „200”. Aby sprawdzić wyniki funkcji KSTEST () na tych danych, przekazujemy te dane do parametru funkcji KSTEST () jako „statystyki. kstest (x) ”. Wyjście dla następującego programu jest następujące:

z statystyk importu Scipy
A = statystyki.norma.RV (rozmiar = 200)
RSLT = statystyki.Kstest (A, statystyki.norma.CDF)
Drukuj (RSLT)

Wartość p testu KS jest większa thsan 0.05. Tak więc nie jesteśmy w stanie odrzucić hipotezy, że dane przykładowe należą do normalnego rozkładu standardowego.

Przykład 2:

Teraz przeprowadzamy inny rodzaj testu KS, który jest „KS_2TEST”. Obejmuje dwa przykładowe dane i komentarze, jeśli obie próbki należą do tego samego rozkładu, czy nie. Zaimportuj moduł „statystyki” z biblioteki Scipy i zadeklaruj dwa przykładowe dane za pomocą „Statystyki. norma. RV (rozmiar = 115) ”i„ Statystyki.norma.odpowiednio RV (rozmiar = 105) ”. Zapisz je jako „Data1” i „Data2”. Generuje to dwa dane o rozmiarach „115” i „105” z normalnym rozkładem. Hipoteza zerowa polega na tym, że oba te dane pochodzą z tego samego rodzaju „normalnego standardowego” rozkładu. Aby to sprawdzić, przekazuj te dwa dane do „ks_2 test ()” jako „statystyki.KS_2SAMP (Data1, Data2) ”i sprawdź wartość p. Program i wyniki są wymienione następująco:

Wartość P jest nie mniejsza niż 0.05. Tak więc hipoteza zerowa, którą przyjęliśmy dla tych danych, jest odpowiednia i nie mamy prawa je odrzucić.

data1 = statystyki.norma.RV (rozmiar = 115)
data2 = statystyki.norma.RVS (rozmiar = 105)
RSLT = statystyki.KS_2SAMP (Data1, Data2)
Drukuj (RSLT)

Wniosek

Przeprowadziliśmy dwa testy KS przy użyciu różnych funkcji, które oferuje test KS dla jednej próbki jako „statystyki.KS test () ”i dla dwóch próbek danych jako„ KS_2SAMP () ”. Na podstawie wyników funkcji zdecydowaliśmy, który próbka danych należy do jakiego rodzaju dystrybucji. W obu przypadkach okazało się to standardowym rozkładem typu normalnego.