流量与转化预测:决策之前先验证

内容摘要

总量预测与个体倾向评分回答不同问题。两者均不能单独证明营销活动的因果效果。

虚构场景:两个装有空白卡片的托盘由透明板隔开,桌上摆着笔记本和计时器
本文目录

总量预测与个体倾向评分回答不同问题。两者均不能单独证明营销活动的因果效果。

目标、时段与可用信息

定义预测量、单位、所属周期和决策时段。仅使用在原本预测时点已可获得的特征。引入未来信息会造成数据泄漏,使测试结果显得过于理想。

按时间顺序测试

以过去的数据训练,在较晚时段评估,再随时间推进重复检验。考虑真实结果出现的延迟。仅在训练数据上拟合转换,并保留不参与模型选择的最终测试集。

比较基准并验证措施

在相同数据和预测时段上,与上一周期或季节性参考等简单基准比较。记录误差和不确定性;良好的历史测试不能保证未来表现。衡量一项措施的效果,需要适当的因果研究设计,例如设计合理的实验。

来源与核验

将预测结果与实时数据进行验证。

如果评估混合了早期和晚期的数据,交通模型看起来可能很准确。时间感知验证按时间顺序分离训练集和测试集,从而可以将预测结果与未见过的时间段的简单基线进行比较。

  • 在进行工程设计之前,定义预测范围、单位和可接受的误差。
  • 将模型与季节性基线进行比较,并排除预测时不可用的信息。
  • 发布后按时间段和细分市场监控误差,然后根据记录在案的原因重新训练模型。

一手资料:scikit-learn — TimeSeriesSplit. 相关方法:阅读实用指南.

碳测量边界

比较需要一致边界和功能单位。

  • 列出组件、地区、期间与功能单位,例如一次完成的操作。比较提供相同服务的方案。
  • 记录能源、排放因子及硬件分摊。区分测量和估算;说明排除项,不能把它们视作零影响。
  • 虚构例:(12 + 3) gCO2e / 5次操作 = 每次3 gCO2e。改变不确定假设,同时比较总排放。

可复现的验收案例

虚构示例:数据不代表客户或实际观察结果。

查看案例输入
{
    "functional_unit": "accepted_task",
    "energy_kWh": 2,
    "intensity_gCO2e_per_kWh": 100,
    "embodied_gCO2e": 50,
    "accepted_tasks": 100,
    "SCI_gCO2e_per_task": 2.5
}

预期判断

(2 × 100 + 50)/100 = 每任务2.5 gCO2e,仅适用于声明的边界。

验证步骤

  1. 定义边界、功能单位及系数。
  2. 分开能源、隐含排放及成果。
  3. 保留来源及无隐含抵消的计算。

Green Software Foundation — Software Carbon Intensity

可再生能源比例足以比较软件吗?

不足。需说明每个方案的边界、能源、因子、硬件和功能单位。

一手资料:Green Software Foundation — Software Carbon Intensity. 相关方法:阅读实用指南.

缺失值、零与估算

缺少观测并不等于测量得到的零。

  • 区分未收到字段、不适用的观察和采集失败。真实测得的零应保留;把所有缺失替换为零会混淆不同状态。
  • 虚构示例[10、缺失、0]中,两项观察的平均值为5。先把缺失变为零再除以三,回答的是另一个问题;应展示两个计数。
  • 估计某值时保留填补标记及规则。比较包含与不含估计的结果;没有有效观察时显示无结果,而非平均值零。

可复现的验收案例

虚构示例:数据不代表客户或实际观察结果。

查看案例输入
{
    "values": [
        10,
        null,
        0
    ],
    "observed_count": 2,
    "mean_observed": 5,
    "mean_if_missing_replaced_with_zero": 3.3333333333,
    "extended_sample": {
        "values": [
            10,
            null,
            0,
            20,
            null,
            30
        ],
        "known_count": 4,
        "expected_count": 6,
        "known_sum": 60,
        "mean_observed": 15,
        "mean_after_zero_fill": 10
    },
    "missing_only_sample": {
        "values": [
            null,
            null
        ],
        "known_count": 0,
        "mean_observed": null
    }
}

预期判断

已观察值的均值为5。将缺失值替换为零,会改变总体和结果。

同一组数据,两种平均值:公开规则

虚构数据:[10,缺失,0,20,缺失,30]。预期六条观测中有四个已知值,已知总和为60。已有的零是实际观测值。

处理方式平均值计算解读
仅使用已知值60 ÷ 4 = 15平均值描述四个已知值,不能证明两个缺失值也具有相同分布。
将缺失值替换为零60 ÷ 6 = 10两个零由规则补入,并非观测所得。该平均值回答了另一个问题;比较前应说明规则依据。
另一组样本:[缺失,缺失]无法计算没有已知值,应显示不可用状态。平均值零会暗示存在实际并不存在的观测。

验证步骤

  1. 区分缺失、零及估计值。
  2. 计算排除缺失前后的均值。
  3. 保留计数及每变量处理规则。 还应测试所有值均缺失的分组,确认没有明确规则时不会将其展示为实测零值。

pandas — Working with missing data

一手资料:pandas — Working with missing data. 相关方法:阅读实用指南.