So berechnen sie z-scores in python


In der Statistik sagt uns ein Z-Score , wie viele Standardabweichungen ein Wert vom Mittelwert hat. Wir verwenden die folgende Formel, um einen Z-Score zu berechnen:

z = (X – μ) / σ

Gold:

  • X ist ein einzelner Rohdatenwert
  • μ ist der Bevölkerungsmittelwert
  • σ ist die Populationsstandardabweichung

In diesem Tutorial wird erläutert, wie Sie Z-Scores für Rohdatenwerte in Python berechnen.

So berechnen Sie Z-Scores in Python

Wir können Z-Scores in Python mit scipy.stats.zscore berechnen, das die folgende Syntax verwendet:

scipy.stats.zscore(a, axis=0, ddof=0, nan_policy=’propagate‘)

Gold:

  • a : ein Array-Objekt, das Daten enthält
  • Achse : die Achse, entlang der Z-Scores berechnet werden sollen. Der Standardwert ist 0.
  • ddof : Korrektur der Freiheitsgrade bei der Berechnung der Standardabweichung. Der Standardwert ist 0.
  • nan_policy : Vorgehensweise, wenn die Eingabe nan enthält. Der Standardwert ist „Propagate“, was „Nan“ zurückgibt. „raise“ löst einen Fehler aus und „omit“ führt Berechnungen durch, bei denen nan-Werte ignoriert werden.

Die folgenden Beispiele veranschaulichen, wie diese Funktion zum Berechnen von Z-Scores für eindimensionale Numpy-Arrays, mehrdimensionale Numpy-Arrays und Pandas DataFrames verwendet wird.

Numpy eindimensionale Arrays

Schritt 1: Importieren Sie die Module.

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

Schritt 2: Erstellen Sie eine Wertetabelle.

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

Schritt 3: Berechnen Sie die Z-Scores für jeden Wert in der Tabelle.

 stats.zscore(data)

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

Jeder Z-Score sagt uns, wie viele Standardabweichungen ein einzelner Wert vom Mittelwert hat. Zum Beispiel:

  • Der erste Wert von „6“ in der Tabelle liegt 1,394 Standardabweichungen unter dem Mittelwert.
  • Der fünfte Wert von „13“ in der Tabelle beträgt 0 Standardabweichung vom Mittelwert, d. h. er ist gleich dem Mittelwert.
  • Der letzte Wert von „22“ in der Tabelle liegt 1,793 Standardabweichungen über dem Mittelwert.

Numpy mehrdimensionale Arrays

Wenn wir ein mehrdimensionales Array haben, können wir den Achsenparameter verwenden, um anzugeben, dass wir jeden Z-Score relativ zu seinem eigenen Array berechnen möchten. Angenommen, wir haben das folgende mehrdimensionale Array:

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

Wir können die folgende Syntax verwenden, um Z-Scores für jede Tabelle zu berechnen:

 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]]

Die Z-Scores für jeden einzelnen Wert werden relativ zu der Tabelle angezeigt, in der sie gefunden werden. Zum Beispiel:

  • Der erste Wert von „5“ in der ersten Tabelle liegt 1,159 Standardabweichungen unter dem Mittelwert der Tabelle.
  • Der erste Wert von „8“ in der zweiten Tabelle liegt 0,816 Standardabweichungen unter dem Mittelwert der Tabelle.
  • Der erste Wert von „2“ in der dritten Tabelle liegt 1,167 Standardabweichungen unter dem Mittelwert der Tabelle.

Pandas-Datenrahmen

Nehmen wir an, wir haben stattdessen einen Pandas DataFrame:

 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

Mit der Apply- Funktion können wir den Z-Score einzelner Werte pro Spalte berechnen:

 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

Die Z-Scores für jeden einzelnen Wert werden relativ zu der Spalte angezeigt, in der sie sich befinden. Zum Beispiel:

  • Der erste Wert von „8“ in der ersten Spalte liegt 0,659 Standardabweichungen über dem Mittelwert seiner Spalte.
  • Der erste „0“-Wert in der zweiten Spalte ist 0,803 Standardabweichungen niedriger als der Mittelwert in seiner Spalte.
  • Der erste Wert von „9“ in der dritten Spalte liegt 0,836 Standardabweichungen über dem Mittelwert seiner Spalte.

Zusätzliche Ressourcen:

So berechnen Sie Z-Scores in Excel
So berechnen Sie Z-Scores in SPSS
So berechnen Sie Z-Scores auf einem TI-84-Rechner

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert