Ich habetea-tastingentwickelt, ein Python-Paket für die statistische Analyse von A/B-Tests mit:
In diesem Blogbeitrag erkunde ich jeden dieser Vorteile der Verwendung derTeeverkostungbei der Analyse von Experimenten.
Wenn Sie es unbedingt ausprobieren möchten, schauen Sie sich die Dokumentation an.
Teeverkostungumfasst statistische Methoden und Techniken, die den Großteil dessen abdecken, was Sie für die Analyse von Experimenten benötigen.
Analysieren Sie metrische Durchschnittswerte und Proportionen mit dem Student-T-Test und dem Z-Test. Oder verwenden Sie Bootstrap, um eine beliebige andere Statistik Ihrer Wahl zu analysieren. Und es gibt eine vordefinierte Methode für die Analyse von Quantilen mithilfe von Bootstrap.Teeverkostungerkennt auch Unstimmigkeiten in den Probenverhältnissen verschiedener Varianten eines A/B-Tests.
Teeverkostungwendet die Delta-Methode zur Analyse von Durchschnittsverhältnissen an. Zum Beispiel die durchschnittliche Anzahl von Bestellungen pro durchschnittlicher Anzahl von Sitzungen, vorausgesetzt, dass es sich bei dieser Sitzung nicht um eine Randomisierungseinheit handelt.
Verwenden Sie Daten vor dem Experiment, metrische Prognosen oder andere Kovariaten, um die Varianz zu reduzieren und die Sensitivität eines Experiments zu erhöhen. Dieser Ansatz ist auch als CUPED oder CUPAC bekannt.
Die Berechnung von Konfidenzintervallen für dieprozentualeÄnderung im Student-T-Test und Z-Test kann schwierig sein. Wenn man einfach das Konfidenzintervall für dieabsoluteÄnderung nimmt und es durch den Kontrolldurchschnitt dividiert, erhält man ein verzerrtes Ergebnis.Teeverkostungwendet die Delta-Methode an, um das richtige Intervall zu berechnen.
Analysieren Sie die statistische Aussagekraft für den Student-T-Test und den Z-Test. Es gibt drei mögliche Optionen:
Erfahren Sie mehr im ausführlichen Benutzerhandbuch.
Die Roadmap beinhaltet:
Sie können eine benutzerdefinierte Metrik mit einem statistischen Test Ihrer Wahl definieren.
Es gibt viele verschiedene Datenbanken und Engines zum Speichern und Verarbeiten experimenteller Daten. Und in den meisten Fällen ist es nicht effizient, die detaillierten experimentellen Daten in eine Python-Umgebung zu übertragen. Viele statistische Tests, wie der Student-T-Test oder der Z-Test, erfordern zur Analyse nur aggregierte Daten.
Wenn beispielsweise die rohen experimentellen Daten in ClickHouse gespeichert werden, ist es schneller und effizienter, Zählungen, Durchschnittswerte, Varianzen und Kovarianzen direkt in ClickHouse zu berechnen, anstatt granulare Daten abzurufen und Aggregationen in einer Python-Umgebung durchzuführen.
Das manuelle Abfragen aller erforderlichen Statistiken kann eine entmutigende und fehleranfällige Aufgabe sein. Beispielsweise erfordert die Analyse von Verhältnismetriken und Varianzreduktion mit CUPED nicht nur die Anzahl der Zeilen und die Varianz, sondern auch Kovarianzen. Aber keine Sorge – dieTeeverkostungerledigt das alles für Sie.
tea-tastingakzeptiert Daten entweder als Pandas DataFrame oder als Ibis Table. Ibis ist ein Python-Paket, das als DataFrame-API für verschiedene Daten-Backends dient. Es unterstützt mehr als 20 Backends, darunter BigQuery, ClickHouse, PostgreSQL/GreenPlum, Snowflake und Spark. Sie können eine SQL-Abfrage schreiben, sie als Ibis-Tabelle einpacken und antea-tasting.
übergebenDenken Sie daran, dass eineTeeverkostungFolgendes voraussetzt:
Einige statistische Methoden wie Bootstrap erfordern granulare Daten für die Analyse. In diesem Fall rufttea-tastingauch die detaillierten Daten ab.
Erfahren Sie mehr im Leitfaden zu Daten-Backends.
Sie können alle oben aufgeführten Aufgaben nur mit NumPy, SciPy und Ibis ausführen. Tatsächlich nutzttea-tastingdiese Pakete unter der Haube. Wastea-tastingdarüber hinaus bietet, ist eine praktische API auf höherer Ebene.
Es ist einfacher zu zeigen als zu beschreiben. Hier ist das grundlegende Beispiel:
import tea_tasting as tt data = tt.make_users_data(seed=42) experiment = tt.Experiment( sessions_per_user=tt.Mean("sessions"), orders_per_session=tt.RatioOfMeans("orders", "sessions"), orders_per_user=tt.Mean("orders"), revenue_per_user=tt.Mean("revenue"), ) result = experiment.analyze(data) print(result) #> metric control treatment rel_effect_size rel_effect_size_ci pvalue #> sessions_per_user 2.00 1.98 -0.66% [-3.7%, 2.5%] 0.674 #> orders_per_session 0.266 0.289 8.8% [-0.89%, 19%] 0.0762 #> orders_per_user 0.530 0.573 8.0% [-2.0%, 19%] 0.118 #> revenue_per_user 5.24 5.73 9.3% [-2.4%, 22%] 0.123
Der zweistufige Ansatz mit getrennter Parametrisierung und Inferenz ist in der statistischen Modellierung üblich. Diese Trennung trägt dazu bei, den Code modularer und verständlicher zu machen.
Teeverkostungführt Berechnungen durch, die knifflig und fehleranfällig sein können:
Es bietet außerdem einen Rahmen für die Darstellung experimenteller Daten, um Fehler zu vermeiden. Für eine korrekte Analyse ist es wichtig, die Daten nach Randomisierungseinheiten zu gruppieren und alle Einheiten in den Datensatz einzubeziehen.
Darüber hinaus bietettea-tastingeinige praktische Methoden und Funktionen, wie z. B. eine hübsche Formatierung des Ergebnisses und einen Kontextmanager für metrische Parameter.
Last but not least: Dokumentation. Ich glaube, dass eine gute Dokumentation für die Werkzeugeinführung von entscheidender Bedeutung ist. Deshalb habe ich mehrere Benutzerhandbücher und eine API-Referenz geschrieben.
Ich empfehle, mit dem Beispiel der grundlegenden Verwendung im Benutzerhandbuch zu beginnen. Anschließend können Sie im selben Leitfaden spezifische Themen wie Varianzreduktion oder Leistungsanalyse untersuchen.
Lesen Sie den Leitfaden zu Daten-Backends, um zu erfahren, wie Sie ein Daten-Backend Ihrer Wahl mitTeeverkostungverwenden.
Lesen Sie den Leitfaden zu benutzerdefinierten Metriken, wenn Sie einen statistischen Test durchführen möchten, der nicht in derTeeverkostungenthalten ist.
Verwenden Sie die API-Referenz, um alle Parameter und detaillierten Informationen zu den Funktionen, Klassen und Methoden zu erkunden, die intea-tasting.
verfügbar sindEs gibt eine Vielzahl statistischer Methoden, die bei der Analyse eines Experiments angewendet werden können. Aber nur eine Handvoll davon werden in den meisten Fällen tatsächlich verwendet.
Andererseits gibt es spezielle Methoden für die Analyse von A/B-Tests, die nicht in den Allzweck-Statistikpaketen wie SciPy enthalten sind.
DieTeeverkostung-Funktionalität umfasst die wichtigsten statistischen Tests sowie spezifische Methoden für die Analyse von A/B-Tests.
tea-tastingbietet eine praktische API, die dabei hilft, den Zeitaufwand für die Analyse zu reduzieren und die Fehlerwahrscheinlichkeit zu minimieren.
Darüber hinaus optimierttea-tastingdie Recheneffizienz, indem es die Statistiken im Daten-Backend Ihrer Wahl berechnet, wo die Daten gespeichert werden.
Mit der ausführlichen Dokumentation können Sie schnell lernen, wie SieTeeverkostungfür die Analyse Ihrer Experimente nutzen können.
Der Paketname „Teeverkostung“ ist ein Wortspiel, das sich auf zwei Themen bezieht:
Das obige ist der detaillierte Inhalt vontea-tasting: ein Python-Paket zur statistischen Analyse von A/B-Tests. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!