Kontext
Stellen Sie sich das folgende Szenario für ein Unternehmen vor, das Waren online verkauft. Ein Benutzer kann mehrere Artikel (dh einen Warenkorb mit Artikeln) kaufen, von denen einige von besonderer Bedeutung sind und speziell verfolgt werden (nennen wir sie Sternartikel).
Wir möchten eine Änderung in einem Algorithmus testen (z. B. Empfehlung, Risikobewertung, Targeting hinzufügen, was auch immer ...), die sowohl die Anzahl der verkauften Sternartikel als auch den Gesamtumsatz beeinflussen kann .
- Dies ist ein Standard-A / B-Testaufbau - die Randomisierungseinheit befindet sich auf Benutzerebene .
- Der Zweck des A / B-Tests besteht darin, die Auswirkungen der Algorithmusänderung zu vergleichen: Die Kontrollgruppe verfügt über den ursprünglichen Algorithmus und die Variante über den neuen Algorithmus
- Eine wichtige Metrik von Interesse ist das Verhältnis des Umsatzes mit Sternartikeln zum Gesamtumsatz . Dies ist eine Summe aller Transaktionen aller Benutzer im Bereich jeder A- oder B-Gruppe.
- Dies bedeutet, dass sich die Analyseeinheit auf Transaktionsebene befindet, die sich von der Randomisierungseinheit unterscheidet
- Die Metriken werden über die gesamte Testdauer (z. B. 2 Wochen) berechnet.
Detail der verwendeten Metrik
Bei gegebener Gruppe A und einer Gruppe von Benutzern ist jeder Benutzer an einer Anzahl von Transaktionen beteiligt. Die Menge aller Transaktionen aller Benutzer in Gruppe A für die Dauer des Tests ist .
Die interessierende Metrik für Gruppe A wird für alle Transaktionen im Bereich von Gruppe A definiert. Die Beträge befinden sich auf Transaktionsebene und nicht auf Benutzerebene.
Natürlich könnten wir die Definition ändern, um den Mittelwert auf Benutzerebene zu berechnen, und das würde alles vereinfachen, aber das ist nicht die Metrik, die verwendet wird.
Fragen
Welcher statistische Test könnte für eine solche Metrik verwendet werden? Eine zusätzliche Überlegung ist, dass, obwohl wir sicher davon ausgehen können, dass Benutzer iid sind, es höchstwahrscheinlich falsch ist anzunehmen, dass einzelne Einkaufskörbe für denselben Benutzer iid sind.
Hier sind einige Ideen, auf die ich gestoßen bin. Haben A / B-Testpraktiker in der Vergangenheit ähnliche Kennzahlen gefunden?
- Z-Test der Proportionen
- Bootstrapping und Jacknife
- Delta-Methode
- Ändern Sie die Metrik (letzter Ausweg)
https://en.wikipedia.org/wiki/Ratio_estimator
Bearbeiten - Einige Erläuterungen
Der Grund für diese Frage ist, dass ich oft gesehen habe, wie der Z-Test der Proportionen in dieser Situation verwendet wird. Beliebte Tools, die für A / B-Tests verwendet werden, werden beim Proportional-Test häufig standardmäßig verwendet, und Geschäftsbenutzer überprüfen selten die zugrunde liegenden Annahmen, die für die Gültigkeit des Tests erforderlich sind. Die Antwort von @ dnqxt unten ist ein gutes Beispiel: "Verwenden Sie einfach den z-Test der Proportionen!" - aber ich würde gerne eine strenge statistische Begründung dafür sehen, warum (oder warum nicht) dieser Test in einem solchen Fall verwendet werden kann.
Ich persönlich glaube nicht, dass die Verwendung eines Z-Tests mit Proportionen hier funktionieren würde, da Verkäufe von einem Kaufereignis keine Bernoulli-Versuche sind. Ich behaupte, dass wir nicht sagen können, dass jeder im Nenner verkaufte Dollar als Bernoulli-Versuch angesehen werden kann, der dazu führt, dass im Zähler ein Dollar mit 0 oder 1 Stern verkauft wird. Da sich die Randomisierungseinheit auf Benutzerebene befindet, sind Kaufereignisse desselben Benutzers nicht unabhängig (aber ich würde sagen, dass dies ein sekundäres Problem ist). Ich könnte mich hier irren, also zögern Sie nicht, dies anders zu beweisen!
Wir könnten die Metrik auch ändern, um daraus ein Bernoulli / Binomial zu machen, das durch Verwendung von Zählwerten gegen Normal konvergiert, aber das wäre ein letzter Ausweg
quelle
Antworten:
Z-Test der Proportionen
Dies gilt für einen anderen Fall, wenn Sie binäre Ergebnisse haben. Der Z-Test der Proportionen vergleicht die Proportionen dieser binären Ergebnisse.
(Im Folgenden wird argumentiert, dass Sie einen t-Test durchführen können, der für große Zahlen ungefähr dem z-Test entspricht. Mit Proportionen können Sie einen z-Test durchführen, da die Binomialverteilung einen Parameter hat, der den bestimmt Varianz und Mittelwert im Gegensatz zu einer Normalverteilung)
Bootstrapping
Dies ist möglich, aber aufgrund der Delta-Methode, die den Fehler Ihrer beobachteten Statistik einfacher liefert, nicht unbedingt erforderlich.
Delta-Methode
Sie interessieren sich für das Verhältnis zweier möglicherweise korrelierter Variablen: 1. des Gesamtumsatzes und 2. des Umsatzes mit Sternartikeln.
Diese Variablen sind wahrscheinlich asymptotisch normalverteilt, da sie die Summe der Verkäufe vieler Einzelpersonen darstellen (das Testverfahren könnte als ein Prozess angesehen werden, bei dem eine Stichprobe von Verkäufen einzelner Benutzer aus einer Verteilung der Verkäufe einzelner Benutzer ausgewählt wird). Somit können Sie die Delta-Methode verwenden.
Die Verwendung der Delta-Methode zur Schätzung von Verhältnissen wird hier beschrieben . Das Ergebnis dieser Anwendung der Delta-Methode stimmt tatsächlich mit einer Annäherung an Hinkleys Ergebnis überein , einem exakten Ausdruck für das Verhältnis zweier korrelierter normalverteilter Variablen (Hinkley DV, 1969, On the Ratio of Two Correlated Normal Random Variables, Biometrica Vol. 56) Nr. 3).
ZumZ=XY mit [XY]∼N([μxμy],[σ2xρσxσyρσxσyσ2y]) Das genaue Ergebnis ist: f(z)=b(z)d(z)a(z)312π−−√σXσY[Φ(b(z)1−ρ2−−−−−√a(z))−Φ(−b(z)1−ρ2−−−−−√a(z))]+1−ρ2−−−−−√πσXσYa(z)2exp(−c2(1−ρ2)) mit a(z)b(z)cd(z)====(z2σ2X−2ρzσXσY+1σ2Y)12μXzσ2X−ρ(μX+μYz)σXσY+μYσ2Yμ2Xσ2Y−2ρμXμY+σXσY+μ2Yσ2Yexp(b(z)2−ca(z)22(1−ρ2)a(z)2)
Und eine Annäherung, die auf einem assymptotischen Verhalten basiert, ist: (z θY/σY→∞ ): F(z)→Φ(z−μX/μYσXσYa(z)/μY)
Sie erhalten das Ergebnis der Delta-Methode, wenn Sie die Näherung einfügen a(z)=a(μX/μY) a(z)σXσY/μY≈a(μX/μY)σXσY/μY=(μ2Xσ2Yμ4Y−2μXσXσYμ3Y+σ2Xμ2Y)12
Die Werte fürμX,μY,σX,σY,ρ kann aus Ihren Beobachtungen geschätzt werden, die es Ihnen ermöglichen, die Varianz und den Mittelwert der Verteilung für einzelne Benutzer zu schätzen und damit die Varianz und den Mittelwert für die Stichprobenverteilung der Summe mehrerer Benutzer zu bestimmen.
Ändern Sie die Metrik
Ich glaube, dass es interessant ist, zumindest eine erste Darstellung der Verteilung der Verkäufe (nicht der Verhältnisse) der einzelnen Benutzer zu machen. Schließlich könnte man mit einer Situation am Ende , dass es ist ein Unterschied zwischen den Benutzern in der Gruppe A und B, aber es passiert einfach nicht signifikant sein , wenn Sie die einzige Variable des Verhältnisses betrachten (das ist ein bisschen ähnlich ist MANOVA mächtiger zu sein als einzelne ANOVA-Tests).
Während die Kenntnis einer Differenz zwischen den Gruppen, ohne einen signifikanten Unterschied in der Metrik , dass Sie in interressiert sind, können Sie nicht viel helfen , Entscheidungen zu treffen, es tut Ihnen helfen, in die zugrunde liegende Theorie zu verstehen und möglicherweise bessere Änderungen / Experimente beim nächsten Mal entwerfen.
Illustration
Unten ist eine einfache Illustration:
Lassen Sie die hypothetische Verteilung der Verkäufe von Benutzern als Bruchteile verteilt werdena,b,c,d die angeben, wie viele Benutzer sich in einem bestimmten Fall befinden (in Wirklichkeit wird diese Verteilung komplexer sein):
Dann die Stichprobenverteilung für Summen aus einer Gruppe mit 10000 Benutzern mit einem Algorithmusa = 0,190 , b = 0,001 , c = 0,800 , d= 0,009 und der andere Algorithmus a = 0,170 , b = 0,001 , c = 0,820 , d= 0,009 wird aussehen wie:
Das zeigt 10000 Läufe, die neue Benutzer anziehen und die Verkäufe und Verhältnisse berechnen. Das Histogramm dient zur Verteilung der Verhältnisse. Die Linien sind Berechnungen mit der Funktion von Hinkley.
R-Code zur Berechnung des Graphen:
quelle
Was beschrieben wird, ist ein klassischer Fall eines A / B-Experiments, bei dem wir eine Abhängigkeit zwischen Benutzern und Gegenständen haben (Käufe hier); Wir müssen dies berücksichtigen, da wir sonst eine voreingenommene Schätzung der zugehörigen Varianz haben. Um dem entgegenzuwirken, booten wir entweder unter Berücksichtigung von Benutzer- / Elementclustern oder gehen mit einem gemischten Modell vollständig parametrisch vor. Das Papier von Bakshy & Eckles (2013) Unsicherheit in Online-Experimenten mit abhängigen Daten: Eine Bewertung von Bootstrap-Methoden ist eine unschätzbare Referenz in dieser Angelegenheit, die sich auf Online-A / B-Tests konzentriert.
Bei näherer Betrachtung der Dinge ist das B & E-Papier in gewisser Weise ein erweiterter Anwendungsfall des Papiers The Pigeonhole Bootstrap von Owen (2007) . In ähnlicher Weise basiert der Ansatz mit gemischten Effekten auf dem überklassischen Artikel von Bayeen et al. (2009) Modellierung mit gemischten Effekten mit gekreuzten Zufallseffekten für Subjekte und Gegenstände .
Um die von Ihnen erwähnten Methoden kurz zu kommentieren: Wenn Sie die richtig identifizierenz -Test auf Proportionen ist zu einfach; Es wird von IID ausgegangen, und wie das B & E-Papier zeigt, kann diese Annahme ernsthaft irreführend sein. Die gleiche Einschränkung gilt auch für Bootstrap, wenn wir die Struktur der Daten ignorieren. Die Delta - Methode in Bezug auf : Abweichungen von der Normalität und / oder verrauschten Daten machen in der Regel die Delta - Methode suboptimal im Vergleich zu Bootstrap - Ansätze (zB Loch 2007 Ein Vergleich der Ansätze zur Abschätzung Konfidenzintervall für Zahlungsbereitschaft Maßnahmen ) , aber ich habe einige neuere Arbeiten gesehen ( zB Deng et al. 2017 Vertrauenswürdige Analyse von Online-A / B-Tests: Fallstricke, Herausforderungen und Lösungen und Deng et al. 2018 Anwendung der Delta-Methode in Metric Analytics: Ein praktischer Leitfaden mit neuartigen Ideen) die vielversprechend erscheinen; Beachten Sie, dass implizit davon ausgegangen wird, dass der durchschnittliche Behandlungseffekt normal ist. Schließlich ist die Änderung der Metrik auch eine ausgezeichnete Idee, wenn dies sinnvoll ist. Wir sollten keine Angst haben, auf Änderungen zu drängen, die mathematisch kohärenter sind, nur weil bereits eine Metrik vorhanden ist.
Fazit: Wenn es bei allen oben genannten Arbeiten ein übergreifendes Schema gibt, müssen wir sicherstellen, dass unsere Analyseeinheit und unsere Randomisierungseinheit mit unseren Forschungsfragen übereinstimmen.
quelle
Ein sehr einfacher Ansatz wäre die Verwendung eines Permutationstests. Dies ist ein verteilungsfreier Test, sodass Sie sich keine Gedanken über Verteilungen machen müssen.
Die Idee ist einfach. Sie mischen die Beschriftungen nach dem Zufallsprinzip und zählen, wie oft die gemessene Differenz Ihrer interessierenden Metrik größer ist als die Differenz, die Sie von Ihren realen Daten erhalten haben. Das Verhältnis, das Sie erhalten, ist Ihr p-Wert.
Warum funktioniert es? Nun, wenn die Nullhypothese wahr ist, würde ein zufälliges Mischen der Etiketten (dh in Gruppe A oder B) sehr oft bessere Werte ergeben als die, die Sie gemessen haben. Wenn Ihr Empfehlungsalgorithmus jedoch funktioniert, führt ein zufälliges Mischen selten zu einem besseren Ergebnis als das, das Sie erhalten haben.
Sie können auch Bootstrapping verwenden, um Konfidenzintervalle für Ihre Metrik Ihrer A- und B-Gruppe abzurufen. Dies, zwei, ist ohne Annahmen über Ihre Verteilung zulässig. Dies entspricht nicht einem statistischen Test (auch wenn sich die CI-Intervalle nicht kreuzen), aber der visuelle Aspekt von "Balken + Fehler" -Balken kann für Ihr Team interessant sein.
Ich habe eine sehr ähnliche Frage beantwortet (wo Sie mich tatsächlich gefunden haben). Wie kann man den Unterschied in zwei Proportionen testen, wenn die Ergebnisse nicht binär sind?. Ich denke, der Code, den ich dort vorgeschlagen habe, gilt auch hier.
quelle
Bootstrap-Konfidenzintervalle wären meine Wahl der Technik für dieses Szenario. Ich möchte einen Ansatz mit einigen Beispielauswahlnummern , die Sie verwenden können, und den Gründen für den Ansatz skizzieren :
Off-Topic persönliche Meinung: Wählen Sie immer Dinge wie Distributionen, wann immer dies möglich ist. Wir haben heutzutage die Macht, dies zu tun. Die obigen Tests sind völlig in Ordnung, aber es gibt Fälle, in denen sie schief gehen könnten. Zum Beispiel, wenn Sie möchtenB Um extrem hoch zu sein, sagen wir 1000000, wird selbst der kleinste Unterschied zwischen den Mitteln eher als signifikant gekennzeichnet.
Das Obige ist robust, da unabhängig von der zugrunde liegenden Verteilung der zentrale Grenzwertsatz sicherstellt, dass wennB ausreichend groß ist, beide Mittel vonMetricvar und Metricctr über die Proben verteilt werden normal und die Tests sind gültig. Das werden Sie auch an der Grafik erkennen. Alle Bedenken hinsichtlich der zugrunde liegenden Verteilung verschiedener Benutzerausgaben usw. werden vom CLT behandelt.
Es gibt viele Referenzen und gute Lesungen von den Benutzern vor mir. Darüber hinaus wird viel über die optimalen Beispielnummern geforscht, die ich oben erwähnt habe. Ich wollte Ihnen nur einen empirischeren und leichter verständlichen Überblick über einen robusten Ansatz geben. Sie können damit beginnen und sehen, ob sich die Dinge ändern, indem Sie die obigen Beispielnummern ändern.
quelle