AI 生意观察 · 实战复盘

我们亲手证伪了自己的"96.6% 准确率"

一份为跨境贸易场景做的农产品价格预测方案,写着平均误差仅 3.4%、相关系数 0.98。漂亮得可以直接去卖。问题是——这份方案是我们自己做的,而我们决定在卖它之前,先亲手杀一遍。这是完整过程,包括所有难看的数字。

第一刀:那个 3.4% 是怎么来的

翻回方案里看口径:预测目标是年度均价,样本只有 5 个数据点(五年,每年一个数)。5 个点上算出来的相关系数 0.98,统计上几乎没有意义——特征数比样本还多,模型是把答案背下来了,不是学会了。

教训一:看到漂亮的准确率,第一句问"n 等于几"。样本量没过百的时间序列预测,任何指标都当故事听。

第二刀:用真数据重建,被最笨的办法打败

我们拿真实公开数据重来:海关月度进口量价 101 条、两个主产国产区日度气象 1.9 万条,月度建模、前向滚动验证(只用过去预测未来,杜绝"偷看")。结果:模型平均误差 8.84%——听着还行?但"直接抄去年同月的价格"这个零成本笨办法,误差只有 7.52%。我们的模型输给了它。更难看的:涨跌方向准确率 48.5%,和掷硬币一样。

教训二:任何预测必须先打赢"最笨基线"。"明天=今天"、"今年=去年同期"——打不赢这些,模型的存在就是负价值。你的供应商没主动给你看基线对比?那就是答案。

第三刀:链条"断了",先别急着宣判

我们把预测链拆成两段分别验证:气象→到港量成立(大变动方向 76.7% 正确,统计显著);但到港量→价格看起来断了(相关性极弱)。差点就此结案——直到把参数拆开重看:原回归漏了时间趋势(这几年价格整体上行,解释力全丢进了残差),且把两个产地的价格混在一起被结构污染。修正后链条是通的:解释力从 0.184 跳到 0.696。

教训三:结论"不成立"和方法"没做对"经常长得一样。宣判一条链路死刑之前,把变量拆开、一段一段看——这一步我们差点偷懒。

第四刀:自查出一个数据泄漏,数字全线变差

做提前量测试时发现一个隐蔽错误:训练窗口的末端目标值落在了预测时点之后——模型间接"看到了未来"。修正后所有数字变差(提前三个月的误差从 8.3% 恶化到 10.3%)。我们发布的是修正后的差数字,不是修正前的好数字。

还有更疼的一刀:把基线自己的方向准确率拆出来看——"抄去年同月"在提前三个月时方向正确率自己就有 90%+。也就是说,"我们能提前三个月判断涨跌"这个本来最性感的卖点,不成立——翻日历就能做到的事,不能算模型的功劳。模型真正的增量在幅度:误差比经验判断低约四成,折算到单个货柜是五位数美元的差别。

教训四:数据泄漏是预测项目翻车的头号原因,且它让数字变好看,所以没人主动去找它。验收时点名问一句:"训练时能不能接触到预测时点之后的任何信息?怎么保证的?"

结局:废墟里挖出来的才是能卖的

证伪完,剩下的东西反而站得住了:一份"可承诺清单"——每个提前量给修正后的真实误差和置信区间,明确写"方向判断价值有限,幅度判断是真增量",附上和两条笨基线的完整对比。诚实的 7.7% 比虚假的 3.4% 值钱——因为前者敢写进合同。

给要买 AI 预测的企业,验收四问(照抄即可):①样本量多少,是月度还是年度口径?②和"抄去年同期"比赢了多少?③怎么防的数据泄漏?④方向和幅度分开报——各自的价值在哪?这四问能过滤掉市面上大多数预测方案。
2026-09-05 · 数字均为本站真实复核结果(已做行业脱敏);方法:前向滚动验证 + 公开数据源