Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich den Chi-Quadrat-Test für die statistische Analyse in Python?

Wie verwende ich den Chi-Quadrat-Test für die statistische Analyse in Python?

王林
王林Original
2023-06-03 23:40:312370Durchsuche

Als wichtige statistische Methode ist der Chi-Quadrat-Test eine der am häufigsten verwendeten Testmethoden für die Beziehung zwischen kategorialen Variablen. In Python stellt die SciPy-Bibliothek die Chi-Quadrat-Funktion zur Durchführung von Chi-Quadrat-Tests bereit. In diesem Artikel werden das Prinzip, die Verwendung und Implementierungsbeispiele des Chi-Quadrat-Tests vorgestellt, um den Lesern zu helfen, den Chi-Quadrat-Test besser zu verstehen und anzuwenden.

1. Prinzip des Chi-Quadrat-Tests

Die Kernidee des Chi-Quadrat-Tests besteht darin, die Differenz zwischen dem tatsächlich beobachteten Wert und dem theoretischen Wert zu vergleichen. Wenn der Unterschied zwischen den beiden signifikant ist, bedeutet dies, dass zwischen den beiden Variablen eine Beziehung besteht. Der Chi-Quadrat-Test analysiert Daten in verschiedenen Dimensionen unterschiedlich. In diesem Artikel wird hauptsächlich das Prinzip des zweidimensionalen Chi-Quadrat-Tests vorgestellt.

Bei einer zweidimensionalen Tabelle geht der Chi-Quadrat-Test zunächst davon aus, dass zwischen den beiden Variablen keine Beziehung besteht, berechnet den erwarteten Wert E basierend auf der Annahme und berechnet dann das Chi -Quadratwert basierend auf dem tatsächlich beobachteten Wert O und dem erwarteten Wert E. Abschließend wird ein Signifikanztest durch Tabellensuche oder Berechnung durchgeführt, um festzustellen, ob die Hypothese begründet ist.

Die spezifische Berechnungsformel lautet wie folgt:

Chi-Quadrat-Wert χ²=(O-E)²/E

wobei O der tatsächlich beobachtete Wert ist und E ist der erwartete Wert.

Wenn der Chi-Quadrat-Wert größer ist, ist die Beziehung zwischen den beiden Variablen signifikanter, und umgekehrt wird die Hypothese abgelehnt, wenn der Chi-Quadrat-Wert kleiner ist. und die Hypothese wird akzeptiert.

2. Verwendung des Chi-Quadrat-Tests

  1. Datenvorbereitung

Bevor Sie den Chi-Quadrat-Test durchführen, Sie müssen gute Daten vorbereiten. Im Allgemeinen liegen Daten in Form einer zweidimensionalen Tabelle vor, die sowohl den tatsächlich beobachteten Wert O als auch den erwarteten Wert E enthält, wie unten gezeigt:

     类别A          类别B

Variable 1 70 30
Variable 2 40 60

Unter diesen stellt 70 die Anzahl der Schnittpunkte zwischen Variable 1 und Kategorie A dar.

  1. Berechnen Sie den Chi-Quadrat-Wert basierend auf Daten

Mit der SciPy-Bibliothek in Python können Sie den Chi-Quadrat-Wert einfach berechnen und der entsprechende p-Wert. Der Code lautet wie folgt:

from scipy.stats import chisquare
import numpy as np

obs = np.array([[70, 30], [40, 60]])  #实际观测值
exp = np.array([[50, 50], [50, 50]])  #期望值

stat, pval = chisquare(obs.ravel(), f_exp=exp.ravel())
print(stat, pval)

Darunter wird die Chi-Quadrat-Funktion zur Berechnung des Chi-Quadrat-Werts und des entsprechenden p-Werts verwendet, obs und exp stellen den tatsächlich beobachteten Wert bzw. den erwarteten Wert dar und Die Funktion ravel() wandelt das zweidimensionale Array in ein dimensionales Array um, der Parameter f_exp gibt den erwarteten Wert an. Wenn er auf „None“ gesetzt ist, wird obs.sum()/4 als erwarteter Wert verwendet.

  1. Testen der Hypothese

Nachdem Sie den Chi-Quadrat-Wert und den p-Wert erhalten haben, müssen Sie feststellen, ob die Hypothese wahr ist. Im Allgemeinen wird das Signifikanzniveau α auf 0,05 festgelegt. Wenn der p-Wert kleiner oder gleich α ist, wird die Nullhypothese abgelehnt, was darauf hinweist, dass eine Beziehung zwischen den beiden Variablen besteht. Andernfalls wird die Nullhypothese akzeptiert es gibt keine Beziehung.

Der Code lautet wie folgt:

alpha = 0.05

if pval <= alpha:
    print("Reject null hypothesis, variables are related.")
else:
    print("Accept null hypothesis, variables are independent.")

3. Implementierungsbeispiel

Das Folgende ist ein einfaches Beispiel, um die Verwendung des Chi-Quadrats zu demonstrieren prüfen. Angenommen, auf einer E-Commerce-Website wird ein A/B-Test durchgeführt, um zu testen, ob es Auswirkungen auf die Browsing-Zeit der Website gibt, nachdem sich Benutzer angemeldet haben. Die Daten lauten wie folgt:

     浏览时长<10s      浏览时长>=10s

Login A 1000 2000
Login B 1500 2500

Zuerst müssen wir den Erwartungswert E berechnen. Der anhand der Daten berechnete Erwartungswert lautet wie folgt:

     浏览时长<10s      浏览时长>=10s

Login A 1200 1800
Anmelden B 1300 1900

Verwenden Sie Python-Code, um Berechnungen und Hypothesentests wie folgt durchzuführen:

obs = np.array([[1000, 2000], [1500, 2500]])  #实际观测值
exp = np.array([[1200, 1800], [1300, 1900]])  #期望值

stat, pval = chisquare(obs.ravel(), f_exp=exp.ravel())
print(stat, pval)

alpha = 0.05

if pval <= alpha:
    print("Reject null hypothesis, variables are related.")
else:
    print("Accept null hypothesis, variables are independent.")

Das Endergebnis ist: Lehne die Nullhypothese ab, Dies zeigt an, dass die Anmeldemethode des Benutzers einen Einfluss auf die Browsing-Zeit hat.

4. Zusammenfassung

Der Chi-Quadrat-Test ist eine häufig verwendete Testmethode für die Beziehung zwischen kategorialen Variablen, mit der festgestellt werden kann, ob zwischen zwei Variablen eine Beziehung besteht. In Python kann der Chi-Quadrat-Test einfach mit der von der SciPy-Bibliothek bereitgestellten Chi-Quadrat-Funktion durchgeführt werden. Durch die Einführung dieses Artikels können Leser den Chi-Quadrat-Test besser verstehen und verwenden und die statistische Analyse von Daten kann standardisierter und wissenschaftlicher erfolgen.

Das obige ist der detaillierte Inhalt vonWie verwende ich den Chi-Quadrat-Test für die statistische Analyse in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist ein ORM in Python?Nächster Artikel:Was ist ein ORM in Python?