设置 max_lag 形参

Meridian 模型允许时间段 \(t\) 的媒体影响时间段\(t, t + 1, \dots , t + L\) 的 KPI,其中整数 \(L\) 是用户使用 ModelSpecmax_lag 形参设置的超形参。媒体的影响可能会持续较长时间,超出 max_lag 所设置的时长。不过,Meridian 假设滞后效应会单调衰减至零,并且这些效应最终会变得很小。出于实际考量,我们将效应截断在 max_lag 值处。

max_lag 权衡

max_lag 值越小,模型收敛效果通常越好,模型运行时间也越短。较小的 max_lag 值还可以减小模型方差:当 max_lag 值较大时,Meridian 模型通常无法获得足够的数据来精确估计滞后效应,从而增加模型方差。另一方面,如果 max_lag 值较大,滞后效应的持续时间会较长,这对于预计存在长期效应的模型可能是有益的。

提高 max_lag 的值并不一定意味着投资回报率估计值也会增加。原因之一是,如果时间段 \(t\) 的媒体可以影响时间段 \(t+L\)的 KPI,这可能会削弱时间段\(t+1, \dots , t+L\) 的媒体对时间段 \(t+L\)的 KPI 所产生的影响。

有关设置 max_lag 的实用建议

Meridian 中提供的两种 Adstock 衰减函数(几何衰减和二项式衰减)以不同的方式平衡了 max_lag 权衡。

使用几何衰减时

对于几何衰减,将 max_lag 设置在 2-10 范围内,可以很好地进行以下平衡:对媒体滞后效应进行模型分析,同时最大限度地减少最大滞后时间过长可能带来的弊端。对于大多数 \(\alpha\)值,几何衰减曲线会非常快速地衰减到零,因此将 max_lag 设置为非常大的值对模型似然的影响微乎其微。

使用二项式衰减时

不过,对于二项式衰减,曲线是最大滞后时间的函数:它会拉伸以覆盖效应窗口,因为其 x 轴截距始终固定在\(L + 1\)。这样一来,回报递减的担忧便不复存在,您大可放心地使用 max_lag 值更大的二项式衰减。不过,随着 max_lag 的增加,收敛性仍可能会变差,模型运行时间也可能会变长。同时,还应权衡增加 max_lag 可能带来的益处。在此例中,我们建议将 max_lag 值设在 4-20 之间。

结合使用几何衰减和二项式衰减时

如果您为不同的渠道使用不同的衰减函数,就可能难以决定是否增加 max_lag 的值。如果您主要使用某一函数,只有少数例外情况,建议您遵循主要函数的建议。如果您使用的是更均衡的组合,建议您选择 4-20 之间的 max_lag 值。这样一来,便能很好地进行以下平衡:采用二项式衰减对滞后效应进行模型分析,同时避免在使用具有较大 max_lag 的几何衰减时产生的弊端。

Adstock 衰减函数 最大滞后时间建议
几何衰减 2-10 个时间段。
二项式衰减 4-20 个时间段。
几何衰减与二项式衰减组合 4-20 个时间段。

如需详细了解衰减函数和 Alpha 版先验,请参阅设置 adstock_decay_spec 形参