不能直接拼接,只有在“口径可换算”或“只比较方向、不比较具体数值”这两种条件下,才可以把两段数据放在同一张趋势图里;否则更稳妥的做法是分成两条独立曲线,中间留出断点。百度快照定义本身就带有这种断裂特征:它指的是搜索引擎为页面保存的某一时点内容副本,不同时期留存下来的快照,字段、覆盖范围和可获取形式都可能不一样。
拼接趋势的前提是两段数据测量的是同一个对象。百度快照的旧记录可能只留下“页面标题、抓取时间、正文摘要”,新记录可能包含“页面标题、抓取时间、正文摘要、页面状态、跳转目标”。字段数量不同并不致命,致命的是核心字段的含义变了。
一个可执行动作是:先列出两段数据各自的字段清单,标出哪些字段名相同、哪些字段名不同但含义接近、哪些字段完全无法对应。做完这一步,你才能决定是拼接、换算,还是放弃拼接。这个动作的结果会直接影响下一步:如果存在至少一个可换算的共同字段,就可以进入换算验证;如果一个都没有,就不应该画连续趋势线。
条件一:存在可换算的共同字段。例如旧数据记录“快照日期”,新数据记录“快照抓取时间戳”,两者都能归一到“某年某月”。这时可以按月份聚合,画出“每月有快照记录的页面数”趋势。假设旧数据只覆盖栏目页,新数据覆盖全站页面,那么聚合前必须先按同一页面类型筛选,否则趋势上升可能只是覆盖面扩大造成的。这里的假设是:你手头同时有两段来源不同、时间范围不重叠的记录,且能识别页面类型。
条件二:没有共同字段,但只比较方向。例如旧数据只有“快照是否存在”,新数据只有“快照内容长度”。你可以分别描述“存在比例的变化方向”和“内容长度的变化方向”,但不能把两条线画在同一数值轴上。此时可以并排展示两条独立曲线,中间用文字说明断点原因。这样做的好处是不会制造虚假的连续感,代价是读者需要自己判断两个方向是否一致。
如果两种条件都不满足,正确动作是保留断点,而不是用插值、平滑或归一化把两段数据强行接上。断点本身就是一个可核查的证据:它提示你,前后两段记录可能来自不同的采集方式或不同的页面范围。
拼接后如果趋势突然上升或下降,不要立刻归因于页面质量变化。以下三种解释更常见,也更容易被忽略:
区分这三种解释的办法是找一组“两段数据都覆盖到的页面”,逐一核对它们的快照字段。如果这些页面在两段数据里的字段差异很大,说明是口径问题;如果差异很小,但整体趋势仍然反常,才需要考虑页面范围或结构变化。这个核对动作的结果会决定你下一步是修正口径,还是重新界定趋势的适用范围。
假设你手里有两段百度快照记录:第一段来自三年前,只有“页面地址、快照日期、标题”;第二段来自最近,有“页面地址、抓取时间、标题、正文长度、页面状态”。两段没有完全相同的字段名,但“页面地址”和“标题”可以对应。此时可以拼接的唯一趋势是“有标题的快照页面数量按月变化”,不能拼接“正文长度趋势”,因为旧数据没有这个字段。执行时先按页面地址去重,再按月计数,最后在图上标注旧数据缺少正文长度字段。这个结果会影响下一步:如果你需要正文长度趋势,就必须回到旧记录里寻找是否有其他可替代字段,或者承认这段趋势无法建立。
如果旧数据的采集对象和新数据的采集对象在页面类型上完全不重叠,例如旧数据只覆盖新闻页,新数据只覆盖商品页,那么连方向比较也不成立。此时正确的输出不是趋势图,而是一句明确说明:两段数据测量的是不同页面群体,不能合并解读。另一种例外是旧数据本身来自第三方转述,无法核对原始快照内容,那么它只能作为背景信息,不能进入任何趋势计算。判断依据很简单:你能否指出至少一个页面,在两段数据里都能找到对应的原始记录。能,就可以继续;不能,就到此为止。