Hierarchisches Bayes'sches Modell (?)

12

Bitte entschuldigen Sie, dass ich den statistischen Jargon abgeschlachtet habe :) Ich habe hier einige Fragen zu Werbung und Klickraten gefunden. Aber keiner von ihnen hat mir sehr geholfen, meine hierarchische Situation zu verstehen.

Es gibt eine verwandte Frage. Handelt es sich bei diesen äquivalenten Darstellungen um dasselbe hierarchische Bayes'sche Modell? , aber ich bin nicht sicher, ob sie tatsächlich ein ähnliches Problem haben. Eine andere Frage Priors für hierarchisches Bayes'sches Binomialmodell geht detailliert auf Hyperpriors ein, aber ich bin nicht in der Lage, deren Lösung auf mein Problem abzubilden

Ich habe ein paar Anzeigen für ein neues Produkt online. Ich habe die Anzeigen ein paar Tage laufen lassen. Zu diesem Zeitpunkt haben genügend Personen auf die Anzeigen geklickt, um zu sehen, welche die meisten Klicks erhalten. Nachdem ich alle außer dem mit den meisten Klicks rausgeschmissen habe, lasse ich diesen noch ein paar Tage laufen, um zu sehen, wie viel Leute tatsächlich einkaufen, nachdem sie auf die Anzeige geklickt haben. Zu diesem Zeitpunkt weiß ich, ob es eine gute Idee war, die Anzeigen überhaupt zu schalten.

Meine Statistiken sind sehr laut, weil ich nicht viele Daten habe, da ich jeden Tag nur ein paar Artikel verkaufe. Aus diesem Grund ist es sehr schwer einzuschätzen, wie viele Personen nach einer Anzeige etwas kaufen. Nur etwa einer von 150 Klicks führt zu einem Kauf.

Im Allgemeinen muss ich wissen, ob ich bei jeder Anzeige so schnell wie möglich Geld verliere , indem ich die Statistiken pro Anzeigengruppe mit globalen Statistiken über alle Anzeigen vergleiche.

  • Wenn ich warte, bis jede Anzeige genug Käufe gesehen hat, gehe ich pleite, weil es zu lange dauert: Testen von 10 Anzeigen Ich muss 10-mal mehr Geld ausgeben, damit die Statistiken für jede Anzeige zuverlässig genug werden. Zu diesem Zeitpunkt könnte ich Geld verloren haben.
  • Wenn ich die durchschnittlichen Einkäufe aller Anzeigen beziehe, kann ich keine Anzeigen schalten, die einfach nicht so gut funktionieren.

Kann ich die globale Kaufrate ( N $ Unterverteilungen? Das bedeutet, je mehr Daten ich für jede Anzeige habe, desto unabhängiger werden die Statistiken für diese Anzeige. Wenn noch niemand auf eine Anzeige geklickt hat, gehe ich davon aus, dass der globale Durchschnitt angemessen ist.perclick)anduseitasapriorfor

Welche Distribution würde ich dafür wählen?

Wenn ich 20 Klicks auf A und 4 Klicks auf B hatte, wie kann ich das modellieren? Bisher habe ich herausgefunden, dass eine Binomial- oder Poisson-Verteilung hier sinnvoll sein könnte:

  • purchase_rate ~ poisson (?)
  • (purchase_rate | group A) ~ poisson (Schätzen Sie die Kaufrate nur für die Gruppe A?)

Aber was soll ich tun , neben den tatsächlich zu berechnen purchase_rate | group A. Wie verbinde ich zwei Distributionen, um für Gruppe A (oder eine andere Gruppe) einen Sinn zu ergeben?

Muss ich zuerst ein Modell montieren? Ich habe Daten, mit denen ich ein Modell "trainieren" kann:

  • Anzeige A: 352 Klicks, 5 Käufe
  • Anzeige B: 15 Klicks, 0 Käufe
  • Anzeige C: 3519 Klicks, 130 Käufe

Ich suche nach einer Möglichkeit, die Wahrscheinlichkeit einer der Gruppen abzuschätzen. Wenn eine Gruppe nur ein paar Datenpunkte hat, möchte ich im Wesentlichen auf den globalen Durchschnitt zurückgreifen. Ich kenne mich ein wenig mit Bayes-Statistiken aus und habe viele PDFs von Menschen gelesen, die beschreiben, wie sie mit Bayes-Inferenz modellieren und Prioren konjugieren und so weiter. Ich denke, es gibt einen Weg, dies richtig zu machen, aber ich kann nicht herausfinden, wie man es richtig modelliert.

Über Hinweise, die mir helfen, mein Problem bayesisch zu formulieren, würde ich mich sehr freuen. Das würde mir sehr helfen, Beispiele online zu finden, mit denen ich dies tatsächlich umsetzen könnte.

Aktualisieren:

Vielen Dank für Ihre Antwort. Ich fange an, immer mehr Kleinigkeiten über mein Problem zu verstehen. Vielen Dank! Lassen Sie mich ein paar Fragen stellen, um zu sehen, ob ich das Problem jetzt ein bisschen besser verstehe:

Ich gehe also davon aus, dass die Konvertierungen als Beta-Verteilungen verteilt sind und eine Beta-Verteilung zwei Parameter hat, und b .ab

Die 112 Parameter sind Hyperparameter, sind sie also Parameter vor? Also habe ich am Ende die Anzahl der Conversions und die Anzahl der Klicks als Parameter für meine Beta-Distribution festgelegt?12

Irgendwann, wenn ich verschiedene Anzeigen vergleichen möchte, würde ich P ( c o n v e r s i o n | a d = X ) = P ( a d = X | c o n v e r s i o berechnen n ) P ( K o n v e r s i o n ) . Wie berechne ich jeden Teil dieser Formel?P(conversion|ad=X)=P(ad=X|conversion)P(conversion)P(ad=X)

  • Ich denke , wird Wahrscheinlichkeit genannt, oder "Modus" der Beta - Verteilung. Das ist also α - 1P(ad=X|conversion) , wobeiαundβdie Parameter meiner Verteilung sind. Aber die spezifischenαundβ sindhier die Parameter für die Verteilung nur für die AnzeigeX, oder? Ist es in diesem Fall nur die Anzahl der Klicks und Conversions, die diese Anzeige erzielt hat? Oder wie viele Klicks / Conversions habenalleAnzeigen gesehen?α1α+β2αβαβX

  • Dann multipliziere ich mit dem Prior, der P (Umwandlung) ist, was in meinem Fall nur der Jeffreys-Prior ist, der nicht informativ ist. Bleibt der Stand unverändert, wenn ich mehr Daten erhalte?

  • Ich dividiere durch , was ist die marginale Wahrscheinlichkeit, also zähle ich, wie oft auf diese Anzeige geklickt wurde?P(ad)

Bei der Verwendung von Jeffreys 'Vorgänger gehe ich davon aus, dass ich bei Null beginne und nichts über meine Daten weiß. Dieser Prior wird als "nicht informativ" bezeichnet. Wenn ich weiter über meine Daten lerne, aktualisiere ich die vorherige Version?

Als Klicks und Conversions eingingen, habe ich gelesen, dass ich meine Distribution "aktualisieren" muss. Bedeutet dies, dass sich die Parameter meiner Distribution ändern oder dass sich die vorherigen ändern? Wenn ich einen Klick für Ad X erhalte, aktualisiere ich mehr als eine Distribution? Mehr als eine vor?

Mika Tiihonen
quelle

Antworten:

9

Wie Sie sich vorgestellt haben, besteht eine sehr allgemeine Methode zur Beantwortung Ihrer Frage darin, ein hierarchisches (mehrstufiges) Bayes'sches Modell zu erstellen. Das Modell besteht aus drei Teilen (siehe Abbildung unten).

Modell

Hierarchisches Bayes-Modell für Anzeigen-Conversion-Raten

  1. N(μμ0,η0)μGa(λa0,b0)μ0=0,η0=0.1,a0=1,b0=1

  2. πjjjρj:=logit(πj)N(ρjμ,λ)

  3. kjjBin(kjσ(ρj),nj)σ(ρj)njj

Daten

Nehmen wir als Beispiel die Daten, die Sie in Ihrer ursprünglichen Frage gepostet haben.

Anzeige A: 352 Klicks, 5 Käufe

Anzeige B: 15 Klicks, 0 Käufe

Anzeige C: 3519 Klicks, 130 Käufe

n1=352,k1=5,n2=15,k2=0,

Inferenz

Das Invertieren dieses Modells bedeutet, posteriore Verteilungen für unsere Modellparameter zu erhalten. Hier habe ich einen variationalen Bayes-Ansatz zur Modellinversion verwendet, der rechnerisch effizienter ist als stochastische Stichprobenverfahren wie MCMC. Ich habe die Ergebnisse unten aufgezeichnet.

Data and resulting posteriors

Die Abbildung zeigt drei Felder. (a) Eine einfache Visualisierung der von Ihnen bereitgestellten Beispieldaten. Die grauen Balken stehen für die Anzahl der Klicks, die schwarzen Balken für die Anzahl der Conversions. (b) Die sich ergebende posteriore Verteilung über die Bevölkerung bedeutet die Konversionsrate. Wenn wir mehr Daten beobachten, wird dies immer präziser. (c) Zentrale 95% -Posterior-Wahrscheinlichkeitsintervalle (oder glaubwürdige Intervalle) der werbespezifischen Posterior-Conversion-Raten.

Das letzte Panel zeigt zwei Hauptmerkmale eines Bayes'schen Ansatzes zur hierarchischen Modellierung. Erstens spiegelt die Präzision der Seitenzähne die Anzahl der zugrunde liegenden Datenpunkte wider. Zum Beispiel haben wir relativ viele Datenpunkte für Anzeige C; Daher ist der hintere Teil viel präziser als der hintere Teil der anderen Anzeigen.

Zweitens werden werbespezifische Schlussfolgerungen durch das Wissen über die Grundgesamtheit bestimmt. Mit anderen Worten, werbespezifische Posteriors basieren auf Daten aus der gesamten Gruppe. Dieser Effekt wird als Schrumpfen der Population bezeichnet . Beispielsweise ist der hintere Modus (schwarzer Kreis) von Anzeige A viel höher als die empirische Konversionsrate (blau). Dies liegt daran, dass alle anderen Anzeigen einen höheren posterioren Modus aufweisen. Auf diese Weise können wir eine bessere Schätzung der Grundwahrheit erhalten, indem wir unsere werbespezifischen Schätzungen nach dem Gruppenmittelwert angeben. Je weniger Daten wir über eine bestimmte Anzeige haben, desto mehr werden die Daten der anderen Anzeigen auf deren Rückseite einwirken.

Alle Ideen, die Sie in Ihrer ursprünglichen Frage beschrieben haben, werden auf natürliche Weise im obigen Modell umgesetzt und veranschaulichen den praktischen Nutzen einer vollständig bayesianischen Umgebung.

Kay Brodersen
quelle
Kay, danke für deine ausführliche Antwort. Ich verstehe, dass die Antwort etwas veraltet ist, aber würde es Ihnen etwas ausmachen, den zugehörigen Code mitzuteilen, wenn Sie ihn behalten haben? Ich versuche, Hierarchisches Bayesianisches Modellieren zu lernen, habe aber Schwierigkeiten, intuitive Beispiele in R.
Zhubarb,
@ Kay, danke für die interessante Antwort, könnten Sie bitte einen Verweis auf hierarchische Bayes'sche Modelle hinzufügen? Vielen Dank!
user511005
1
Hallo @Zhubarb, user511005, hier ist ein Link zu dem Artikel, der das obige Modell beschreibt: sciencedirect.com/science/article/pii/S1053811913002371 Ich habe hier eine kurze Einführung in die Variationsinferenz zusammengestellt: people.inf.ethz.ch/ bkay / talks / Brodersen_2013_03_22.pdf
Kay Brodersen
2

p

paabb

ab(12,12)a,b

pa,b


Als Antwort auf Ihre Änderungen:

pabppab

Das Bayes'sche Update ist

P(px)P(p)P(xp)

xpababp

Der Prior von Jeffreys ist nicht dasselbe wie der nicht informative Prior, aber ich glaube, es ist besser, wenn Sie keinen guten Grund haben, ihn zu benutzen. Fühlen Sie sich frei, eine andere Frage zu stellen, wenn Sie eine Diskussion darüber beginnen möchten.

Neil G
quelle
Danke für die Antwort! Ich habe meine ursprüngliche Frage aktualisiert, weil mir in diesem Kommentarfeld die Zeichen ausgegangen sind. Es wäre großartig, wenn Sie Feedback zu einigen der Details geben könnten, die ich im Update geschrieben habe.
Mika Tiihonen