meridian.model.prior_distribution.PriorDistribution

Contient les distributions a priori pour chaque paramètre du modèle.

PriorDistribution est une classe utilitaire pour Meridian. Les formes requises des arguments de PriorDistribution dépendent des options de modélisation et des formes de données transmises à Meridian. Par exemple, ec_m est un paramètre qui représente la demi-saturation de chaque canal média. L'argument ec_m doit comporter soit batch_shape=[], soit batch_shape égal au nombre de canaux média. Dans le premier cas, chaque canal média reçoit le même a priori.

Une erreur est générée lors de la construction de Meridian si la forme d'une distribution a priori ne peut pas être diffusée dans la forme désignée par la spécification du modèle.

Les formes de batch des paramètres sont les suivantes :

Paramètre Forme de batch
knot_values n_knots
tau_g_excl_baseline n_geos - 1
beta_m n_media_channels
beta_rf n_rf_channels
beta_om n_organic_media_channels
beta_orf n_organic_rf_channels
eta_m n_media_channels
eta_rf n_rf_channels
eta_om n_organic_media_channels
eta_orf n_organic_rf_channels
gamma_c n_controls
gamma_n n_non_media_channels
xi_c n_controls
xi_n n_non_media_channels
alpha_m n_media_channels
alpha_rf n_rf_channels
alpha_om n_organic_media_channels
alpha_orf n_organic_rf_channels
ec_m n_media_channels
ec_rf n_rf_channels
ec_om n_organic_media_channels
ec_orf n_organic_rf_channels
slope_m n_media_channels
slope_rf n_rf_channels
slope_om n_organic_media_channels
slope_orf n_organic_rf_channels
sigma (σ)
roi_m n_media_channels
roi_rf n_rf_channels
mroi_m n_media_channels
mroi_rf n_rf_channels

(σ) n_geos si unique_sigma_for_each_geo, sinon 1

knot_values Distribution a priori sur les nœuds pour les effets temporels. La distribution par défaut est définie sur Normal(0.0, 5.0).
tau_g_excl_baseline Distribution a priori sur les effets géographiques, qui représentent le KPI moyen de chaque zone géographique par rapport à la zone géographique de référence. Ce paramètre est diffusé dans un vecteur de longueur n_geos - 1, en conservant l'ordre géographique et en excluant baseline_geo. Après l'échantillonnage, Meridian.inference_data inclut une version modifiée de ce paramètre appelée tau_g, qui a une longueur de n_geos et contient un zéro à la position correspondant à baseline_geo. Meridian ignore cette distribution si n_geos = 1. La distribution par défaut est définie sur Normal(0.0, 5.0).
beta_m Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux média d'impression (beta_gm). Lorsque media_effects_dist est défini sur 'normal', il s'agit de la moyenne hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour la moyenne de la distribution Normal sous-jacente log-transformée. Meridian ignore cette distribution si paid_media_prior_type est 'roi' ou 'mroi' et utilise plutôt l'a priori de roi_m ou mroi_m. La distribution par défaut est définie sur HalfNormal(5.0).
beta_rf Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux média avec couverture et fréquence (beta_grf). Lorsque media_effects_dist est défini sur 'normal', il s'agit de la moyenne hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour la moyenne de la distribution Normal sous-jacente log-transformée. Meridian ignore cette distribution si paid_media_prior_type est 'roi' ou 'mroi' et utilise plutôt l'a priori de roi_m ou mroi_rf. La distribution par défaut est définie sur HalfNormal(5.0).
beta_om Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux de type média naturel (beta_gom). Lorsque media_effects_dist est défini sur 'normal', il s'agit de la moyenne hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour la moyenne de la distribution Normal sous-jacente log-transformée. La distribution par défaut est définie sur HalfNormal(5.0).
beta_orf Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux de type média naturel avec couverture et fréquence (beta_gorf). Lorsque media_effects_dist est défini sur 'normal', il s'agit de la moyenne hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour la moyenne de la distribution Normal sous-jacente log-transformée. La distribution par défaut est définie sur HalfNormal(5.0).
eta_m Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux média d'impression (beta_gm). Lorsque media_effects_dist est défini sur 'normal', il s'agit de l'écart-type hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour l'écart-type de la distribution Normal sous-jacente log-transformée. La distribution par défaut est définie sur HalfNormal(1.0).
eta_rf Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux média de couverture et de fréquence (beta_grf). Lorsque media_effects_dist est défini sur 'normal', il s'agit de l'écart-type hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour l'écart-type de la distribution Normal sous-jacente log-transformée. La distribution par défaut est définie sur HalfNormal(1.0).
eta_om Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux média naturel (beta_gom). Lorsque media_effects_dist est défini sur 'normal', il s'agit de l'écart-type hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour l'écart-type de la distribution Normal sous-jacente log-transformée. La distribution par défaut est définie sur HalfNormal(1.0).
eta_orf Distribution a priori sur un paramètre pour la distribution hiérarchique des effets média au niveau géographique pour les canaux média avec couverture et fréquence naturelles (beta_gorf). Lorsque media_effects_dist est défini sur 'normal', il s'agit de l'écart-type hiérarchique. Lorsque media_effects_dist est défini sur 'log_normal', il s'agit du paramètre hiérarchique pour l'écart-type de la distribution Normal sous-jacente log-transformée. La distribution par défaut est définie sur HalfNormal(1.0).
gamma_c Distribution a priori sur la moyenne hiérarchique de gamma_gc, qui est le coefficient sur le contrôle c pour la zone géographique g. La hiérarchie est définie sur les zones géographiques. La distribution par défaut est définie sur Normal(0.0, 5.0).
gamma_n Distribution a priori sur la moyenne hiérarchique de gamma_gn, qui est le coefficient sur le canal non média n pour la zone géographique g. La hiérarchie est définie sur les zones géographiques. La distribution par défaut est définie sur Normal(0.0, 5.0).
xi_c Distribution a priori sur l'écart-type hiérarchique de gamma_gc, qui est le coefficient sur le contrôle c pour la zone géographique g. La hiérarchie est définie sur les zones géographiques. La distribution par défaut est définie sur HalfNormal(5.0).
xi_n Distribution a priori sur l'écart-type hiérarchique de gamma_gn, qui est le coefficient sur le canal non média n pour la zone géographique g. La hiérarchie est définie sur les zones géographiques. La distribution par défaut est définie sur HalfNormal(5.0).
alpha_m Distribution a priori sur le paramètre Adstock geometric decay pour les inputs média. La distribution par défaut est définie sur Uniform(0.0, 1.0).
alpha_rf Distribution a priori sur le paramètre Adstock geometric decay pour les inputs RF. La distribution par défaut est définie sur Uniform(0.0, 1.0).
alpha_om Distribution a priori sur le paramètre Adstock geometric decay pour les inputs média naturel. La distribution par défaut est définie sur Uniform(0.0, 1.0).
alpha_orf Distribution a priori sur le paramètre Adstock geometric decay pour les inputs couverture et fréquence naturelles. La distribution par défaut est définie sur Uniform(0.0, 1.0).
ec_m Distribution a priori sur le paramètre Hill half-saturation pour les inputs média. La distribution par défaut est définie sur TruncatedNormal(0.8, 0.8, 0.1, 10).
ec_rf Distribution a priori sur le paramètre Hill half-saturation pour les inputs RF. La distribution par défaut est définie sur TransformedDistribution(LogNormal(0.7, 0.4), Shift(0.1)).
ec_om Distribution a priori sur le paramètre Hill half-saturation pour les inputs média naturel. La distribution par défaut est définie sur TruncatedNormal(0.8, 0.8, 0.1, 10).
ec_orf Distribution a priori sur le paramètre Hill half-saturation pour les inputs couverture et fréquence naturelles. La distribution par défaut est définie sur TransformedDistribution( LogNormal(0.7, 0.4), Shift(0.1)).
slope_m Distribution a priori sur le paramètre Hill slope pour les inputs média. La distribution par défaut est définie sur Deterministic(1.0).
slope_rf Distribution a priori sur le paramètre Hill slope pour les inputs RF. La distribution par défaut est définie sur LogNormal(0.7, 0.4).
slope_om Distribution a priori sur le paramètre Hill slope pour les inputs média naturel. La distribution par défaut est définie sur Deterministic(1.0).
slope_orf Distribution a priori sur le paramètre Hill slope pour les inputs couverture et fréquence naturelles. La distribution par défaut est définie sur LogNormal(0.7, 0.4).
sigma Distribution a priori sur l'écart-type du bruit. La distribution par défaut est définie sur HalfNormal(5.0).
roi_m Distribution a priori sur le ROI pour chaque canal média. Ce paramètre n'est utilisé que lorsque paid_media_prior_type est défini sur 'roi'. Dans ce cas, beta_m est calculé en tant que fonction déterministe de roi_rf, de alpha_rf, de ec_rf, de slope_rf et des dépenses associées à chaque canal média. La distribution par défaut est définie sur LogNormal(0.2, 0.9). Lorsque kpi_type est défini sur 'non_revenue' et que revenue_per_kpi n'est pas fourni, le ROI est interprété comme les unités de KPI incrémentales par unité monétaire dépensée. Dans ce cas, la valeur par défaut pour roi_m et roi_rf sera ignorée, et un a priori de ROI commun sera attribué à tous les canaux pour atteindre une moyenne cible et un écart-type sur la contribution média totale.
roi_rf Distribution a priori sur le ROI pour chaque canal avec couverture et fréquence. Ce paramètre n'est utilisé que lorsque paid_media_prior_type est défini sur 'roi'. Dans ce cas, beta_rf est calculé en tant que fonction déterministe de roi_rf, de alpha_rf, de ec_rf, de slope_rf et des dépenses associées à chaque canal avec couverture et fréquence. La distribution par défaut est définie sur LogNormal(0.2, 0.9). Lorsque kpi_type est défini sur 'non_revenue' et que revenue_per_kpi n'est pas fourni, le ROI est interprété comme les unités de KPI incrémentales par unité monétaire dépensée. Dans ce cas, la valeur par défaut pour roi_m et roi_rf sera ignorée, et un a priori de ROI commun sera attribué à tous les canaux pour atteindre une moyenne cible et un écart-type sur la contribution média totale.
mroi_m Distribution a priori sur le mROI pour chaque canal média. Ce paramètre n'est utilisé que lorsque paid_media_prior_type est défini sur 'mroi'. Dans ce cas, beta_m est calculé en tant que fonction déterministe de mroi_m, de alpha_m, de ec_m, de slope_m et des dépenses associées à chaque canal média. La distribution par défaut est définie sur LogNormal(0.0, 0.5). Lorsque kpi_type est défini sur 'non_revenue' et que revenue_per_kpi n'est pas fourni, le ROIm est interprété comme les unités de KPI incrémentales marginales par unité monétaire dépensée. Dans ce cas, aucune distribution par défaut n'est fournie. L'utilisateur doit donc la spécifier.
mroi_rf Distribution a priori sur le mROI pour chaque canal avec couverture et fréquence. Ce paramètre n'est utilisé que lorsque paid_media_prior_type est défini sur 'mroi'. Dans ce cas, beta_rf est calculé en tant que fonction déterministe de mroi_rf, de alpha_rf, de ec_rf, de slope_rf et des dépenses associées à chaque canal média. La distribution par défaut est définie sur LogNormal(0.0, 0.5). Lorsque kpi_type est défini sur 'non_revenue' et que revenue_per_kpi n'est pas fourni, le mROI est interprété comme les unités de KPI incrémentales marginales par unité monétaire dépensée. Dans ce cas, aucune distribution par défaut n'est fournie. L'utilisateur doit donc la spécifier.

Méthodes

broadcast

Afficher la source

Renvoie une nouvelle PriorDistribution avec des attributs de distribution de diffusion.

Args
n_geos Nombre de zones géographiques.
n_media_channels Nombre de canaux média utilisés.
n_rf_channels Nombre de canaux avec couverture et fréquence utilisés.
n_organic_media_channels Nombre de canaux média naturel utilisés.
n_organic_rf_channels Nombre de canaux avec couverture et fréquence naturelles utilisés.
n_controls Nombre de contrôles utilisés.
n_non_media_channels Nombre de canaux non média utilisés.
sigma_shape Nombre décrivant la forme du paramètre sigma. Il s'agit de 1 (si sigma_for_each_geo=False) ou de n_geos (si sigma_for_each_geo=True). Pour en savoir plus, consultez ModelSpec.
n_knots Nombre de nœuds utilisés.
is_national Indicateur booléen spécifiant si la distribution a priori sera adaptée à un modèle national.
set_total_media_contribution_prior Indicateur booléen indiquant si les a priori de ROI doivent être définis pour atteindre un a priori de contribution média totale avec une moyenne cible et un écart-type.
kpi Somme de l'ensemble des KPI pour toutes les zones géographiques et toutes les périodes. Obligatoire si set_total_media_contribution_prior=True.
total_spend Dépenses par canal média, additionnées pour toutes les zones géographiques et toutes les périodes. Obligatoire si set_total_media_contribution_prior=True.

Renvoie
Une nouvelle diffusion PriorDistribution à partir de cette distribution a priori, en fonction de la dimensionnalité des données constatée.

Génère
ValueError Si des priors personnalisés ne sont pas définis pour tous les canaux.

has_deterministic_param

Afficher la source

__eq__

Return self==value.