跳转到:
运行质量检查
模型训练完毕后,您必须评估其完整性和稳定性,然后才能信任其因果推理结果。这些建模后质量检查旨在诊断与模型收敛、设定和合理性相关的常见问题。
运行这些检查有助于您发现潜在问题,了解数据如何影响模型,并确信模型的输出可靠且符合商业逻辑。
运行以下命令,即可生成此页面上的所有必要诊断信息所解读的结果:
from meridian.analysis.review import reviewer
reviewer.ModelReviewer(mmm).run()
解读诊断状态
此页面上的每项诊断检查都会返回以下三种状态之一。以下是每种状态背后的逻辑:
PASS:此状态单纯是为了告知用户相应的信息,用户无需采取任何行动。
REVIEW:当发现结果取决于业务背景,且不是明确的
Pass或Fail时,系统会显示此状态。这种情况下应手动检查结果,确定是否需要采取进一步措施。只要您已评估发现结果并了解其影响,在状态为REVIEW的情况下继续操作通常是合理的。FAIL:这是一个严重标志,表示这项检查检测到重大问题。强烈建议您先解决此问题,然后再继续,因为模型的结果可能不可靠,无法用于因果推理。
收敛
在解读任何贝叶斯模型(例如 Meridian)给出的估计值之前,模型收敛都是必须要达到的一项基本前提条件。如果不收敛,估计值将是任意值,无法真实表示后验分布。
Meridian 使用 Gelman 和 Rubin(1992 年)潜在规模缩减因子 (R-hat) 来诊断收敛性。R-hat 会将链之间的方差与每个链内的方差进行比较。如果链已收敛,这些方差将几乎完全相同,并且 R-hat 值将接近 1.0。
为了提供一个清晰的信号来表示整个模型的收敛性,Meridian 会报告在所有模型形参中发现的 max_r_hat 值。此单个值决定了模型的总体收敛状态。
| 条件 | 状态 | 建议 |
|---|---|---|
max_r_hat < 1.2 |
PASS | 模型很可能已收敛,因为所有形参的 R-hat 值均小于 1.2。 |
max_r_hat >= 1.2 且 < 10 |
FAIL | 模型尚未完全收敛,形参 X 的 max_r_hat 为 Y。这种情况下,应手动检查具有较高 R-hat 值的形参,以确定对于您的使用情形而言结果是否可以接受,并考虑增加 MCMC 迭代次数或调查模型误设情况。 |
max_r_hat >= 10 |
FAIL | 模型尚未收敛,形参 X 的 max_r_hat 为 Y。建议您先增加 MCMC 迭代次数或调查模型误设(例如先验、多重共线性),然后再继续。 |
如果模型的 max_r_hat 为 1.2 或更高,您应在信任模型的输出之前调查原因。请按以下步骤操作,以解决收敛问题:
增加 MCMC 迭代次数:首先,尝试增加 MCMC 迭代次数,因为模型可能需要更多时间来探索后验分布并达到稳定状态。
调查模型:如果增加迭代次数后收敛问题仍然存在,请调查是否可能存在模型误设。这包括仔细重新检查先验,并检查预测变量之间是否存在高度多重共线性。
如需了解详情,请参阅实现 MCMC 收敛。
负基准
在 Meridian 中,基准是指在所有处理变量均设置为基准值的反事实情景下的预期结果(例如,销售额、转化次数)。从本质上讲,它有助于我们了解,假如在分析期间您没有参与任何付费媒体、自然媒体或其他非媒体处理,结果会发生什么变化。
准确估计基准至关重要,因为它是确定营销工作增量影响的基础。如果基准不准确,可能会导致对营销的真实影响产生严重误解。
由于结果通常不能为负值,因此基准降至负值表示存在统计误差。不过,务必要准确说明严重程度。与所有统计模型一样,Meridian 也会存在一些误差,因此偶尔出现小幅负值可能不是什么大问题。不过,如果基准持续为负值,则表明存在明显问题。这表明,如果不进行任何营销,您的销售额将始终为负,这在现实世界中是不合逻辑的。这明显意味着模型高估了处理效应,很可能是因为误将自然增长或其他未衡量到的正效应归因于了处理变量。
由于 Meridian 是一种统计和概率模型,因此我们可以通过以概率方式评估基准来区分这些情形,而不是只查看单个点估计值。要评估的关键指标是整个时间窗口内汇总的基准为负的后验概率。如果这种概率较高,则表示统计误差较大,模型需要调整。如需查看更详细的说明,请参阅评估负基准。
Meridian 会评估此概率,以帮助您诊断模型:
| 条件 | 状态 | 建议 |
|---|---|---|
负基准概率 < 0.2 |
PASS | 基准为负的后验概率为 X。我们建议您目检模型拟合图中的基准时间序列,以确认这一点。 |
负基准概率介于 0.2 和 0.8 之间 |
REVIEW | 基准为负的后验概率为 X。这表示基准时间序列偶尔会降至负值。我们建议您目检模型拟合图中的基准时间序列,但不必过于担心。偶尔出现的小幅下降可能表示存在微小的统计误差,任何模型都难免会出现这种误差。 |
负基准概率 > 0.8 |
FAIL | 基准为负的后验概率为 X。这种高概率表明存在统计误差,显然意味着模型需要调整。模型很可能高估了处理效应。请考虑调整模型设置、数据或先验来修正此问题。 |
如果负基准概率较高(即 > 0.8),建议您检查模型的设定、控制变量和模型的 DAG。如需了解详情,请参阅减少出现基准为负或偏低的情况。
贝叶斯后验预测 P 值 (PPP)
贝叶斯后验预测 P 值 (PPP) 是一种强大的诊断工具,可用于检查模型的总体拟合度,有时也称为贝叶斯 P 值。它回答的问题是:“我的模型模拟的数据是否与我观测到的真实数据相似?”如果模型正确学习了数据中的潜在规律,那么它模拟的数据在统计上应与真实数据没有区别。如果模拟的数据看起来完全不同,则显然意味着模型设定有误,与数据的拟合度较差。如需了解详情,请参阅 Bayesian Data Analysis(贝叶斯数据分析)的第 6.3 节。
为了执行这项检查,Meridian 使用结果的总和(所有地理位置和时间均统计在内)作为其检验统计量。这项检查会将后验样本中预期总结果 ($T(y_{\text{exp}})$) 的分布与单个观测到的总结果 ($T(y)$) 进行比较。进行这种比较的一种简单方法是计算观测到的总和 ($T(y)$) 在预期总和分布中的单侧 p 值或百分位排名,计算公式如下:
其中,$S$ 是后验样本总数。通过此计算,如果观测到的数据位于预期结果的后验预测分布的极左尾部(p 值接近 0)或极右尾部(p 值接近 1),则表示模型拟合“极端”或“很差”。为了便于报告,系统会对 p 值进行转换,使接近 0 的值代表两个极端尾部(以符合频率学 p 值的解读)。概念性零假设指观测到的数据是由模型生成的。如果 p 值小于某个预定阈值,则可以说“拒绝”了零假设。
| 条件 | 状态 | 建议 |
|---|---|---|
贝叶斯 PPP >= 0.05 |
PASS | 贝叶斯后验预测 p 值为 X。观测到的总结果与模型的后验预测分布一致。 |
贝叶斯 PPP < 0.05 |
FAIL | 贝叶斯后验预测 p 值为 X。与模型的预期总结果相比,观测到的总结果是一个极端的离群值,这表明存在系统性拟合不足。建议您检查输入数据质量并重新检查模型规范(例如先验、转换),以解决此问题。 |
如果 PPP 值为 FAIL 状态,则强烈表明模型存在误设问题(例如,缺少变量、EDA 未发现的数据问题、先验不正确,或者关于 Adstock 衰减、饱和度或基准的假设有缺陷)。我们建议您全面检查输入数据质量,看看 KPI、媒体和控制变量中是否存在任何异常值、离群值或错误。此外,请重新检查模型规范,密切关注先验的选择、基准以及 Adstock 和 Hill 转换的适当性。最后,将贝叶斯 PPP 结果与其他关键模型诊断信息(例如收敛性、R 平方和残差图)进行交叉对比,以全面了解模型的性能。
拟合优度
拟合优度指标用于衡量模型的预测与实际观测数据的一致性。它们可作为重要的置信度检查指标,但应谨慎解读,因为 MMM 的主要目标是准确的因果推理,而不是预测准确率。Meridian 报告三个标准指标:
R 平方:模型解释的结果变量中的方差比例。值越接近 1,表示拟合度越好。
平均绝对百分比误差 (MAPE):预测值与实际值之间的平均绝对百分比差值。值越接近 0%,效果越好。
加权 MAPE (wMAPE):一种 MAPE 变体,其中误差按实际结果值(例如收入)加权。与 MAPE 相比,此指标通常更受青睐,因为它不太重视结果值较小的地理位置和时间段,否则这些地理位置和时间段可能会夸大误差指标。
系统会针对每个模型报告这些指标,主要用作与其他候选模型进行相对比较的工具。
| 条件 | 状态 | 建议 |
|---|---|---|
R 平方 > 0 |
PASS | R 平方 = X,MAPE = Y,wMAPE = Z。这些拟合优度指标仅供参考和相对比较。 |
R 平方 <= 0 |
REVIEW | R 平方 = X,MAPE = Y,wMAPE = Z。如果 R 平方值为负,则表明先验与数据之间可能存在冲突,需要进行调查。如果此冲突是有意为之(由于信息丰富的先验),则无需采取进一步行动。如果这是无意为之,我们建议您放宽先验,使其限制性更小。 |
这些贴合度指标通常具有 PASS 状态,因为它们旨在提供指导和相对比较。不过,如果 R 平方得出负值,Meridian 将报告 REVIEW 状态。负 R 平方值通常源于与数据中的模式相冲突的信息量过大的先验。此冲突是一项重要的诊断信号,但本身并不“坏”。这需要根据您的建模目标进行考虑,因为冲突可能是故意的。例如,您可以使用基于实验的强先验来有意抵消观测数据中存在的已知偏差(例如缺失的混杂因素)。在这种情况下,负 R 平方值只是突出了您引入的张力。
因此,REVIEW 状态会提示您调查发生此冲突的原因。如果冲突并非有意为之(不像上述示例那样是刻意选择),我们建议您检查并放宽先验,使其限制性更小。如果问题仍然存在,请检查模型结构是否存在其他问题,例如缺少关键变量或对预测变量与结果之间的关系做出了错误的假设。如需了解详情,请参阅 R 平方值为负。
贝叶斯 PPP 与 R 平方
贝叶斯 PPP 和 R 平方是互补的指标。R 平方是一种相对指标,主要用于比较不同模型(例如,模型 A 的 R 平方值优于模型 B)。相比之下,贝叶斯 PPP 是模型充分性的绝对度量。
此外,R 平方通常衡量模型点估计值所解释的方差。相比之下,贝叶斯 PPP 会考虑估计中的不确定性,并确定观测数据是否是模型中合理的抽样。
如果贝叶斯 PPP 显示 FAIL 状态,则表示模型从根本上指定错误。相反,即使模型指定得非常完美,R 平方也可能较低,因为真实过程本身就存在噪声。
投资回报率的先验-后验偏移
贝叶斯建模中的一个基本概念是“从数据中学习”。此检查有助于您通过比较先验分布与后验分布,了解模型学习了多少。此检查结果主要有以下两种解读:
出现显著偏移:这通常是一个好迹象。这表示用于拟合 MMM 的数据信息量足够大,可以更新模型的初始信念,从而得出更精确、以数据为依据的估计值。
几乎没有偏移:这意味着用于拟合 MMM 的数据中的信息相对于先验中的信息较弱。这可能有两个主要原因:
数据中的信息较少:相应渠道的数据过于稀疏、杂乱或缺乏变化。如果数据中的信息很少,先验和后验会相似。低支出渠道尤其容易出现这种情况。为解决此问题,最佳实践通常是将该渠道与另一个相关渠道合并,以增强其信号。如果没有合理的渠道可供合并,最好还是将该渠道纳入模型中,并依靠您的先验知识(假设至少大致合理),而不是完全舍弃该渠道。使用合理的先验比假装渠道不存在要好。只有在不得已的情况下(例如,渠道的支出确实微不足道,并且无法在其他地方进行逻辑组合),才应考虑舍弃渠道。如需了解详情,请参阅后验与先验相同时。
先验中的信息很强:先验有意设置为非常强(方差较低)。这不一定是坏事!如果先验是基于可靠的外部知识(例如,来自之前未用于拟合此模型的因果实验),那么先验比模型数据包含更多信息是可接受且预料之中的,并且没有发生偏移也是正常的。
您可以直观地检查此偏移。运行以下命令可绘制每个媒体渠道的投资回报率后验分布与投资回报率先验分布对比图:
model_diagnostics = visualizer.ModelDiagnostics(meridian)
model_diagnostics.plot_prior_and_posterior_distribution()
在定量方面,Meridian 会针对每个付费媒体渠道的投资回报率形参的关键统计信息(平均值、中位数、第一四分位数和第三四分位数)执行双侧假设检验。该检验会检查先验(例如先验平均值)的分析统计信息是否位于根据后验样本构建的置信区间之外。这是通过使用非形参 Bootstrap 来完成的:
通过重复重采样,根据后验样本生成统计信息(例如平均值)的经验分布。
进行双侧假设检验,其中零假设指后验统计信息等于先验统计信息。
该检验通过查找大于或小于先验值的自举后验统计信息的比例来计算 p 值。
如果 p 值低于显著性水平 ($\alpha=0.05$),则拒绝零假设,并报告相应统计信息的显著变化。
如果某个渠道的任何关键统计信息均未显示显著偏移,则在建议表中,该渠道会被标记为“无显著先验-后验偏移”。
| 条件 | 状态 | 建议 |
|---|---|---|
| 对于所有渠道,先验与后验之间都存在显著偏移。 | PASS | 模型已成功从数据中学习。这表明您的数据具有参考价值。 |
| 对于任何渠道,先验与后验之间都没有显著的偏移。 | REVIEW | 我们检测到渠道 X、Y 和 Z 的后验分布与先验分布相比没有显著偏移。这表明,这些渠道的数据信号不足以更新模型的信念。请查看这些渠道,以确定这是预期情况(由于先验较强)还是有问题(由于信号较弱)。 |
投资回报率一致性
投资回报率通常是 MMM 中最受关注的输出。此检查有助于确保模型的投资回报率估计值是合理的。极端的投资回报率值可能表明存在潜在问题,例如基准估计或模型规范存在问题。
Meridian 会通过评估每个付费媒体渠道的后验平均投资回报率及其对应的自定义先验分布来执行此检查。如果渠道的投资回报率后验平均值位于先验分布的极尾,则该渠道的投资回报率会被标记为离群值。具体而言,如果估计值高于您所陈述的先验信念的第 99 百分位或低于第 1 百分位,则会触发此 REVIEW 状态。
| 条件 | 状态 | 建议 |
|---|---|---|
| 对于所有渠道,后验平均投资回报率都位于相应先验分布的第 1 个百分位和第 99 个百分位之间。 | PASS | 投资回报率的后验分布在合理范围内,与您提供的自定义先验一致。 |
| 对于任何渠道,后验平均投资回报率都位于相应先验分布的极尾(即高于第 99 百分位或低于第 1 百分位)。 | REVIEW | 我们检测到渠道 X、Y 和 Z 的后验平均值位于自定义先验的极尾。请查看此结果,以确定在您的业务背景下,此结果是否合理。 |
此检查仅在设置了自定义先验时执行,如果使用默认先验,则会跳过此检查。此检查的目的是检测模型的数据驱动结果(后验)与您明确的专家驱动型业务假设(自定义先验)之间是否存在冲突。当数据与您陈述的信念严重相悖时,它会充当可据以采取行动的提醒,促使您检查模型或假设。相比之下,默认先验不是业务假设,而是用于正则化的通用统计工具。由于这些基准有意设置得较为宽泛,并不代表您的具体业务知识,因此将模型的结果与这些基准进行比较无法提供有意义或富有实用价值的分析洞见。