scipy.statystyki.chi2_contingency¶

scipy.stats.chi2_contingency(observed, correction=True, lambda_=None)¶

Chi-kwadratowy test niezależności zmiennych w tabeli awaryjnej.

funkcja ta oblicza statystykę chi-kwadrat i wartość p dla testu niezależności obserwowanych częstotliwości w tabeli obserwowanej. Oczekiwane częstotliwości są obliczane na podstawie Sum krańcowych przy założeniu niezależności; patrz scipy.stats.contingency.expected_freq. Liczba stopni jest (wyrażona za pomocą funkcji i atrybutów numpy):

dof = observed.size - sum(observed.shape) + observed.ndim - 1

parametry obserwowane w tabeli

. Tabela zawiera obserwowane częstotliwości (tj. liczbę wystąpień) w każdej kategorii. W przypadku dwuwymiarowym tabela jest często opisywana jako „tabela R X C”.

correctionbool, opcjonalnie

Jeśli True, a stopień swobody wynosi 1, Zastosuj korektę Yatesa dla ciągłości. Efektem korekty jest dostosowanie każdej wartości o 0,5 do odpowiadającej jej wartości oczekiwanej.

lambda_float lub str, opcjonalnie.

domyślnie statystyka obliczona w tym teście jest statystyką Pearsona do kwadratu . lambda_ pozwala na użycie statystyki z rodziny dywergencji mocy Thecressie-Read. Szczegóły można znaleźć wpower_divergence.

zwraca chi2float

statystykę testu .

pfloat

wartość p testu

dofint

stopnie swobody

oczekiwane, taki sam kształt jak obserwowany

oczekiwane częstotliwości, na podstawie Sum krańcowych tabeli.

uwagi

często cytowaną wskazówką dla ważności tego obliczenia jest to, że test powinien być stosowany tylko wtedy, gdy obserwowane i oczekiwane częstotliwości w każdej komórce wynoszą co najmniej 5.

jest to test na niezależność różnych kategorii apopulacji. Test ma znaczenie tylko wtedy, gdy wymiar obserwacji wynosi dwa lub więcej. Zastosowanie testu do jednowymiarowej tablicy zawsze spowoduje, że oczekiwana będzie równa obserwowanej, a statystyka achi-kwadratowa równa 0.

Ta funkcja nie obsługuje tablic maskowanych, ponieważ obliczenia nie mają sensu z brakującymi wartościami.

jak statystyki.chisquare, funkcja ta oblicza statystykę chi-kwadrat; wygoda ta funkcja zapewnia jest obliczenie oczekiwanych częstotliwości i stopni swobody z danej tabeli awaryjności.Gdyby były one już znane i gdyby korekta Yatesa nie była wymagana, można by użyć statystyk.chisquare. Oznacza to, że jeśli ktoś wywoła:

chi2, p, dof, ex = chi2_contingency(obs, correction=False)

To prawda jest następująca:

(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)

argument lambda_ został dodany w wersji 0.13.0 scipy.

1

„tabela awaryjna”,https://en.wikipedia.org/wiki/Contingency_table

2

„Test Chi-squared Pearsona”,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test

3

Cressie, N. and Read, T. R. C., „MULTINOMIAL Goodness-of-FitTests”, J. Royal Stat. Soc. Seria B, Vol. 46, nr 3 (1984), s. 440-464.

przykłady

dwukierunkowy przykład (2 x 3):

>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))

wykonaj test za pomocą współczynnika prawdopodobieństwa log (tj.

>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)

przykład czterokierunkowy (2 x 2 x 2 x 2):

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.