Knoten festlegen

Weiter zu:

Funktionsweise des knots-Arguments

Meridian verwendet einen zeitvariablen Intercept-Ansatz für die Modellierung von Zeiteffekten (Spline (Mathematik), Wikipedia. Ng, Wang und Dai. 2021). Bei diesem Ansatz werden Zeiteffekte \(\mu = [\mu_1, \dots, \mu_T]\) für jeden der \(T\) Zeiträume modelliert. Ein dreijähriges MMM auf Wochenebene hat \(52 \times 3\) Zeiträume. Die \(T\) Zeiteffekte werden mit möglicherweise weniger als \(T\) Parametern anhand der Beziehung modelliert:

\[\mu = W \ast b\]

Dabei gilt:

  • \(\mu\) ist \(1 \times T\) und repräsentiert die Wirkung des einzelnen Zeitraums \(t=1, \dots ,T\), \(W\) ist eine \(T \times K\) deterministische Gewichtsmatrix.

  • \(b\) (in Meridian knot_values genannt) ist \(K \times 1\) , wobei \(K \leq T\)ist.

Die bayessche Posterior-Inferenz wird für \(b\)durchgeführt und gemäß der Gewichtsmatrix \(W\)in\(\mu\) umgewandelt. Die Anzahl der Knoten \(K\) wird durch die Nutzereingabe bestimmt. Die Gewichtsmatrix \(W\) wird durch die L1-Distanz eines Zeitraums zu den beiden benachbarten Knoten bestimmt.

Um zu verdeutlichen, wie die Gewichtsmatrix anhand der L1-Distanz bestimmt wird, betrachten wir den Zeitraum \(9\), in dem sich die beiden benachbarten Knoten bei \(6\) und \(11\)befinden. Die L1-Distanz zwischen dem Zeitraum \(9\) und dem Knoten \(11\) beträgt \(2\). Die L1-Distanz zwischen dem Zeitraum \(9\) und dem Knoten \(6\) beträgt \(3\). Der Knoten bei \(6\) erhält also das Gewicht \(0.4 = 1 - \frac{3}{2+3} \) und der Knoten bei \(11\) das Gewicht \(0.6 = 1 - \frac{2}{2+3} \). Der Wert von \(\mu_9\)wird durch das gewichtete Mittel der beiden benachbarten Knoten bestimmt.

Bei knots < n_times wird die Dimensionalität teilweise reduziert. Die n_times Zeiträume werden mit weniger als n_times Parametern modelliert. Mit der Gewichtungsfunktion wird festgelegt, wie die Zeiträume kombiniert werden.

Anzahl der Knoten für Zeiteffekte im Modell auswählen

Wenn Sie überlegen, wie Sie knots von ModelSpec festlegen, sollten Sie sich die beiden Extreme vorstellen: Die Anzahl der Knoten kann von einem bis zur Anzahl der Zeiträume (n_times) liegen. Bei knots = n_times wird die Dimensionalität nicht reduziert und jeder Zeitraum erhält einen eigenen Parameter. Bei einem Modell auf geografischer Ebene können so viele Knoten wie Zeiträume vorhanden sein, da es pro Zeitraum mehrere geografische Einheiten und damit mehrere Beobachtungen gibt. Bei knots = 1 werden alle Zeiträume mit einem einzigen Parameter analysiert. Hier hat die Zeit keine Bedeutung. Dieser fehlende Effekt wird zu einem gemeinsamen Intercept für alle Zeiträume.

Bei 1 < knots < n_times liegt die Anzahl der Knoten genau zwischen diesen beiden Extremen. Sie können einen Bereich von Werten ausprobieren, der den zulässigen Bereich abdeckt. Informationen dazu, wie Sie den Mittelweg zwischen diesen beiden Extremen finden, sind unter Kompromiss zwischen Bias und Varianz verfügbar.

Wir empfehlen Folgendes:

  • Bei Modellen auf geografischer Ebene sollten Sie mit der Standardeinstellung (knots = n_times) beginnen. Wenn Sie feststellen, dass die Überanpassung extrem ist oder die Schätzungen der Media-Effekte unrealistisch sind, sollten Sie die Anzahl der Knoten reduzieren. Die Notwendigkeit, die Anzahl der Knoten zu reduzieren, nimmt mit abnehmender Anzahl der geografischen Einheiten pro Zeitpunkt zu.

  • Bei Modellen auf nationaler Ebene sollten Sie standardmäßig mit 1 Knoten beginnen und die Anzahl der Knoten dann erhöhen. Erhöhen Sie die Anzahl so lange, bis die Überanpassung extrem wird oder die Schätzungen der Media-Effekte unrealistisch werden.

  • Eine ähnliche Anzahl von Knoten kann ähnliche Ergebnisse liefern, z. B. knots = 10 und knots = 11. Daher kann es hilfreich sein, eine größere Variation auszuprobieren.

Informationen, die Ihnen bei der Entwicklung von Algorithmen für die Knotenauswahl helfen können, finden Sie in der Wiley Online Library unter Knot selection in sparse Gaussian processes with a variational objective function.

Kompromiss zwischen Bias und Varianz

Die Anzahl der Knoten kann als Kompromiss zwischen Bias und Varianz betrachtet werden. Bei knots = n_times erhält jeder Zeitraum einen eigenen Parameter. Der Effekt eines bestimmten Zeitraums wird also nur anhand der Daten aus diesem Zeitraum geschätzt. knots = n_times weist jedoch eine hohe Varianz auf, da in einem bestimmten Zeitraum weniger Datenpunkte verfügbar sind.

Bei knots < n_times wird jeder Knoten anhand der Daten der benachbarten Zeiträume geschätzt. Dabei werden Zeiträume, die näher liegen, stärker gewichtet. Weil die beiden nächstgelegenen Knoten die Inferenz für einen bestimmten Zeitraum bestimmen, wird die Auswirkung eines bestimmten Zeitraums anhand der Daten dieses und der benachbarten Zeiträume geschätzt. Je weniger Knoten vorhanden sind, desto stärker wirken sich benachbarten Zeiträume auf die Inferenz für einen bestimmten Zeitraum aus. Dabei werden die nächstgelegenen Zeiträume stärker gewichtet. Dadurch wird die Varianz verringert, da immer mehr Zeiträume zur Schätzung der Auswirkungen eines bestimmten Zeitraums verwendet werden. Die Daten stammen jedoch nicht aus dem entsprechenden Zeitraum, was den Bias erhöht.

Zusammenfassend lässt sich sagen, dass mehr Knoten den Bias bei Schätzungen der Zeiteffekte verringern, während weniger Knoten die Varianz bei entsprechenden Schätzungen verringern. Als Analyst können Sie festlegen, welchen Kompromiss Sie im Hinblick auf Bias und Varianz eingehen möchten. Wenn die Zeit ein wichtiger Störfaktor zwischen Media und KPI ist, führt der Kompromiss zwischen Bias und Varianz bei der Schätzung der Zeiteffekte zu einem Kompromiss zwischen Bias und Varianz bei der Schätzung der kausalen Effekte von Media.

Außerdem können Sie für verschiedene Zeiträume unterschiedliche Kompromisse zwischen Bias und Varianz festlegen. Dazu legen Sie knots auf eine Liste fest, die Knotenpositionen angibt. Knoten können in Bereichen mit geringem Bias der Schätzungen (z. B. in der Festtagssaison) dicht und in Bereichen mit geringer Varianz der Schätzungen (z. B. in der Vor- und Nachsaison) spärlich verteilt sein.

Wann sollten weniger Knoten verwendet werden?

Wenn Sie die Anzahl der Knoten festlegen, kann es auch hilfreich sein, darüber nachzudenken, wie sich der Zeitraum auf die Media-Ausführung auswirkt. Kontrollvariablen sollten Störvariablen sein, die sich sowohl auf die Media-Ausführung als auch auf den KPI auswirken. Weitere Informationen zu Kontrollvariablen

Eine ähnliche Logik gilt für die Zeit. Wenn der Zeitraum kein Faktor für die Media-Ausführung ist, ist er keine echte Störvariable. Es ist dann nicht nötig, zu viele Freiheitsgrade für die Modellierung der Zeit mit vielen Knoten zu verwenden. Werbetreibende müssen überlegen, ob der Zeitraum bei der Planung der Media-Ausführung eine Rolle spielt. So hängt die Mediaplanung eines Reiseunternehmens wahrscheinlich vom Zeitraum ab. Eine Snackmarke hat dagegen möglicherweise eine konsistentere Mediaplanung über verschiedene Zeiträume hinweg. Überlegen Sie auch, ob die Zeit wirklich eine wichtige Störvariable ist oder ein Proxy für eine andere Variable, die direkt modelliert werden kann, wahrscheinlich mit weniger Freiheitsgraden. War Zeit wirklich die Störvariable, die die Media-Ausführung beeinflusst hat? Oder lag es an der Anzahl der COVID-19-Fälle landesweit? Werbetreibende kennen ihre eigene Strategie für die Mediaplanung und haben Einblick in diese Themen.

Wann Sie knots < n_times verwenden müssen

In bestimmten Fällen müssen Sie knots < n_times festlegen, z. B. in einem Modell auf nationaler Ebene, in dem Sie nicht mehrere Beobachtungen pro Zeitraum haben und für jeden Zeitraum nicht genügend Freiheitsgrade für einen eigenen Parameter vorhanden sind. Beachten Sie, dass eine gewisse Reduzierung der Dimensionalität erforderlich ist.

Ein weiteres Beispiel ist, wenn Sie eine Media- oder Kontrollvariable auf nationaler Ebene angeben müssen. Variablen auf nationaler Ebene ändern sich im Zeitverlauf, aber nicht geografisch. Eine solche Variable ist perfekt kollinear mit der Zeit und daher redundant mit einem Modell, das einen Parameter für jeden Zeitraum hat. Wenn Sie knots nahe an n_times festlegen, können Sie technisch gesehen ein identifizierbares Modell haben. Es kann jedoch sein, dass es nur schwer identifizierbar ist und zu Problemen führt. Angesichts der Schwierigkeiten bei der Schätzung von Zeiteffekten in einem nationalen Modell sind hochwertige Kontrollvariablen dort noch wichtiger als in einem geografischen Modell. Weitere Informationen

Andere Ansätze zur Modellierung von Zeiteffekten: binäre Indikatoren und periodische Funktionen

Sie können binäre Indikatoren oder periodische Funktionen als Kontrollvariablen erstellen und eingeben, um Zeiteffekte in Meridian zu modellieren. Beide haben in bestimmten Fällen Vorteile.

Binäre Indikatoren

Ein binärer Indikator hat den Wert 1, wenn eine Bedingung erfüllt ist, und andernfalls den Wert 0. Beispiel: Der Wert 1 für alle Zeiträume im Dezember und der Wert 0 für alle anderen Zeiträume. In Meridian können binäre Indikatoren als Kontrollvariablen verwendet werden, um Zeiteffekte zu modellieren, die über eine Reihe von Zeiträumen hinweg konsistent sind und optional nach geografischer Einheit variieren. Knoten und binäre Indikatoren können zusammen verwendet werden. Achten Sie jedoch auf die Gesamtzahl der Parameter, die zur Modellierung von Zeiteffekten verwendet werden.

Konsistente Effekte

Ein binärer Indikator kann mehrere Zeiträume abdecken. Dabei wird davon ausgegangen, dass der KPI-Effekt (pro Kopf in einem geografischen Modell) über alle Zeiträume hinweg konsistent ist. Bei einem binären Indikator werden mehrere Zeiträume verwendet, um einen konsistenten Effekt zu schätzen. Dadurch werden die Schätzungen verbessert und die Freiheitsgrade effizient genutzt, sofern die Annahme eines konsistenten Effekts ungefähr zutrifft.

Der Indikator hat keine Auswirkungen auf Zeiträume außerhalb der angegebenen, während sich das Platzieren eines Knotens in einem bestimmten Zeitraum auf die benachbarten Zeiträume bis zum nächsten angrenzenden Knoten auswirkt.

Die Modellierung von Zeiteffekten als konsistent über einen Satz von Zeiträumen hinweg kann für ein nationales Modell sinnvoll sein, weil die Struktur dazu beitragen kann, Schätzungen zu stabilisieren. Bei einem geografischen Modell wird oft die Flexibilität bevorzugt, die sich durch die Verwendung vieler Knoten ergibt.

Geografische Variation

Wenn ein binärer Indikator als Kontrollvariable in einem Modell auf geografischer Ebene verwendet wird, wird davon ausgegangen, dass er einen geografisch abhängigen Effekt hat. Das ist ideal für Ereignisse, bei denen Sie davon ausgehen, dass die Auswirkungen je nach Region unterschiedlich sind, z. B. wenn der Super Bowl in der Gastgeberstadt eine größere Wirkung hat. Im Gegensatz dazu werden mit Knoten Zeiteffekte geschätzt, die nicht geografisch abhängig sind. Mithilfe von Knoten wird eine flexible Spline-Funktion erstellt, um zeitbasierte Muster zu erfassen, die für alle geografischen Einheiten gelten. Sie sind parameterfreundlicher, wenn Sie keine geografisch abhängigen Zeiteffekte erwarten.

Geografische Variation für einen binären Indikator deaktivieren

Möglicherweise möchten Sie einen binären Indikator ohne geografisch abhängige Zeiteffekte verwenden. Dazu können Sie den Prior für die hierarchische Varianz xi_c auf eine Punktmasse bei „0“ setzen. In diesem Fall sind alle geografiespezifischen Koeffizienten für den binären Indikator identisch. Wenn Sie geografische Effekte für alle Kontrollvariablen deaktivieren möchten, legen Sie den entsprechenden Varianz-Prior auf den deterministischen Wert „0“ fest:

xi_c = tfp.distributions.Deterministic(0)

Wenn Sie den geografischen Effekt nur für eine bestimmte Kontrollvariable deaktivieren möchten, können Sie den scale-Wert des entsprechenden Priors auf „0“ setzen. Legen Sie Folgendes fest, wenn Sie beispielsweise vier Kontrollvariablen haben und die geografisch abhängigen Effekte für die erste deaktivieren möchten:

xi_c = tfp.distributions.HalfNormal(scale=[0, 5, 5, 5])

Periodische Funktionen

Eine weitere Option ist, eine periodische Funktion wie eine Fourierreihe als Kontrollvariable hinzuzufügen. Periodische Funktionen können eine attraktive Alternative zu Knoten sein, insbesondere in nationalen Modellen.

Periodische Funktionen modellieren die Zeiteffekte als glattes und zyklisches Muster für den KPI (im Fall eines geografischen Modells: KPI pro Kopf). Periodische Funktionen sind eine starke parametrische Annahme darüber, wie sich die Zeit auf den KPI auswirkt. Das kann für ein nationales Modell sinnvoll sein, weil die Struktur dazu beitragen kann, eine stabile Schätzung der Saisonalität zu erhalten. Bei einem geografischen Modell wird die Flexibilität, viele Knoten zu verwenden, oft bevorzugt, weil sie kein glattes und zyklisches Muster für den KPI erzwingt.

Praktische Empfehlungen

Die Empfehlungen hängen davon ab, ob es sich um ein geografisches oder ein nationales Modell handelt.

Geografische Modelle

Binäre Indikatoren können in geografischen Modellen verwendet werden, um geografisch abhängige Zeiteffekte zu modellieren. Knoten und binäre Indikatoren können zusammen genutzt werden. Achten Sie jedoch auf die Gesamtzahl der Parameter, die zur Modellierung von Zeiteffekten verwendet werden.

  • Nutzen Sie Knoten für Zeiteffekte, die nicht geografisch abhängig sind: Wenn Sie ein zeitliches Muster modellieren möchten, das in allen geografischen Einheiten konsistent ist, bieten Knoten Flexibilität, ohne dass das Risiko einer übermäßigen Parametrisierung besteht.
  • Verwenden Sie für Zeiteffekte, die geografisch abhängig sind, einen binären Indikator: Wenn Sie eine starke Hypothese haben, dass die Auswirkungen eines Ereignisses je nach geografischer Einheit variieren, ist ein binärer Indikator als Kontrollvariable das richtige Tool.

Nationale Modelle

Bei nationalen Modellen ist Parsimonie besonders wichtig. Sie kann durch binäre Indikatoren, periodische Funktionen oder einige gut platzierte Knoten erreicht werden. Diese können zusammen verwendet werden, aber achten Sie besonders auf die Gesamtzahl der Parameter, da Parsimonie bei einem nationalen Modell wichtig ist. Jede dieser Optionen verbessert die Schätzungen und nutzt die Freiheitsgrade effizient, sofern die Annahme ungefähr zutrifft. Im Folgenden werden die Annahmen für die einzelnen Punkte zusammengefasst:

  • Mit periodischen Funktionen werden die Zeiteffekte als glattes und zyklisches Muster für den KPI modelliert.
  • Bei binären Indikatoren werden Zeiteffekte für alle betroffenen Zeiträume als konsistent modelliert.
  • Knoten modellieren Zeiteffekte als abschnittsweisen linearen Trend im Zeitverlauf.