So berechnen Sie Cramer's V in Python

Von Fabian
Kategorie: Python
Lesezeit: 2 Minuten

Cramers V ist ein Maß für die Assoziationsstärke zwischen zwei nominalen Variablen.

Es reicht von 0 bis 1, wobei:

  • 0 zeigt keine Zuordnung zwischen den beiden Variablen an.
  • 1 zeigt eine starke Assoziation zwischen den beiden Variablen an.

Es wird berechnet als:

Cramers V = √ (X 2 / n) / min (c-1, r-1)

wo:

  • X 2: Die Chi-Quadrat-Statistik
  • n: Gesamtstichprobengröße
  • r: Anzahl der Zeilen
  • c: Anzahl der Spalten

Dieses Tutorial enthält einige Beispiele für die Berechnung von Cramers V für eine Kontingenztabelle in Python.

Beispiel 1: Cramer's V für eine 2 × 2-Tabelle

Der folgende Code zeigt, wie Cramers V für eine 2 × 2-Tabelle berechnet wird:

# notwendige Pakete und Funktionen laden
import scipy.stats as stats
import numpy as np

# 2x2-Tabelle erstellen
data = np.array([[7,12], [9,8]])

# Chi-Quadrat-Teststatistik, Stichprobengröße und Minimum an Zeilen und Spalten
X2 = stats.chi2_contingency(data, correction=False)[0]
n = np.sum(data)
minDim = min(data.shape)-1

# Cramers V berechnen
V = np.sqrt((X2/n) / minDim)

# Cramer's V. anzeigen
print(V)

0.1617

Cramers V ergibt 0,1617, was auf eine ziemlich schwache Assoziation zwischen den beiden Variablen in der Tabelle hinweist.

Beispiel 2: Cramers V für größere Tabellen

Beachten Sie, dass wir die CramerV-Funktion verwenden können, um Cramers V für eine Tabelle beliebiger Größe zu berechnen.

Der folgende Code zeigt, wie Cramers V für eine Tabelle mit 2 Zeilen und 3 Spalten berechnet wird:

# notwendige Pakete und Funktionen laden
import scipy.stats as stats
import numpy as np

# 2x2-Tabelle erstellen
data = np.array([[6,9], [8, 5], [12, 9]])

# Chi-Quadrat-Teststatistik, Stichprobengröße und Minimum an Zeilen und Spalten
X2 = stats.chi2_contingency(data, correction=False)[0]
n = np.sum(data)
minDim = min(data.shape)-1

# Cramers V berechnen
V = np.sqrt((X2/n) / minDim)

# Cramer's V. anzeigen
print(V)

0.1775

Cramers V ergibt 0,1775.

Beachten Sie, dass in diesem Beispiel eine Tabelle mit 2 Zeilen und 3 Spalten verwendet wurde, aber genau dieser Code für eine Tabelle mit beliebigen Dimensionen funktioniert.

Zusätzliche Ressourcen

Chi-Quadrat-Unabhängigkeitstest in Python
Chi-Quadrat-Anpassungstest in Python
Fischers genauer Test in Python

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: