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
- Otros métodos para los efectos del tiempo: indicadores binarios y funciones periódicas
Cómo funciona el argumento 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 deberían 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 afecta el período la ejecución de los medios. Las variables de control deberían 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 período no es un factor de la ejecución de los medios, el tiempo no constituye una verdadera variable de confusión. En este caso, puedes evitar asignar demasiados grados de libertad al modelado del tiempo con muchos nudos. Los anunciantes tienen que considerar si el período juega un papel importante en la planificación de la ejecución de los medios. Por ejemplo, es probable que la planificación de medios de una marca de viajes dependa del período. En cambio, una marca de bocadillos podría tener una planificación de medios más coherente en los diferentes períodos. Además, considera 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 realmente la variable de confusión que impulsó la ejecución de los medios?, ¿o fue la cantidad de casos de COVID que hubo 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 los controles de alta calidad.
Otros métodos para modelar los efectos del tiempo: indicadores binarios y funciones periódicas
Puedes crear y agregar indicadores binarios o funciones periódicas como variables de control para modelar los efectos del tiempo en Meridian. Cada uno de estos métodos ofrece ventajas en determinados casos.
Indicadores binarios
Un indicador binario toma un valor de 1 cuando se cumple una condición, y uno de 0 cuando no se cumple; por ejemplo, un valor de 1 para indicar todos los períodos de diciembre y un valor de 0 en caso contrario. En Meridian, los indicadores binarios se pueden usar como variables de control para modelar los efectos del tiempo que son coherentes en un conjunto de períodos y que, de manera opcional, varían según la ubicación geográfica. Los nudos y los indicadores binarios se pueden usar juntos, pero ten en cuenta la cantidad total de parámetros utilizados para modelar los efectos del tiempo.
Efectos coherentes
Un indicador binario puede abarcar varios períodos, lo que supone que el efecto del KPI (per cápita en un modelo geográfico) es coherente en todos los períodos. Un indicador binario utiliza varios períodos para estimar un efecto coherente, lo que mejora las estimaciones y recurre a grados de libertad de manera eficiente, siempre que la suposición acerca de un efecto coherente sea correcta en términos aproximados.
El indicador no tiene efecto alguno en ningún período que esté fuera de los indicados, mientras que colocar un nudo en un período específico afectará los períodos contiguos hasta el siguiente nudo adyacente.
Modelar los efectos del tiempo como coherentes en un conjunto de períodos podría ser atractivo para un modelo nacional, en el que imponer una estructura puede ayudar a estabilizar las estimaciones. En el caso de un modelo geográfico, a menudo se prefiere la flexibilidad de usar muchos nudos.
Variación geográfica
Cuando se usa un indicador binario como variable de control en un modelo a nivel geográfico, se estima que tiene un efecto dependiente de la ubicación geográfica. Esto es ideal para eventos en los que esperas que el impacto varíe según la región, como el Super Bowl, que tiene un mayor impacto en la ciudad anfitriona. En cambio, los nudos estiman los efectos del tiempo que no dependen de la ubicación geográfica. Los nudos crean una función spline flexible para determinar patrones basados en el tiempo que se comparten en todas las ubicaciones geográficas. Esto los hace más eficientes en relación con los parámetros si no esperas obtener efectos del tiempo dependientes de la ubicación geográfica.
Forma de desactivar la variación geográfica para un indicador binario
Tal vez necesites usar un indicador binario sin efectos del tiempo dependientes de la ubicación geográfica.
Para ello, establece la distribución a priori para su varianza jerárquica, xi_c
, en un punto masa en cero. En este caso, cada coeficiente específico de la ubicación geográfica para el indicador binario será idéntico. Si deseas desactivar los efectos geográficos de todas las variables de control, establece su distribución a priori de varianza en un valor determinístico de cero:
xi_c = tfp.distributions.Deterministic(0)
Para desactivar el efecto geográfico de una sola variable de control específica, puedes establecer el parámetro scale
de su distribución a priori en cero. Por ejemplo, si tienes cuatro variables de control y deseas desactivar los efectos dependientes de la ubicación geográfica para la primera de ellas, haz lo siguiente:
xi_c = tfp.distributions.HalfNormal(scale=[0, 5, 5, 5])
Funciones periódicas
Otra opción es agregar una función periódica (por ejemplo, una serie de Fourier) como una variable de control. Las funciones periódicas pueden ser una alternativa atractiva a los nudos, sobre todo en los modelos nacionales.
Las funciones periódicas modelan los efectos del tiempo como un patrón homogéneo y cíclico acerca del KPI (en el caso de un modelo geográfico, el KPI per cápita). Las funciones periódicas representan una suposición paramétrica sólida sobre cómo el tiempo afecta el KPI. Esto puede ser adecuado para un modelo nacional, en el que imponer una estructura puede ayudar a obtener una estimación estable de la estacionalidad. En el caso de un modelo geográfico, a menudo se prefiere la flexibilidad de usar muchos nudos, ya que esto no fuerza un patrón homogéneo y cíclico acerca del KPI.
Recomendaciones prácticas
Las recomendaciones dependen de si el modelo es geográfico o nacional.
Modelos geográficos
Los indicadores binarios se pueden usar en los modelos geográficos para modelar los efectos del tiempo dependientes de la ubicación geográfica. Los nudos y los indicadores binarios se pueden usar juntos, pero ten en cuenta la cantidad total de parámetros utilizados para modelar los efectos del tiempo.
- Para los efectos del tiempo que no son dependientes de la ubicación geográfica, usa nudos. Si deseas modelar un patrón temporal que sea coherente en todas las ubicaciones geográficas, los nudos te brindan flexibilidad sin ningún riesgo de sobreparametrización.
- Para los efectos del tiempo que son dependientes de la ubicación geográfica, usa un indicador binario. Si tienes una hipótesis sólida de que el impacto de un evento varía según la ubicación geográfica, un indicador binario establecido como una variable de control es la herramienta adecuada.
Modelos nacionales
Los modelos nacionales se benefician especialmente de la parsimonia, que se puede lograr con indicadores binarios, funciones periódicas o algunos nudos bien colocados. Estos se pueden usar conjuntamente, pero ten en cuenta en particular la cantidad total de parámetros, dada la importancia de la parsimonia en un modelo nacional. Cada una de esas opciones mejora las estimaciones y recurre a grados de libertad de manera eficiente, siempre que la suposición sea correcta en términos aproximados. A continuación se resumen las suposiciones correspondientes a cada una de esas opciones:
- Las funciones periódicas modelan los efectos del tiempo como un patrón homogéneo y cíclico acerca del KPI.
- Los indicadores binarios modelan los efectos del tiempo como coherentes en todos los períodos determinados.
- Los nudos modelan los efectos del tiempo como una tendencia lineal por partes a lo largo del tiempo.