Définir des nœuds

Accéder à :

Fonctionnement de l'argument knots

Meridian utilise une approche à intercept aléatoire pour modéliser les effets temporels (Spline (mathématiques), Wikipédia). Ng, Wang et Dai. 2021). Cette approche modélise les effets temporels \(\mu = [\mu_1, \dots, \mu_T]\) pour chacune des périodes \(T\)(une MMM au niveau hebdomadaire sur trois ans comporte \(52 \times 3\) périodes). Les effets temporels \(T\) sont modélisés avec potentiellement moins de \(T\)paramètres à l'aide de la relation suivante :

\[\mu = W \ast b\]

Où :

  • \(\mu\) est \(1 \times T\) représentant l'effet de chaque période où \(t=1, \dots ,T\), \(W\) est une matrice de pondération déterministe \(T \times K\) ;

  • \(b\) (appelé knot_values dans Meridian) correspond à \(K \times 1\)où \(K \leq T\).

L'inférence bayésienne a posteriori est effectuée sur \(b\), qui est traduit en termes de\(\mu\) selon la matrice de pondération \(W\). Le nombre de nœuds \(K\)est déterminé par l'entrée utilisateur. La matrice de pondération \(W\) est déterminée par la distance L1 entre une période et les deux nœuds voisins.

Pour comprendre comment la distance L1 détermine la matrice de pondération, considérons la période\(9\), où les deux nœuds voisins sont respectivement à \(6\) et \(11\). La distance L1 entre la période \(9\) et le nœud \(11\) est \(2\). La distance L1 entre la période \(9\) et le nœud \(6\) est \(3\). Ainsi, le nœud à \(6\)obtient la pondération \(0.4 = 1 - \frac{3}{2+3} \) et le nœud à \(11\) obtient la pondération\(0.6 = 1 - \frac{2}{2+3} \). La moyenne pondérée de ces deux nœuds voisins détermine la valeur de \(\mu_9\).

Notez que lorsque knots < n_times, il existe un certain niveau de réduction de la dimensionnalité. Les périodes n_times sont modélisées avec un nombre de paramètres inférieur à n_times. La fonction de pondération détermine la manière dont les périodes sont combinées.

Choisir le nombre de nœuds pour les effets temporels dans le modèle

Lorsque vous réfléchissez à la façon de définir les knots de ModelSpec, nous vous recommandons de penser aux deux extrêmes : les nœuds peuvent être n'importe où entre 1 et le nombre de périodes (n_times). Lorsque knots = n_times, il n'y a pas de réduction de la dimensionnalité et chaque période obtient son propre paramètre. Dans un modèle au niveau géographique, il est possible d'avoir autant de nœuds que de périodes, car vous disposez de plusieurs zones géographiques (et donc de plusieurs observations) par période. Lorsque knots = 1, toutes les périodes sont mesurées avec un seul paramètre, ce qui revient à dire que le temps n'a aucun effet. Cette absence d'effet devient un intercept commun à toutes les périodes.

Lorsque 1 < knots < n_times, vous êtes au milieu de ces deux extrêmes. Vous pouvez essayer une plage de valeurs couvrant l'espace des valeurs éligibles. Pour en savoir plus sur la façon de considérer le milieu de ces deux extrêmes, consultez Compromis entre variance et biais.

Nous vous recommandons d'essayer les solutions suivantes :

  • Les modèles au niveau géographique doivent commencer par la valeur par défaut (knots = n_times). Si vous constatez que le surapprentissage est extrême ou que les estimations de l'effet média sont irréalistes, envisagez de réduire le nombre de nœuds. La nécessité de réduire le nombre de nœuds est plus susceptible de s'appliquer à mesure que le nombre de zones géographiques par point temporel diminue.

  • Les modèles au niveau national doivent commencer par le nœud 1 par défaut et augmenter le nombre de nœuds à partir de là. Continuez à augmenter la valeur jusqu'à ce que le surapprentissage devienne extrême ou que les estimations de l'effet média deviennent irréalistes.

  • Un nombre de nœuds similaire peut renvoyer des résultats similaires, tels que knots = 10 et knots = 11. Il peut donc être utile de répartir les valeurs que vous souhaitez essayer.

Pour obtenir des informations qui pourraient vous aider à développer des algorithmes de sélection de nœuds, consultez Knot selection in sparse Gaussian processes with a variational objective function dans la bibliothèque en ligne Wiley.

Compromis entre biais et variance

Il peut être utile de considérer le paramètre du nombre de nœuds comme un compromis entre biais et variance. Lorsque knots = n_times, chaque période obtient son propre paramètre. L'effet d'une période donnée est alors estimé en utilisant uniquement les données de cette période. Cependant, la variance de knots = n_times est élevée, car moins de points de données sont disponibles à un moment donné.

Lorsque knots < n_times, chaque nœud est estimé à l'aide des données des périodes proches, les périodes plus proches ayant une pondération plus élevée. Étant donné que les deux nœuds les plus proches déterminent l'inférence d'une période donnée, l'effet d'une période donnée est estimé selon les données de cette période et celles des périodes proches. À mesure que le nombre de nœuds diminue, les points temporels proches ont de plus en plus d'influence sur l'inférence pour un point temporel donné, les points temporels les plus proches ayant une pondération plus élevée. Cela réduit la variance, car de plus en plus de points temporels sont utilisés pour estimer l'effet d'une période donnée. Toutefois, les données ne proviennent pas de la période donnée, ce qui augmente le biais.

En résumé, plus il y a de nœuds, moins les estimations de l'effet temporel sont biaisées, et moins il y a de nœuds, moins les estimations de l'effet temporel présentent une variance. En tant qu'analyste, vous pouvez ajuster le compromis entre biais et variance. Si le temps est un facteur de confusion important entre le média et le KPI, le compromis entre biais et variance dans l'estimation des effets temporels se traduit par un compromis entre biais et variance dans l'estimation des effets de causalité du média.

Vous pouvez également choisir d'avoir différents compromis entre biais et variance pour différentes périodes. Pour ce faire, définissez knots sur une liste qui spécifie les emplacements des nœuds. Les emplacements des nœuds peuvent être denses lors des périodes où vous préférez un biais faible dans les estimations (par exemple, pendant la période des fêtes) et rares lors des périodes où l'analyste préfère une variance faible dans l'estimation (par exemple, en dehors de la période des fêtes).

Quand envisager d'utiliser moins de nœuds ?

Lorsque vous définissez le nombre de nœuds, il peut également être utile de réfléchir à l'impact de la période sur l'exécution média. Les variables de contrôle doivent être des variables de confusion qui ont une incidence sur l'exécution média et sur le KPI. Pour en savoir plus sur les variables de contrôle, consultez Sélectionner des variables de contrôle.

La même logique s'applique au temps. Si la période n'est pas un facteur pour l'exécution média, le temps ne constitue pas une réelle variable de confusion. Vous pouvez ainsi éviter de donner trop de marge de manœuvre à la modélisation du temps avec de nombreux nœuds. Les annonceurs doivent déterminer si la période joue un rôle dans la planification de l'exécution média. Par exemple, la planification média d'une marque de voyages dépend probablement de la période. Une marque de chips peut avoir une planification média plus cohérente au cours des périodes. Demandez-vous également si le temps constitue vraiment une variable de confusion importante ou s'il s'agit d'un substitut pour une autre variable qui peut être directement modélisée, probablement avec moins de marge de manœuvre. Par exemple, le temps était-il vraiment la variable de confusion qui a généré l'exécution média ? Ou s'agissait-il du nombre de cas de COVID-19 au niveau national ? Les annonceurs connaissent leur propre stratégie de planification média et ont une bonne connaissance de ces thèmes.

Quand utiliser knots < n_times ?

Vous devez définir knots < n_times dans certaines situations, par exemple dans un modèle national où vous ne disposez pas de plusieurs observations par période et où il n'y a pas assez de marge de manœuvre pour que chaque période dispose de son propre paramètre. Notez qu'un certain niveau de réduction de la dimensionnalité est nécessaire.

Autre exemple : lorsque vous devez inclure un média ou une variable de contrôle au niveau national. Par définition, les variables au niveau national changent au fil du temps, mais pas selon les zones géographiques. Ce type de variable est parfaitement colinéaire avec le temps et est donc redondant avec un modèle qui comporte un paramètre pour chaque période. Si vous définissez knots sur une valeur proche de n_times, vous pouvez techniquement avoir un modèle identifiable. Toutefois, il peut toujours être faiblement identifiable et entraîner des problèmes. Compte tenu des préoccupations liées à l'estimation des effets temporels dans un modèle national, il est encore plus important de disposer de contrôles de haute qualité dans un modèle national que dans un modèle géographique. Pour en savoir plus sur les contrôles de haute qualité, consultez Sélectionner des variables de contrôle.

Autres approches pour modéliser les effets temporels : indicateurs binaires et fonctions périodiques

Vous pouvez créer et fournir des indicateurs binaires ou des fonctions périodiques en tant que variables de contrôle pour modéliser les effets temporels dans Meridian. Les deux présentent des avantages dans certains cas.

Indicateurs binaires

Un indicateur binaire prend la valeur 1 lorsqu'une condition est remplie et 0 lorsqu'elle ne l'est pas. Par exemple, la valeur 1 peut indiquer toutes les périodes en décembre et la valeur 0 celles qui ne sont pas en décembre. Dans Meridian, les indicateurs binaires peuvent être utilisés comme variables de contrôle pour modéliser les effets temporels qui sont cohérents sur un ensemble de périodes et qui peuvent varier selon la zone géographique. Les nœuds et les indicateurs binaires peuvent être utilisés ensemble, mais faites attention au nombre total de paramètres utilisés pour modéliser les effets temporels.

Effets cohérents

Un indicateur binaire peut couvrir plusieurs périodes, ce qui suppose que l'effet du KPI (par personne dans un modèle géographique) soit cohérent sur toutes les périodes. Un indicateur binaire utilise plusieurs périodes pour estimer un effet cohérent. Cela permet d'améliorer les estimations et d'utiliser efficacement les marges de manœuvre, à condition que l'hypothèse d'un effet cohérent soit approximativement correcte.

L'indicateur n'a aucun effet sur les périodes en dehors de celles indiquées, tandis que positionner un nœud sur une période spécifique affectera les périodes voisines jusqu'au nœud adjacent suivant.

Il peut être intéressant de modéliser les effets temporels de manière cohérente sur un ensemble de périodes pour un modèle national, où imposer une structure peut aider à stabiliser les estimations. Pour un modèle géographique, il est souvent préférable d'avoir la possibilité d'utiliser de nombreux nœuds.

Variation géographique

Lorsqu'un indicateur binaire est utilisé comme variable de contrôle dans un modèle au niveau géographique, les estimations montrent que son effet dépend de la zone géographique. C'est idéal pour les événements dont l'impact est censé varier selon la région (comme le Super Bowl, qui a un impact plus important dans la ville hôte). En revanche, les nœuds estiment les effets temporels qui ne dépendent pas d'une zone géographique. Les nœuds créent une fonction spline flexible pour capturer les schémas temporels partagés par toutes les zones géographiques. Ils sont donc plus efficaces en termes de paramètres si vous ne vous attendez pas à des effets temporels qui dépendent d'une zone géographique.

Désactiver la variation géographique pour un indicateur binaire

Vous pouvez utiliser un indicateur binaire sans effets temporels dépendant d'une zone géographique. Pour ce faire, vous pouvez définir l'a priori de sa variance hiérarchique (xi_c) sur une masse ponctuelle à zéro. Dans ce cas, chaque coefficient géographique spécifique sera identique pour l'indicateur binaire. Afin de désactiver les effets géographiques pour toutes les variables de contrôle, définissez leur a priori de variance sur une valeur déterministe de zéro :

xi_c = tfp.distributions.Deterministic(0)

Afin de désactiver l'effet géographique pour une seule variable de contrôle spécifique, vous pouvez définir le scale de son a priori sur zéro. Par exemple, si vous avez quatre variables de contrôle et que vous souhaitez désactiver les effets dépendant de la zone géographique pour la première :

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

Fonctions périodiques

Vous pouvez également ajouter une fonction périodique, comme une série de Fourier, en tant que variable de contrôle. Les fonctions périodiques peuvent constituer une alternative intéressante aux nœuds, en particulier dans les modèles nationaux.

Les fonctions périodiques modélisent les effets temporels comme ayant un modèle fluide et cyclique sur le KPI (KPI par personne dans le cas d'un modèle géographique). Les fonctions périodiques constituent une hypothèse paramétrique forte sur la façon dont le temps affecte le KPI. Elles peuvent être appropriées pour un modèle national, où imposer une structure peut aider à obtenir une estimation stable de la saisonnalité. Pour un modèle géographique, il est souvent préférable d'avoir la possibilité d'utiliser de nombreux nœuds, car cela n'impose pas de modèle fluide et cyclique sur le KPI.

Recommandations pratiques

Les recommandations dépendent du type de modèle (géographique ou national).

Modèles géographiques

Les indicateurs binaires peuvent être utilisés dans les modèles géographiques pour modéliser les effets temporels dépendant d'une zone géographique. Les nœuds et les indicateurs binaires peuvent être utilisés ensemble, mais faites attention au nombre total de paramètres utilisés pour modéliser les effets temporels.

  • Pour les effets temporels qui ne dépendent pas d'une zone géographique, utilisez des nœuds : si vous souhaitez modéliser un schéma temporel cohérent dans toutes les zones géographiques, les nœuds offrent de la flexibilité sans risque de surparamétrisation.
  • Pour les effets temporels qui dépendent d'une zone géographique, utilisez un indicateur binaire : s'il est fort probable que l'impact d'un événement varie selon la zone géographique, un indicateur binaire en tant que variable de contrôle est l'outil approprié.

Modèles nationaux

Les modèles nationaux bénéficient particulièrement de la parcimonie, qui peut être obtenue avec des indicateurs binaires, des fonctions périodiques ou quelques nœuds bien positionnés. Ces éléments peuvent être utilisés ensemble, mais soyez particulièrement attentif au nombre total de paramètres, étant donné l'importance de la parcimonie dans un modèle national. Chacune de ces options améliore les estimations et utilise efficacement les marges de manœuvre, à condition que l'hypothèse soit approximativement correcte. Vous trouverez ci-dessous un récapitulatif des hypothèses pour chacune d'elles :

  • Les fonctions périodiques modélisent les effets temporels comme ayant un modèle fluide et cyclique sur le KPI.
  • Les indicateurs binaires modélisent les effets temporels comme étant cohérents sur les périodes concernées.
  • Les nœuds modélisent les effets temporels sous forme de tendance linéaire par morceaux sur la durée.