返回第八十二章 复现包  这个学霸疑似巨额知识来源不明首页

关灯 护眼     字体:

上一章 目录 下一页

    江

    距离对方要求的24小时窗口期,还剩二十三个小时四十一分。

    时间够用,但他没有任何懈迨的意思。

    构造一个最小复现实验,听起来简单,做起来却是一桩挺讲究分寸的活。。

    否则对方可以反咬一口,说他是利用了数据集本身的某种特殊结构在断章取义。

    第二,不能太复杂。

    如果脚本写得花里胡哨,依赖了一堆奇形怪状的库,对方的工程师在复核时光是配环境就要折腾半天,复核流程一拖,事情就容易被冷处理。

    第三,必须锁死随机种子。

    任何一个浮点数的微小波动,都可能被对方技术组归因于环境差异,进而拖慢复核流程。

    江临盯着空白的代码窗口,思考了两分钟,然后开始动手,用nuy生成了一段由两个不同分布拼接而成的随机时间串行。

    前八十个数据点,服从均值为零、标准差为一的正态分布,用来仿真训练窗口里平稳的市场行情。

    后二十个数据点,被他人为地注入了几个三倍标准差以上的极端值,用来仿真测试窗口里突然出现的异常事件。

    整个数据构造过程,不超过十行代码。

    随机种子被锁定为42。

    为了避免随机数生成器版本差异,他干脆删除了随机生成过程,直接把一组最小合成串行硬编码进脚本。

    数字没有任何金融含义,只用于证明一个数学事实。

    测试窗参与标准化,会系统性压低测试窗内极端值的异常分数。

    数据准备好后,他在下方写了两个对照函数。

    把训练窗和测试窗合并,计算全局均值和全局标准差,然后做标准化。

    只用训练窗的均值和标准差,去标准化测试窗。

    然后,他让两个函数分别对同一份合成数据进行处理,把标准化之后的异常分数打印出来。

    最后再加一行tplotlib画图代码,把两组结果叠在同一张图上。

    代码总长不到四十行。

    江临点击运行。

    不到一秒钟,屏幕上跳出了那张对照图。

    跟之前用真实数据跑出来的结果几乎一模一样。

    那些本该刺破天际的尖峰,被未来信息悄悄地按了下去。

    干净,纯粹,无可辩驳。

    江临把这张对照图截下来,存进文档夹。

    接着,他做了一件更狠的事情。

    给这个最小复现实验,写了一份象一份实验室设备校准记录的README说明文档。

    文档第一节,是脚本的目的陈述。

    “本脚本旨在使用纯合成数据,复现真实数据集中观测到的预处理阶段未来信息泄漏现象。。“

    文档第二节,是逐行代码注释。

    文档第三节,是预期输出的精确数值。

    江临把两组异常分数串行、每一个时间点的具体数值,都以表格形式打印在了README里。

    任何人只要运行一次脚本,就能用diff命令逐字节比对自己的输出和他的输出是否一致。

    文档第四节,是数学推导。

    他用三页纸的篇幅,从最基础的标准化公式出发,一步一步推导了当测试集样本参与计算时,为什么会导致测试窗内的极端值在标准化后被系统性低估。

    每一个推导步骤都有编号,每一个公式都有引用来源。

    文档第五节,是工程建议。

    他冷静地列出了三种正确的预处理方案,并标注了各自的适用场景和计算开销。

    最后一节,是免责声明。

    “本实验的所有代码、数据和推导过程,均不涉及主办方提供的任何脱敏数据集的内部信息。本实验旨在通过最小化的方式独立验证一个数学事实,与主办方平台的具体实现细节无关。“

    这份README一旦发出去,对方就彻底失去了所有可以模糊处理的空间。

    他用的是合成数据,对方没办法说他在恶意攻击平台。

    他锁了种子还附了精确数值,对方没办法说他不可复现。

    他给了三页的数学推导,对方没办法说他没有理论依据。

    他给出的是建议,不是指责,对方没办法说他在指手画脚。

    这就象在物理实验里搭出一个最小闭环的对照设备。

    输入固定,处理流程固定,输出差异固定。

    你可以不喜欢结论,但不能说它没有发生。。

    然后切回流览器,打开那封站内信,点击补充材料上载按钮。

    页面提示:补充材料已提交,等待评审组复核。

    江临关掉流览器,从椅子上站起来,走到窗边把窗帘拉开了一道缝。

    
本章未完,请点击下一页继续阅读>>

『加入书签,方便阅读』

上一章 目录 下一页