Accede a las diferentes secciones de este artículo:
- Cómo funciona el argumento de nudos (
knots
) - Cómo elegir la cantidad de nudos para los efectos del tiempo en el modelo
- Cómo usar los nudos y las pseudovariables binarias
Cómo funciona el argumento de nudos (knots
)
Meridian usa un enfoque de intersección que varía con el tiempo para modelar los efectos del tiempo (Spline [matemáticas], Wikipedia). Ng, Wang, & Dai. 2021). Este enfoque modela los efectos del tiempo \(\mu = [\mu_1, \dots, \mu_T]\) para cada uno de los períodos \(T\)(un MMM semanal de tres años tiene \(52 \times 3\) períodos). Los efectos del tiempo \(T\) podrían modelarse con una cantidad de parámetros inferior a la de \(T\)mediante la siguiente relación:
\[\mu = W \ast b\]
Aquí ocurre lo siguiente:
\(\mu\) equivale a \(1 \times T\) y representa el efecto de cada período \(t=1, \dots ,T\). \(W\) es una matriz de ponderación determinística de \(T \times K\) .
\(b\) (que se conoce como
knot_values
en Meridian) equivale a \(K \times 1\), donde \(K \leq T\).
La inferencia a posteriori bayesiana se realiza sobre \(b\), que se traduce en términos de\(\mu\) según la matriz de ponderación \(W\). La cantidad de nudos \(K\)la proporciona el usuario. La matriz de ponderación \(W\) se determina según la distancia L1 entre un período y los dos nudos adyacentes.
Para ilustrar cómo se determina la matriz de ponderación según la distancia L1, tomemos como ejemplo el período\(9\), que tiene sus dos nudos adyacentes en \(6\) y \(11\). La distancia L1 entre el período \(9\) y el nudo en \(11\) es \(2\). La distancia L1 entre el período \(9\) y el nudo en \(6\) es \(3\). Por lo tanto, el nudo en \(6\)obtiene un peso de \(0.4 = 1 - \frac{3}{2+3} \) y el nudo en \(11\) obtiene un peso de\(0.6 = 1 - \frac{2}{2+3} \). El promedio ponderado de estos dos nudos adyacentes determina el valor de \(\mu_9\).
Observa que, cuando knots < n_times
, hay cierto nivel de reducción de dimensiones. Los períodos n_times
se modelan con una cantidad de parámetros inferior a la de n_times
. La función de ponderación determina cómo se combinan los períodos.
Cómo elegir la cantidad de nudos para los efectos del tiempo en el modelo
Cuando pienses en cómo configurar knots
de ModelSpec
, es útil considerar los dos extremos: los nudos pueden variar de uno a la cantidad de períodos (n_times
). Cuando se da la fórmula knots = n_times
, no hay reducción de dimensiones y cada período tiene su propio parámetro. En un modelo a nivel geográfico, se puede identificar si hay la misma cantidad de nudos y períodos porque hay varias ubicaciones geográficas y, por lo tanto, varias observaciones por período. Cuando se da la fórmula knots = 1
, se miden todos los períodos con un solo parámetro, lo que equivale a decir que el tiempo no tiene ningún efecto. Esta ausencia de efecto se convierte en una intersección común para todos los períodos.
Cuando se da la fórmula 1 < knots < n_times
, te encuentras en el medio de estos dos extremos. Puedes probar un rango dentro de los valores aptos. Si deseas obtener información que te ayude a definir un punto medio entre los dos extremos, consulta la sección Compensación entre sesgo y varianza.
Te recomendamos que pruebes lo siguiente:
Los modelos a nivel geográfico deben comenzar en el valor predeterminado (
knots = n_times
). Si observas que hay un sobreajuste extremo o que las estimaciones de los efectos de los medios son poco realistas, considera reducir la cantidad de nudos. Cuanto menor sea la cantidad de ubicaciones geográficas por punto temporal, más probable será que se requiera reducir la cantidad de nudos.Los modelos a nivel nacional deben comenzar en el nudo
1
predeterminado y aumentar la cantidad de nudos a partir de allí. Sigue aumentando la cantidad hasta que el sobreajuste se vuelva extremo o las estimaciones de los efectos de los medios dejen de ser realistas.Una cantidad similar de nudos puede devolver resultados parecidos, como
knots = 10
yknots = 11
, por lo que puede ser útil ampliar la diferencia entre los valores que deseas probar.
Para obtener información que podría ayudarte a desarrollar algoritmos para la selección de nudos, consulta Knot selection in sparse Gaussian processes with a variational objective function (Selección de nudos en procesos gaussianos dispersos con una función objetivo variacional) en la biblioteca en línea de Wiley.
Compensación entre sesgo y varianza
Puede ser útil concebir el ajuste de la cantidad de nudos como una compensación entre sesgo y varianza. Cuando se da la fórmula knots = n_times
, cada período obtiene su propio parámetro. Esto significa que el efecto de un período determinado se estima únicamente con sus datos. Sin embargo, knots = n_times
implica una gran varianza debido a que hay menos datos disponibles en un período determinado.
Cuando se da la fórmula knots < n_times
, cada nudo se estima con los datos de períodos cercanos, otorgando un mayor peso a los más próximos. Como los dos nudos más cercanos determinan la inferencia de un período dado, el efecto de ese período se estima con sus propios datos y los de períodos cercanos. Cuanto menor sea la cantidad de nudos, mayor será la influencia de los puntos temporales cercanos sobre la inferencia de un punto temporal dado. Asimismo, cuanto más cercanos sean los puntos temporales, más peso recibirán. Esto disminuye la varianza porque se usa una mayor cantidad de puntos temporales para estimar el efecto de un período dado. Sin embargo, como los datos no provienen de ese período, el sesgo es mayor.
En resumen, en lo que respecta a las estimaciones de los efectos del tiempo, usar más o menos nudos ayuda a reducir el sesgo o la varianza, respectivamente. Como analista, puedes decidir dónde deseas posicionarte en esta compensación entre sesgo y varianza. Si el tiempo es una variable de confusión importante entre los medios y el KPI, la compensación entre sesgo y varianza en la estimación de los efectos del tiempo se traduce en una compensación entre sesgo y varianza en la estimación de los efectos causales de los medios.
Además, puedes optar por aplicar diferentes compensaciones entre sesgo y varianza a distintos períodos. Para ello, define los nudos (knots
) en una lista que especifique su ubicación. Los nudos pueden estar más o menos juntos en áreas donde el analista prefiera obtener estimaciones con un bajo nivel de sesgo (como en la temporada de festividades) o de varianza (como en períodos fuera de la temporada de festividades), respectivamente.
Cuándo resulta adecuado usar menos nudos
Al definir la cantidad de nudos, también puede ser útil considerar cómo el tiempo afecta la ejecución de los medios. Las variables de control deben ser variables de confusión que influyan tanto en la ejecución de los medios como en el KPI. Consulta Cómo seleccionar variables de control para obtener más información sobre las variables de este tipo.
Una lógica similar se aplica al tiempo. Si el tiempo no es un factor importante para la ejecución de los medios, tampoco es una verdadera variable de confusión. En ese caso, podrías evitar asignar demasiados grados de libertad al modelado del tiempo con un sesgo bajo, por ejemplo, con una gran cantidad de nudos. Los anunciantes deben analizar si el tiempo es un factor importante en la planificación de la ejecución de los medios. Por ejemplo, es probable que una marca de viajes incluya el tiempo en su planificación de medios, mientras que una marca de bocadillos podría no hacerlo. Además, pregúntate si el tiempo es realmente una variable de confusión importante o si es un proxy de alguna otra variable que se pueda modelar de forma directa, probablemente con menos grados de libertad. Por ejemplo, ¿fue el tiempo la variable de confusión que impulsó la ejecución de los medios?, ¿o fue la cantidad de casos de COVID en todo el país? Los anunciantes conocen su propia estrategia de planificación de medios y tienen información sobre estos temas.
Cuándo debes usar knots < n_times
Hay situaciones en las que debes usar knots < n_times
, por ejemplo, en un modelo a nivel nacional sin demasiadas observaciones por período ni suficientes grados de libertad para que cada período obtenga su propio parámetro. Ten en cuenta que es necesario aplicar cierta reducción de dimensiones.
Otro ejemplo es cuando debes incluir un medio o una variable de control a nivel nacional. Por definición, las variables a nivel nacional cambian con el tiempo, pero no según la ubicación geográfica. Tales variables son perfectamente colineales con el tiempo y, por lo tanto, resultan redundantes en los modelos que tienen un parámetro para cada período. Si estableces valores similares para knots
y n_times
, técnicamente podrías generar un modelo identificable. Sin embargo, el modelo podría seguir siendo poco identificable y ocasionar problemas. Dadas las inquietudes en torno a la estimación de los efectos del tiempo en un modelo nacional, es aún más importante usar variables de control de alta calidad en un modelo nacional que en uno geográfico. Consulta Cómo seleccionar variables de control para obtener más información sobre las variables de este tipo de alta calidad.
Cómo elegir nudos o pseudovariables binarias
En esta sección, se proporciona información sobre cómo usar nudos para efectos estacionales en comparación con pseudovariables binarias para eventos específicos, como días feriados y encuentros deportivos. Los usuarios suelen preguntarse si los nudos y las pseudovariables binarias pueden o deben usarse juntos en estas circunstancias.
Ten en cuenta lo siguiente al decidir cuáles usar:
knots
deModelSpec
también se puede usar para establecer las ubicaciones de los nudos. Esta opción suele ser más adecuada que usar pseudovariables binarias para las variables de control.Las pseudovariables binarias incluidas en el argumento
controls
deInputData
implicarán una jerarquía geográfica, mientras que los nudos no. Esto puede ser adecuado para los días feriados o los eventos cuyos efectos podrían variar significativamente según la ubicación geográfica. Por ejemplo, ciertos tipos de eventos deportivos pueden tener un mayor impacto en ciertas ubicaciones geográficas.