Jak obliczyć wyniki z w pythonie


W statystyce wynik z informuje nas, o ile odchyleń standardowych dana wartość znajduje się od średniej . Do obliczenia wskaźnika Z używamy następującego wzoru:

z = (X – μ) / σ

Złoto:

  • X to pojedyncza surowa wartość danych
  • μ to średnia populacji
  • σ jest odchyleniem standardowym populacji

W tym samouczku wyjaśniono, jak obliczyć wyniki Z dla nieprzetworzonych wartości danych w Pythonie.

Jak obliczyć wyniki Z w Pythonie

Możemy obliczyć z-score w Pythonie za pomocą scipy.stats.zscore , który używa następującej składni:

scipy.stats.zscore(a, oś=0, ddof=0, nan_policy=’propaguj’)

Złoto:

  • a : obiekt typu tablicowego zawierający dane
  • : oś, wzdłuż której obliczane są wyniki Z. Wartość domyślna to 0.
  • ddof : korekta stopni swobody przy obliczaniu odchylenia standardowego. Wartość domyślna to 0.
  • nan_policy : jak sobie poradzić, gdy dane wejściowe zawierają nan. Wartość domyślna to propagate, która zwraca wartość nan. „raise” powoduje błąd, a „pomiń” wykonuje obliczenia ignorując wartości nan.

Poniższe przykłady ilustrują, jak używać tej funkcji do obliczania wyników Z dla jednowymiarowych tablic numpy, wielowymiarowych tablic numpy i ramek danych Pandas.

Numpy tablice jednowymiarowe

Krok 1: Zaimportuj moduły.

 import pandas as pd
import numpy as np
import scipy.stats as stats

Krok 2: Utwórz tabelę wartości.

 data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])

Krok 3: Oblicz współczynniki Z dla każdej wartości w tabeli.

 stats.zscore(data)

[-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]

Każdy wynik z mówi nam, ile odchyleń standardowych ma dana wartość od średniej. Na przykład:

  • Pierwsza wartość „6” w tabeli to 1,394 odchylenia standardowego poniżej średniej.
  • Piąta wartość „13” w tabeli to 0 odchylenia standardowego od średniej, czyli jest równa średniej.
  • Ostatnia wartość „22” w tabeli to 1,793 odchylenia standardowego powyżej średniej.

Numpy tablice wielowymiarowe

Jeśli mamy tablicę wielowymiarową, możemy użyć parametru osi , aby określić, że chcemy obliczyć każdy wynik Z względem jego własnej tablicy. Załóżmy na przykład, że mamy następującą tablicę wielowymiarową:

 data = np.array([[5, 6, 7, 7, 8],
                 [8, 8, 8, 9, 9],
                 [2, 2, 4, 4, 5]])

Do obliczenia współczynnika Z dla każdej tabeli możemy użyć następującej składni:

 stats.zscore(data, axis=1)

[[-1.569 -0.588 0.392 0.392 1.373]
[-0.816 -0.816 -0.816 1.225 1.225]
[-1.167 -1.167 0.5 0.5 1.333]]

Wyniki Z dla każdej indywidualnej wartości są wyświetlane w odniesieniu do tabeli, w której je znaleziono. Na przykład:

  • Pierwsza wartość „5” w pierwszej tabeli to 1,159 odchylenia standardowego poniżej średniej z tej tabeli.
  • Pierwsza wartość „8” w drugiej tabeli to 0,816 odchylenia standardowego poniżej średniej z tej tabeli.
  • Pierwsza wartość „2” w trzeciej tabeli to 1,167 odchylenia standardowego poniżej średniej z tej tabeli.

Ramki danych Pandy

Załóżmy, że zamiast tego mamy ramkę danych Pandas:

 data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])
data

ABC
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

Możemy użyć funkcji Apply , aby obliczyć wynik Z poszczególnych wartości na kolumnę:

 data.apply(stats.zscore)

          ABC
0 0.659380 -0.802955 0.836080
1 -0.659380 -0.802955 0.139347
2 0.989071 0.917663 0.487713
3 -1.648451 1.491202 -1.950852
4 0.659380 -0.802955 0.487713

Wyniki Z dla każdej indywidualnej wartości są wyświetlane w odniesieniu do kolumny, w której się znajdują. Na przykład:

  • Pierwsza wartość „8” w pierwszej kolumnie to 0,659 odchylenia standardowego powyżej średniej wartości w tej kolumnie.
  • Pierwsza wartość „0” w drugiej kolumnie jest o 0,803 odchylenia standardowego niższa od średniej wartości w tej kolumnie.
  • Pierwsza wartość „9” w trzeciej kolumnie to 0,836 odchylenia standardowego powyżej średniej wartości w tej kolumnie.

Dodatkowe zasoby:

Jak obliczyć wyniki Z w programie Excel
Jak obliczyć wyniki Z w SPSS
Jak obliczyć wyniki Z na kalkulatorze TI-84

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *