meridian.model.prior_distribution.PriorDistribution

包含每个模型形参的先验分布。

PriorDistribution 是 Meridian 的实用程序类。PriorDistribution 的实参所需的形状取决于传递给 Meridian 的建模选项和数据形状。例如,ec_m 形参表示每个媒体渠道的半饱和度。对于 ec_m 实参,要么其 batch_shape=[],要么 batch_shape 等于媒体渠道数。在前一种情况下,每个媒体渠道都会获得相同的先验。

如果有任何先验分布的形状无法广播到模型规范指定的形状,则在构建 Meridian 时会出错。

形参批次形状如下所示:

形参 批次形状
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

如果 unique_sigma_for_each_geo 为 True,则 (σ) 为 n_geos,否则为 1

knot_values 时间效应结的先验分布。默认分布为 Normal(0.0, 5.0)
tau_g_excl_baseline 地理位置效应的先验分布,表示每个地理位置相对于基准地理位置的平均 KPI。此形参会广播到长度为 n_geos - 1 的向量,保留地理位置顺序,并排除 baseline_geo。采样后,Meridian.inference_data 会包含此形参的一个修改版本,名为 tau_g,其长度为 n_geos,并且在与 baseline_geo 对应的位置包含一个零。如果 n_geos = 1,Meridian 会忽略此分布。默认分布为 Normal(0.0, 5.0)
beta_m 对于展示媒体渠道 (beta_gm),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层平均值。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布平均值的分层形参。如果 paid_media_prior_type'roi''mroi',Meridian 会忽略此分布,改为使用 roi_mmroi_m 先验。默认分布为 HalfNormal(5.0)
beta_rf 对于覆盖面和频次媒体渠道 (beta_grf),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层平均值。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布平均值的分层形参。如果 paid_media_prior_type'roi''mroi',Meridian 会忽略此分布,改为使用 roi_mmroi_rf 先验。默认分布为 HalfNormal(5.0)
beta_om 对于自然媒体渠道 (beta_gom),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层平均值。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布平均值的分层形参。默认分布为 HalfNormal(5.0)
beta_orf 对于自然覆盖面和频次媒体渠道 (beta_gorf),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层平均值。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布平均值的分层形参。默认分布为 HalfNormal(5.0)
eta_m 对于展示媒体渠道 (beta_gm),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层标准差。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布标准差的分层形参。默认分布为 HalfNormal(1.0)
eta_rf 对于覆盖面和频次媒体渠道 (beta_grf),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层标准差。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布标准差的分层形参。默认分布为 HalfNormal(1.0)
eta_om 对于自然媒体渠道 (beta_gom),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层标准差。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布标准差的分层形参。默认分布为 HalfNormal(1.0)
eta_orf 对于自然 RF(覆盖面和频次)媒体渠道 (beta_gorf),地理位置级媒体效应的分层分布形参的先验分布。当 media_effects_dist 设置为 'normal' 时,它是分层标准差。当 media_effects_dist 设置为 'log_normal' 时,它是底层对数变换 Normal 分布标准差的分层形参。默认分布为 HalfNormal(1.0)
gamma_c gamma_gc(即地理位置 g 的控制变量 c 的系数)的分层平均值的先验分布。层次结构是基于地理位置定义的。默认分布为 Normal(0.0, 5.0)
gamma_n gamma_gn(即地理位置 g 的非媒体渠道 n 的系数)的分层平均值的先验分布。层次结构是基于地理位置定义的。默认分布为 Normal(0.0, 5.0)
xi_c gamma_gc(即地理位置 g 的控制变量 c 的系数)的分层标准差的先验分布。层次结构是基于地理位置定义的。默认分布为 HalfNormal(5.0)
xi_n gamma_gn(即地理位置 g 的非媒体渠道 n 的系数)的分层标准差的先验分布。层次结构是基于地理位置定义的。默认分布为 HalfNormal(5.0)
alpha_m 媒体输入的 geometric decay Adstock 形参的先验分布。默认分布为 Uniform(0.0, 1.0)
alpha_rf 覆盖面和频次输入的 geometric decay Adstock 形参的先验分布。默认分布为 Uniform(0.0, 1.0)
alpha_om 自然媒体输入的 geometric decay Adstock 形参的先验分布。默认分布为 Uniform(0.0, 1.0)
alpha_orf 自然 RF 输入的 geometric decay Adstock 形参的先验分布。默认分布为 Uniform(0.0, 1.0)
ec_m 媒体输入的 half-saturation Hill 形参的先验分布。默认分布为 TruncatedNormal(0.8, 0.8, 0.1, 10)
ec_rf 覆盖面和频次输入的 half-saturation Hill 形参的先验分布。默认分布为 TransformedDistribution(LogNormal(0.7, 0.4), Shift(0.1))
ec_om 自然媒体输入的 half-saturation Hill 形参的先验分布。默认分布为 TruncatedNormal(0.8, 0.8, 0.1, 10)
ec_orf 自然 RF 输入的 half-saturation Hill 形参的先验分布。默认分布为 TransformedDistribution( LogNormal(0.7, 0.4), Shift(0.1))
slope_m 媒体输入的 slope Hill 形参的先验分布。默认分布为 Deterministic(1.0)
slope_rf 覆盖面和频次输入的 slope Hill 形参的先验分布。默认分布为 LogNormal(0.7, 0.4)
slope_om 自然媒体输入的 slope Hill 形参的先验分布。默认分布为 Deterministic(1.0)
slope_orf 自然 RF 输入的 slope Hill 形参的先验分布。默认分布为 LogNormal(0.7, 0.4)
sigma 噪声标准差的先验分布。默认分布为 HalfNormal(5.0)
roi_m 每个媒体渠道的投资回报率 (ROI) 先验分布。仅当 paid_media_prior_type'roi' 时,才使用此形参。在这种情况下,beta_m 是作为 roi_rfalpha_rfec_rfslope_rf 以及与每个媒体渠道相关联的支出的确定性函数加以计算的。默认分布为 LogNormal(0.2, 0.9)。如果 kpi_type'non_revenue' 且未提供 revenue_per_kpi,系统会将投资回报率解读为每支出一个货币单位所带来的增量 KPI 单位数。在这种情况下,系统会忽略 roi_mroi_rf 的默认值,并为所有渠道分配一个共同的投资回报率先验,以实现媒体总贡献率的目标平均值和标准差。
roi_rf 每个覆盖面和频次渠道的投资回报率先验分布。仅当 paid_media_prior_type'roi' 时,才使用此形参。在这种情况下,beta_rf 是作为 roi_rfalpha_rfec_rfslope_rf 以及与每个覆盖面和频次渠道相关联的支出的确定性函数计算的。默认分布为 LogNormal(0.2, 0.9)。如果 kpi_type'non_revenue' 且未提供 revenue_per_kpi,系统会将投资回报率解读为每支出一个货币单位所带来的增量 KPI 单位数。在这种情况下,系统会忽略 roi_mroi_rf 的默认值,并为所有渠道分配一个共同的投资回报率先验,以实现媒体总贡献率的目标平均值和标准差。
mroi_m 每个媒体渠道的边际投资回报率 (mROI) 先验分布。仅当 paid_media_prior_type'mroi' 时,才使用此形参。在这种情况下,beta_m 是作为 mroi_malpha_mec_mslope_m 以及与每个媒体渠道相关联的支出的确定性函数加以计算的。默认分布为 LogNormal(0.0, 0.5)。如果 kpi_type'non_revenue' 且未提供 revenue_per_kpi,系统会将边际投资回报率解读为每支出一个货币单位所带来的边际增量 KPI 单位数。在这种情况下,系统不会提供默认分布,因此用户必须自行指定。
mroi_rf 每个覆盖面和频次渠道的边际投资回报率先验分布。仅当 paid_media_prior_type'mroi' 时,才使用此形参。在这种情况下,beta_rf 是作为 mroi_rfalpha_rfec_rfslope_rf 以及与每个媒体渠道相关联的支出的确定性函数计算的。默认分布为 LogNormal(0.0, 0.5)。如果 kpi_type'non_revenue' 且未提供 revenue_per_kpi,系统会将边际投资回报率解读为每支出一个货币单位所带来的边际增量 KPI 单位数。在这种情况下,系统不会提供默认分布,因此用户必须自行指定。

方法

broadcast

查看源代码

返回具有广播分布属性的新 PriorDistribution

实参
n_geos 地理位置数。
n_media_channels 使用的媒体渠道数。
n_rf_channels 使用的覆盖面和频次渠道数。
n_organic_media_channels 使用的自然媒体渠道数。
n_organic_rf_channels 使用的自然覆盖面和频次渠道数。
n_controls 使用的控制变量数。
n_non_media_channels 使用的非媒体渠道数。
sigma_shape 一个描述 Sigma 形参的形状的数字。它要么是 1(如果 sigma_for_each_geo=False),要么是 n_geos(如果 sigma_for_each_geo=True)。如需了解详情,请参阅 ModelSpec
n_knots 使用的结数。
is_national 一个布尔值,指明先验分布是否会针对国家级模型进行调整。
set_total_media_contribution_prior 一个布尔值,指明是否应设置投资回报率先验,以实现具有目标平均值和方差的媒体总贡献率先验。
kpi 所有地理位置和时间段的所有 KPI 的总和。如果 set_total_media_contribution_prior=True,则为必需。
total_spend 每个媒体渠道的支出,所有地理位置和时间段的总和。如果 set_total_media_contribution_prior=True,则为必需。

返回结果
根据给定的数据维数,从此先验分布广播的新 PriorDistribution

可能引发的错误
ValueError 如果没有为所有渠道设置自定义先验。

has_deterministic_param

查看源代码

__eq__

返回 self==value。