本文源自昨天关于如何写出一个让人印象深刻的故事的讨论(2021-12-11如何写出一个让人印象深刻的故事? - 简书 (jianshu.com))。好的科学故事需要“意外”,而“意外”的最终来源是深入的数据挖掘。鉴于数据挖掘对于科研创新的重要性,我在此尝试展开讨论一下。
第一原则是要深入到数据里面去,让数据直接说话:Few data sets don’t provide the opportunity to develop new insights (这个判断非常鼓舞人心啊!). Conversely, few data sets are so imbued with novelty that you can’t use them to tell a boring and uninsightful story. (当头棒喝,你真的投入足够多的精力去分析自己的数据了吗?)Your job is to find what is novel and highlight the unexpected elements. (提示出创新完全可以是数据启发的,即自下而上的;而不是假说或者问题驱动,即自上而下的)Frame new questions and look for new insights. (意味着不少科学论文其实是基于数据事后包装出来的,而不是事先由假说或者问题驱动的) Make them clear in your writing. 让数据说话,意味着科研人员需要做一个敏锐的观察者,努力从数据当中发掘出那些不是从一开始就可以预料得到的“意外”发现,也就是创新点。
粗略而言,数据挖掘可分为两种策略:1. 假说驱动的数据挖掘 (Hypothesis-driven data mining);2. 探索性数据挖掘 (Exploratory data mining)。这两种策略各有利弊。前者目标明确,快速高效,对于快速完成一个假说驱动的科学研究极具成效。但容易让研究者带上有色眼镜,忽略掉那些可能更为重要但是与原有问题没那么相关的“意外”发现。后者使研究者以更开放的心态去看待数据,不局限于预先设定的假说,因此更有可能做出一些重大的科学发现。科学史上那些令人神往的重大发现往往是基于这种策略。这个方法的坏处是,因为没有明确的目标,研究者需要尝试更多的数据组织方式,数理统计手段。而现有的数学工具又那么丰富,意味着这种开放式的数据挖掘很可能是没有止境。加之处于当今这个大数据的时代,每换一种方法都意味着令人望而生畏的工作量,故而单凭这种策略只怕也是不现实的。
所以,我认为最高效且最富有成果的数据挖掘策略应该是这两者的适时且适量的组合。所谓“适时”,是指在早期阶段应该以“假说驱动的数据挖掘”为主导,以期最高效地组织出一个大致完整的故事框架;之后,再以“探索性数据挖掘”为主导,以期发掘那些预想不到的“意外”发现,即创新点。一旦觉察到了一点“意外”的发现,又应该转以“假说驱动的数据挖掘”为主导,以期最快地围绕它组织出一个自洽的故事框架。所谓“适量”,是指不论用哪一种策略,都应该以是否足以组织出一个大概完整的故事框架为标准,而不能一味地沉浸于数据本身,无法跳脱于数据,反而忽略了包装故事的根本目标。也就是说,数据挖掘是为了讲故事,为了回答科学问题,而不是为探索,游戏,甚至卖弄数学技能。
所以我们可以总结出第二原则:数据挖掘不仅要深入其中,还要能够跳脱其外,时刻关注数据与科学问题之间的关系。没有科学大视野的数据挖掘就好比在一片无边际的荒原上漫步,“敢问路在何方”是常情,侥幸登陆则纯属运气太好。
很显然,最富成效的数据挖掘是不可能一遍就能够完成的,反复的拆解,拼接,组织是必需的步骤。就好比一本好书,要想真正发掘并吸收其中的价值,反复阅读和拆解也是必需的。理解一本好书,两到三遍基本也就够了,数据挖掘也大致如此。如果是“天书”,那就无关遍数了,那是基本的工具,概念,框架的缺失,对于不具备创造工具,概念,框架的一般研究人员而言,也就只好“徒叹奈何”了。