加入新推出的
Discord 社区,展开实时讨论,获得同行支持,并直接与 Meridian 团队互动!
meridian.model.spec.ModelSpec
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Meridian 的模型规范形参。
meridian.model.spec.ModelSpec(
prior: meridian.model.prior_distribution.PriorDistribution
= dataclasses.field(default_factory=prior_distribution.PriorDistribution),
media_effects_dist: str = constants.MEDIA_EFFECTS_LOG_NORMAL,
hill_before_adstock: bool = False,
max_lag: (int | None) = 8,
unique_sigma_for_each_geo: bool = False,
paid_media_prior_type: str = constants.PAID_MEDIA_PRIOR_TYPE_ROI,
roi_calibration_period: (np.ndarray | None) = None,
rf_roi_calibration_period: (np.ndarray | None) = None,
knots: (int | list[int] | None) = None,
baseline_geo: (int | str | None) = None,
holdout_id: (np.ndarray | None) = None,
control_population_scaling_id: (np.ndarray | None) = None,
non_media_population_scaling_id: (np.ndarray | None) = None
)
此类包含在 Meridian 运行期间不会发生变化的所有模型形参。
属性 |
prior
|
一个 PriorDistribution 对象,用于指定每组模型形参的先验分布。形参向量(例如 alpha_m )的分布可以作为标量分布或向量分布进行传递。如果传递的是标量分布,则将其广播到形参向量的实际形状。如需了解相关详情,请参阅 paid_media_prior_type 。
|
media_effects_dist
|
一个字符串,用于指定媒体随机效应在各个地理位置的分布情况。此属性不适用于国家级模型。允许使用的值有:'normal' 或 'log_normal' 。默认值:'log_normal' 。
|
hill_before_adstock
|
一个布尔值,用于指明是否在 Adstock 函数之前应用 Hill 函数。默认顺序与此相反,是在 Hill 函数之前应用 Adstock 函数。此实参不适用于 RF 渠道。默认值:False 。
|
max_lag
|
一个整数,用于指明 Adstock 计算中要包含的最大滞后期数 (≥ 0 )。该属性也可设置为 None ,这相当于将最大滞后期数设置为无限。默认值:8 。
|
unique_sigma_for_each_geo
|
一个布尔值,用于指明是否要针对每个地理位置使用唯一的残差方差。如果值为 False ,则单个残差方差将用于所有地理位置。默认值:False 。
|
paid_media_prior_type
|
一个字符串,用于指定媒体系数的先验类型。允许使用的值有:'roi' 、'mroi' 、'coefficient' 。默认值:'roi' 。PriorDistribution 包含 roi_m 的分布、mroi_m 的分布和 beta_m 的分布,但三者只会使用其一,具体取决于 paid_media_prior_type 。同样,PriorDistribution 包含 roi_rf 的分布、mroi_rf 的分布和 beta_rf 的分布,但三者只会使用其一,具体取决于 paid_media_prior_type 。如果 paid_media_prior_type 为 'roi' ,则 PriorDistribution.roi_m 和 PriorDistribution.roi_rf 形参用于指定投资回报率 (ROI) 先验。如果 paid_media_prior_type 为 'mroi' ,则 PriorDistribution.mroi_m 和 PriorDistribution.mroi_rf 形参用于指定边际投资回报率 (mROI) 先验。如果 paid_media_prior_type 为 'coefficient' ,则 PriorDistribution.beta_m 和 PriorDistribution.beta_rf 形参用于指定系数平均值形参的先验。 |
roi_calibration_period
|
一个可选的布尔值数组,形状为 (n_media_times,
n_media_channels) ,可指明 roi_m 先验的投资回报率值(或 mroi_m 先验的边际投资回报率值)应用到的 time 子集。如果值为 None ,则使用所有时间段。默认值:None 。
|
rf_roi_calibration_period
|
一个可选的布尔值数组,形状为 (n_media_times, n_rf_channels) ,可指明 roi_rf 先验的投资回报率值(或 mroi_rf 先验的边际投资回报率值)应用到的 time 子集。如果值为 None ,则使用所有时间段。默认值:None 。
|
knots
|
一个可选的整数或整数列表,表示用于估算时间效应的结。如果 knots 是一个整数列表,则该列表提供的是结的位置。0 表示第一个时间段的结,1 表示第二个时间段的结,依此类推,(n_times - 1) 表示最后一个时间段的结。通常,我们建议纳入 0 和 (n_times - 1) 处的结,但这并不是强制要求。如果 knots 是整数,则结的位置在各个时间段中均匀分布,包括 0 和 (n_times - 1) 处的结。如果 knots 为 1 ,则表示所有时间段都使用一个通用的回归系数。如果 knots 设置为 None ,则所使用的结数与地理位置模型中的时间段数一致。这相当于每个时间段都有自己的回归系数。对于国家级模型,如果 knots 设置为 None ,则所使用的结数为 1 。默认值:None 。
|
baseline_geo
|
一个可选的整数或字符串,表示基准地理位置。在对地理位置进行虚拟编码时,基准地理位置会被视为参考地理位置。非基准地理位置具有相应的 tau_g 指标变量,也就是说它们的先验方差高于基准地理位置。设置为 None 时,人口最多的地理位置会用作基准地理位置。默认值:None 。
|
holdout_id
|
一个可选的布尔值张量,维度为 (n_geos, n_times) (对于地理位置级模型)或 (n_times,) (对于国家级模型),用于指示哪些观测数据应用作留出样本,哪些应排除在训练样本之外。只有 KPI 数据会被排除在训练样本之外。媒体数据仍包含在内,因为它们可能会影响后续几周的 Adstock。如果使用了“投资回报率先验”,则 roi_m 形参代表所有地理位置和时间的投资回报率,甚至包括留出样本中的投资回报率。
|
control_population_scaling_id
|
一种维度为 (n_controls,) 的可选布尔值张量,用于指明哪些控制变量的控制值将根据人口进行缩放。如果值为 None ,则不按人口缩放控制变量。默认值:None 。
|
non_media_population_scaling_id
|
一个可选布尔值张量,维度为 (n_non_media_channels,) ,用于指明哪些非媒体变量的非媒体值将根据人口比例进行缩放。如果值为 None ,则不按人口比例缩放非媒体变量。默认值:None 。
|
方法
__eq__
__eq__(
other
)
返回 self==value。
类变量 |
baseline_geo
|
None
|
control_population_scaling_id
|
None
|
hill_before_adstock
|
False
|
holdout_id
|
None
|
knots
|
None
|
max_lag
|
8
|
media_effects_dist
|
'log_normal'
|
non_media_population_scaling_id
|
None
|
paid_media_prior_type
|
'roi'
|
rf_roi_calibration_period
|
None
|
roi_calibration_period
|
None
|
unique_sigma_for_each_geo
|
False
|
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-25。
[null,null,["最后更新时间 (UTC):2025-01-25。"],[],[],null,[]]