“你今天怎么这么早?”
实验室门口。
段维刚走上来就看到程竞星已经站在走廊上了。
手里抱着笔记本,靠在墙边等着。
像是到了有一会儿了。
他低头看了一眼手表。
早上八点整,周日。
他差点以为自己看错时间了。
程竞星站直身体,拢了拢肩膀上背包带子,“我吃完早饭过来的。”
段维噎了一下,他不是这个问题。
“你们昨天不是下午才来,怎么上午就来了?”
“昨天晚上关师兄给我发了一些数据,我回去看了一下,有点想法,想趁热打铁验证一下。”程竞星说得很自然。
段维掏出钥匙开门,心里大概知道原因了。
这位程学妹怕是心里急着想验证自己的想法,等不到下午。
他推开门的时候侧头看了她一眼。
心想倒是个做科研的好苗子。
科研最需要的就是这种能沉下心又有求知精神的人。
“进来吧。”他推开实验室的门用下巴示意了一下。
程竞星走进去,在门边的隔间熟练地穿上实验服。
然后前往自己的工位坐下。开机、打开代码、加载数据。
她打开关师兄昨晚发给她的表格,还有窗口数据。
把每一列外部变量和窗口噪声水平做了相关分析,确认了几组关联。
又将这些外部变量和窗口噪声之间确实存在统计相关性。
她在键盘上敲了二十多分钟,把那套贝叶斯融合框架的代码写了出来。
写完代码后又花了十分钟检查了一遍。
确认没有逻辑漏洞。
然后选中了昨天效果最差的W7窗口作为第一个测试对象。
W7只有十一个数据点。
噪声强度大、尾部偏厚。
是整组数据里处理难度最高的窗口。
她把程序准备好,手指放在回车键上停了一瞬,然后按了下去。
实验室的门又响了。
林曼等人陆陆续续来了。
看到段维在,他们一点也不意外。
但看到程竞星也在,他们纷纷露出惊讶的神色。
“你今天来得真早。”林曼挽了一圈有点长的袖口。
沈巧琦也看向程竞星,挑了下眉。
“关师兄昨天给了我点数据,所以我先过来验证一下。”程竞星头也不抬解释。
林曼了然地点头,“辛苦你们了。”
“还好。”程竞星没觉得辛苦,相反觉得老师这次的安排太好了。
这次参与实验也帮她完善了脑子里的仿真模型。
这是一次不可多得的经验呢。
“加油。”林曼握了下拳头,给她加油打气。
程竞星笑了下。
两人走开了。
屏幕上的画面也变了。
代码跑完了。
清洗后的信噪比从原始数据的1.5提升到了6.1。
比前一天只靠数据驱动的方法又提升了将近一个单位。
更关键的是。
清洗前后网络结构图的对比差异非常明显。
清洗前的图里充满了模糊的伪边。
清洗后那些噪声连接消失了。
剩下来的连接基本上和程竞星根据理论推演预想的结构一致。
她盯着屏幕上的结果看了一会儿。
然后拿起笔记本,在噪声分离那一页上画了一个完整的流程图。
把数据驱动加先验融合的清洗流程从头到尾梳理了一遍。
她在图的下方写了一行结论:贝叶斯融合框架在异质性噪声条件下表现稳定,可扩展至全量数据,已完成W7验证。
又加了一行备注:待测试:全量数据流水线集成。
她把代码保存好,把实验结果截图存进一个文件夹里。
“喝咖啡吗?”一杯咖啡放在她面前。
程竞星转头,看到不知什么时候来的关明杰。
“喝。”
免费的咖啡,不喝白不喝。
她伸手接过纸杯,指尖触到温热的杯壁,微微低头抿了一大口。
加了冰的液体滑过舌尖。
猝不及防的苦味瞬间铺满整个口腔。
没有半分甜意,涩感顺着舌根往喉咙沉下去。
苦得她眉尖几不可察地蹙了一下。
苦味过后,又浮起一层淡淡的焦香。
那股钝重的困意像是被这股苦涩猛地敲散。
舌尖还残留着挥之不去的焦苦余味。
后调却透出一点绵长醇香。
她心里恍然,难怪那么多人喜欢喝咖啡。
“好喝吧,这是冰美式。”关明杰凑了过来。
程竞星点了点头,“是挺好喝的。”
“下次再给你买。”关明杰说着,看向她的电脑屏幕,眼睛眯起,“你这个……”
程竞星没说话,一口一口喝着咖啡。
关明杰后背挺直了些许,拿过鼠标,看着上面的窗口。
“你这是把异质性噪声下的数据清洗问题解决了?”
“嗯。”程竞星点头。
段维早注意到这边的情况,走了过来。
“怎么了?”
“你看这个。”关明杰示意他看电脑。
段维凑近看了一眼,沉默了几秒。
关明杰在旁边替他总结:“
我们之前的预处理流程,是从数据内部估计噪声,从里面反推噪声特征,很容易被假信号骗。”
“但她把这套逻辑翻过来了,先把那些本来被丢在实验记录表里的脏信息捡回来了。”
他指了指屏幕上那张外部变量的表格。
“仪器多久没校准、样本放了多久、试剂是哪批的。”
“这些以前最多在排查问题时人工参考一下,从来没有被正式纳入数学模型。”
“但她把它们编码成先验分布,跟数据驱动的噪声估计做贝叶斯融合。”
“相当于清洗不再是盲猜,而是有了外部锚点。”
他翻到W7窗口的对比图:
“你再看这个。”
“W7这种死窗口,我们之前基本是放弃的,样本太少、噪声太大,根本没法用。”
“但她把清洗做完之后,信噪比从1.5拉到了6.1。”
“1.5是什么概念?信噪比小于2的数据,信号和噪声基本混在一起,跟没有差不多。”
“她直接从没法用的状态抢救回来一个完整的窗口。”
段维没有说话,但他在翻那些图表的时候目光明显放慢了。
他翻到网络结构对比图的时候停住了。
清洗前的图里布满了模糊的伪边和噪声连接,密密麻麻像一团被搅乱的线。
清洗后的图干净了很多。
剩下来的连接集中在那几个他知道真实存在调控关系的节点对之间。
这个结果比他预想的好太多了。
最关键的是最后那句‘待测试:全量数据流水线集成’。
她不是做了一个一次性的脚本,而是搭了一个可扩展的框架。
昨天解决了变点检测,今天解决了噪声清洗。
这两者还是打通的。
变点检测输出的窗口边界,直接喂给噪声清洗模块,清洗完的输出再往网络推断模块送。
段维把咖啡杯放在了桌面上,转头看着程竞星。
“你那个清洗方法,等稳定了能不能集成到我们这边的预处理流程里?”
“可以。”程竞星点头,“等我弄完。”
她接着说:“目前还有一个全量数据的集成测试没跑,跑完没问题就可以封装成模块用。”
段维点了点头,回到自己的工位上,然后转头问关明杰。
“你这个学妹是从哪里找来的?”
“她弄的这个东西一旦稳定下来,我们整个组的预处理环节都可以换血了。”
关明杰端着咖啡杯,笑眯眯地回了一句:“厉害吧。”