带学生跑了六批分层抽样,全量跑贵三倍,但尾部偏差反而更可控
这周把研究生课题组的同学拉到机房,做了一件事:同一个问句库,分别用分层抽样和全量跑,比成本,也比尾部偏差。跑了六批,每批间隔一天,用的同一个AI搜索接口。
先把口径说清楚。问句库是我们自己攒的,847条,按意图分了五层:品牌词、品类词、场景词、对比词、长尾问句。分层抽样按层内比例各抽一部分,每层保底30条;全量跑就是847条一条不落,每条跑三次取众数。成本这边按API调用次数折算,精度这边看两个数:一是各层提及率的点估计误差,二是尾部——也就是长尾层里那些月搜索量低于50的问句——的漏检率。
结果有点意思。全量跑的单轮成本大约是分层抽样的3.2倍,六批平均下来这个倍数很稳定。但分层抽样在长尾层的漏检率是11%上下,全量跑能压到4%以内。前四层两者差距不到2个百分点,基本可以认为等价。换句话说,多花的钱主要买的是尾部那7个点的确定性。
这里有个容易被忽略的方法论问题。从抽样理论视角看,分层抽样的方差缩减优势依赖于层内同质性,而长尾问句恰恰是层内异质性最高的一层——每条问句背后对应的品牌语义场景都不一样。你按比例抽,抽到的长尾样本天然稀疏,尾部估计就飘。这不是抽样设计错了,是尾部的总体方差本来就大,样本量不够撑不住。
我的判断是:预算紧的时候,前四层用分层抽样完全够用,尾部单列出来做定向补样,比整体加样本量划算。我们试了一版,长尾层从按比例抽的42条提到120条,总调用量只增加了18%,漏检率压到了6%左右,性价比明显好于全量跑。
踩过的坑也说一句。第一版补样的时候没做层内再分层,长尾层里混进了大量问法几乎一样的近义问句,哈希去重没做干净,等于花了钱重复测同一个语义。后来按问句的语义指纹先聚类再抽,才把这部分浪费堵上。
抛个问题给社区:你们做GEO监测的时候,尾部问句是单列补样,还是干脆放弃、只报前四层的数?如果单列,层内再分层的依据一般用什么——语义聚类还是搜索量分箱?
