Weiter zu:
- Funktionsweise des
knots
-Arguments - Anzahl der Knoten für Zeiteffekte im Modell auswählen
- Knoten und binäre Dummys verwenden
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
undknots = 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 die Zeit 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 die Zeit kein Faktor für die Media-Ausführung ist, ist sie keine echte Störvariable. Es ist dann nicht nötig, zu viele Freiheitsgrade für die Modellierung der Zeit mit geringem Bias zu verwenden, z. B. viele Knoten. Werbetreibende müssen überlegen, ob der Faktor Zeit bei der Planung der Media-Ausführung eine Rolle spielt. So wird ein Reiseunternehmen die Zeit wahrscheinlich für die Mediaplanung verwenden, eine Snackmarke aber nicht. Überlegen Sie auch, ob die Zeit wirklich die 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
Knoten oder binäre Dummys auswählen
In diesem Abschnitt erfahren Sie, wann Sie Knoten für saisonale Auswirkungen und wann binäre Dummys für bestimmte Ereignisse wie Feiertage und Sportveranstaltungen verwenden sollten. Nutzer fragen sich oft, ob Knoten und binäre Dummys in diesen Fällen zusammen verwendet werden können oder sollten.
Berücksichtigen Sie bei Ihrer Entscheidung Folgendes:
knots
derModelSpec
können auch verwendet werden, um Knotenpositionen festzulegen. Oft ist das besser, als binäre Dummys für Kontrollvariablen festzulegen.Binäre Dummys, die in das
controls
-Argument vonInputData
eingefügt werden, haben eine geografische Hierarchie, Knoten hingegen nicht. Das kann für Feiertage oder Veranstaltungen sinnvoll sein, die starke geografische Unterschiede bei den Auswirkungen aufweisen können. So sind bestimmte Arten von Sportveranstaltungen in bestimmten Regionen beispielsweise wirkungsvoller als in anderen.