F3第 3 / 6 节 · 约 45 分钟

推荐与时间序列:评价必须尊重顺序

本节目标
  • 区分推荐排序和未来数值预测
  • 识别反馈偏差、时间泄漏和基线价值

两个任务看似都在预测

微型创作实验室要向成员推荐适合的下一份纸艺教程,还想预测下周公开活动的材料练习包需求。前者是推荐任务,输出一个候选排序;后者是时间序列预测,使用按时间排列的记录估计未来数值。推荐不只是预测点击,更要考虑教程是否适合当前水平、内容是否重复和用户能否找到不同主题。时间序列不只是画一条平滑曲线,而是只能用预测时已经知道的信息。两种任务都需要基线,但评价目标与数据划分不同,不能把随机切分和单一准确率套到所有场景。

推荐依赖哪些反馈

内容推荐可以依据教程标签与用户选择的主题,协同方法可以依据许多虚构用户的交互相似性。新教程没有交互、新成员没有历史时,会出现冷启动,可先用内容标签、明确偏好或热门基线。点击属于隐式反馈,不能直接等同于真正喜欢:用户可能误点,或者只有被展示的教程才有机会点击。这叫曝光与反馈偏差。若系统只推荐已热门教程,数据又只记录这些点击,容易形成越来越单一的循环。评价要检查相关性、覆盖与多样性,并保留用户调整偏好和查看非推荐目录的入口。

时间顺序决定可用信息

实验室有十二周的虚构练习包数量,预测第十三周时只能用前十二周可获得的数据。如果把未来周的实际数量、事后修订或全时期统计加入特征,属于未来信息泄漏,会让离线成绩虚高。按前面时间训练、后面时间验证和测试通常更符合使用条件,必要时用滚动验证模拟多个预测时点。移动平均是取最近几期的平均作为简易基线,例如最近三周分别十、十二、十四包,平均十二包。它不保证抓住增长趋势,却提供透明比较起点,复杂模型至少应解释为什么优于这种简单办法。

把误差与业务用途联系起来

预测值十二、实际十四时,绝对误差为二。平均绝对误差把多次误差大小平均,通俗易解释,但仍需按活动类型和时间观察。实际值为零时,一些百分比误差会遇到定义或数值问题,不能无条件使用。预测区间表示在规定方法与假设下对不确定性的范围估计,不是确保真实值永远落在里面。推荐则可用前几项相关程度、实际完成教程和覆盖来比较,离线排序好也未必代表长期体验好。所有指标应使用虚构教学记录,不把练习包预测扩展成未经评估的真实采购自动决定。

建立防捷径的小实验

推荐先比较热门列表和标签匹配,保留未展示项目的状态,不把未点击全部标成不喜欢。时间序列先比较上期值与最近三期平均,再试复杂方法,所有统计只从当前预测时点之前计算。记录每个时点的输入范围、预测和实际,便于复查。若活动主题改变导致需求变化,报告说明结构变化,不能靠一条趋势曲线证明稳定规律。最终展示推荐列表的选择理由,以及预测的误差与不适用情况。数据顺序、曝光范围和信息可获得时间,比算法名字更能决定评价是否可信。

本节要点

  • 点击不直接等于喜欢,未展示也不是负反馈
  • 未来预测只能使用当时可得信息
  • 热门、上期值和移动平均都是必要基线

动手练习:建立推荐与预测的透明基线

  1. 为六份虚构教程写主题与难度,按用户明确偏好生成前三项
  2. 使用最近三周十、十二、十四包计算下一周移动平均预测
  3. 设实际十四包计算绝对误差,并说明按时间评估及未展示状态

自查清单

  • 推荐区别未曝光与不喜欢
  • 预测计算正确且不使用未来信息
先自己做,再查看参考答案

推荐可先把主题符合且难度合适的教程放到前面,说明理由并保留其他主题入口。没有展示的教程记为未曝光,不能标成用户不喜欢。最近三周数量平均为十二,若下一周实际十四,绝对误差为二包;这只是一个预测时点,不能证明基线长期好坏。评估按时间向后推进,每次平均只使用该时点以前的记录,不能把未来实际值拿来计算特征。比较上期值十四与移动平均十二时,也要在多个时点记录误差。结果注明模拟数据与用途边界,不自动形成真实采购指令。

本节自测

学完了吗?

标记后会记录在本机浏览器,课程首页显示你的进度。