Heim > Artikel > Backend-Entwicklung > Wie verwende ich den Chi-Quadrat-Test für die statistische Analyse in Python?
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
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.
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.
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!