Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie einen F-Test in Python durch

So führen Sie einen F-Test in Python durch

WBOY
WBOYnach vorne
2023-09-09 20:45:021170Durchsuche

Mit dem F-Test prüfen Statistiker, ob zwei Datensätze die gleiche Varianz aufweisen. Der F-Test ist nach Sir Ronald Fisher benannt. Um den F-Test zu verwenden, stellen wir zwei Hypothesen auf, eine Nullhypothese und eine Alternativhypothese. Anschließend wählen wir diejenige der beiden Hypothesen aus, die durch den F-Test bestätigt wird.

Varianz ist ein Maß für die Datenverteilung, das die Abweichung der Daten vom Mittelwert beschreibt. Höhere Werte zeigen eine größere Streuung als kleinere Werte.

In diesem Artikel erfahren Sie, wie Sie F-Test in der Programmiersprache Python durchführen und welche Anwendungsfälle es gibt.

F-Testprozess

Der Prozess zur Durchführung des F-Tests ist wie folgt:

  • Definieren Sie zunächst die Nullhypothese und die Alternativhypothese.

    • Nullhypothese oder H0: σ12 = σ22 (Gleiche Populationsvarianzen)

    • Alternativhypothese oder H1: σ12 ≠ σ22 (Populationsvarianzen sind nicht gleich)

  • Wählen Sie Statistiken zum Testen aus.

  • Berechnen Sie die gesamten Freiheitsgrade. Wenn beispielsweise m und n die Gesamtformen sind, werden die Freiheitsgrade als (df1) = m–1 bzw. (df2) = n – 1 ausgedrückt.

  • Finden Sie nun den F-Wert aus der F-Tabelle.

  • Teilen Sie abschließend den Alpha-Wert des zweiseitigen Tests durch 2, um den kritischen Wert zu berechnen.

Deshalb definieren wir den F-Wert anhand der Gesamtfreiheitsgrade. Wir lesen df1 in der ersten Zeile und df2 in der ersten Spalte.

Es gibt verschiedene F-Tabellen für einzigartige Freiheitsgrade. Wir vergleichen die F-Statistik aus Schritt 2 mit dem in Schritt 4 berechneten kritischen Wert. Wenn der kritische Wert kleiner als die F-Statistik ist, können wir die Nullhypothese ablehnen. Im Gegenteil, wenn der kritische Wert auf einem signifikanten Niveau größer als die F-Statistik ist, können wir die Nullhypothese akzeptieren.

So führen Sie einen F-Test in Python durch

Hypothese

Bevor wir den F-Test basierend auf dem Datensatz durchgeführt haben, haben wir einige Annahmen getroffen.

  • Die Daten folgen im Allgemeinen einer Normalverteilung, das heißt, sie entsprechen einer glockenförmigen Kurve.

  • Es gibt keine Korrelation zwischen den Stichproben, das heißt, es gibt keine Multikollinearität in der Population.

Zusätzlich zu diesen Annahmen sollten wir bei der Durchführung eines F-Tests auch die folgenden wichtigen Punkte berücksichtigen:

  • Der maximale Varianzwert sollte im Zähler liegen, um einen Right-Tail-Test durchzuführen.

  • Teilen Sie bei einem zweiseitigen Test Alpha durch 2, um den kritischen Wert zu bestimmen.

  • Überprüfen Sie, ob Varianz oder Standardabweichung vorliegt.

  • Wenn in der F-Tabelle keine Freiheitsgrade vorhanden sind, wird der Maximalwert als kritischer Wert verwendet.

Anwendung des F-Tests in Python

Grammatik

scipy stats.f()

Parameter

x :  quantiles
q :  lower or upper tail probability
dfn, dfd shape parameters
loc :location parameter
scale :  scale parameter (default=1)
size :  random variate shape
moments : [‘mvsk’] letters, specifying which moments to compute
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

Bei dieser Methode muss der Benutzer den f_value und die iterierbare Länge jedes Arrays an scipy.stats.f.cdf() übergeben und 1 davon subtrahieren, um den F-Test durchzuführen.

Algorithmus

  • Importieren Sie zunächst die Bibliotheken NumPy und Scipy.stats für den Betrieb.

  • Erstellen Sie dann zwei zufällig ausgewählte Wertelisten mit zwei unterschiedlichen Variablennamen, konvertieren Sie sie in NumPy-Arrays und berechnen Sie mit Numpy die Varianz jedes Arrays.

  • Definieren Sie eine Funktion zur Berechnung des F-Scores, wobei wir zunächst die Varianz des Arrays durch die Freiheitsgrade als 1 dividieren.

  • Berechnen Sie dann die iterierbare Länge jedes Arrays, übergeben Sie den f-Wert (Varianzverhältnis) und die Länge an die CDF-Funktion und subtrahieren Sie die Länge von 1, um den p-Wert zu berechnen.

  • Schließlich gibt die Funktion p_value und f_value zurück.

Beispiel

import numpy as np
import scipy.stats

# Create data
group1 = [0.28, 0.2, 0.26, 0.28, 0.5]
group2 = [0.2, 0.23, 0.26, 0.21, 0.23]

# Converting the list to an array
x = np.array(group1)
y = np.array(group2)

# Calculate the variance of each group
print(np.var(group1), np.var(group2))

def f_test(group1, group2):
   f = np.var(group1, ddof=1)/np.var(group2, ddof=1)
   nun = x.size-1
   dun = y.size-1
   p_value = 1-scipy.stats.f.cdf(f, nun, dun)
   return f, p_value

# perform F-test
f_test(x, y)

Ausgabe

Variances: 0.010464 0.00042400000000000017

Sie können beobachten, dass der F-Test-Wert 4,38712 beträgt und der entsprechende p-Wert 0,019127 beträgt.

Da der p-Wert kleiner als 0,05 ist, geben wir die Nullhypothese auf. Daher können wir sagen, dass die Varianzen der beiden Populationen nicht gleich sind.

Fazit

Nachdem Sie diesen Artikel gelesen haben, wissen Sie nun, wie Sie mit dem F-Test prüfen, ob zwei Stichproben zu einer Grundgesamtheit mit derselben Varianz gehören. Sie haben etwas über das F-Testverfahren, die Annahmen und die Python-Implementierung gelernt. Lassen Sie uns diesen Artikel mit einigen wichtigen Punkten abschließen –

  • Der F-Test sagt Ihnen, ob zwei Grundgesamtheiten gleiche Varianzen aufweisen.

  • Berechnen Sie Freiheitsgrade und berechnen Sie kritische Werte.

  • Finden Sie die F-Statistik aus der F-Tabelle und vergleichen Sie sie mit dem im vorherigen Schritt berechneten Schlüsselwert.

  • Akzeptieren oder lehnen Sie die Nullhypothese basierend auf dem kritischen Wert und dem F-Statistik-Vergleich ab.

Das obige ist der detaillierte Inhalt vonSo führen Sie einen F-Test in Python durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen