应用科学到底是应用还是科学,其实很难把握。我本人在业界从事了很多年的数据科学工作,也僭称数据科学家,写过一些相关的书籍,也常感叹教材的稀少,但要我写一本数据科学概论的教材,能力也不够。我这几年虽然在管理学院读了个博士,补充了一些理论基础,但距离学术还是太远,不敢多想。这个时候我的老同学李扬教授发话了,找我一起写本概论的教材,好好梳理一下这门学科的体系。2017年在我的导师谢邦昌老师组织的一场晚宴上,我和李扬在台北101的高空商定了这本书的雏形。
二十年前我们相识于人大统计系,说起来第一次合作并不成功,我们同为班级最高,自号“统计双塔”,去参加新生篮球赛,结果知道了自己没这个能力:“农经输完输劳人,再输英语,接下来没人可输了”。好在后面慢慢找到了擅长的合作领域,还记得熄灯后在宿舍门口讨论吉米多维奇、月底时熬夜赶系刊《浪淘沙》的稿子……毕业后,李教授远渡重洋、著作等身,我也在数据的海洋里辛苦劳动。我们都有光明的前途,也一同见证了数据科学时代的到来。
由于相识实在太久,当我们决定写这本书的时候就形成了默契:希望这本书可以对数据科学的缘起、内涵、技术、工具、原则、方法、平台、产品、应用等诸多方面展开讨论;从大处着眼、从小处着手,帮助读者建立完整的知识体系与专业逻辑。李扬构建了一个专业的框架,筑下了理论基础,我填上了工程的应用和代码的示例,再加上几位学生的协助,经过几年的打磨,在2020年新冠疫情期间进展迅速,完成了该书的主要内容。
在人大出版社编辑王伟娟和黄佳的帮助下,经过几轮修改和排版,这本书终于在今年的春分时节问世。在我们的框架里,第1章绪论讨论了数据科学的概念和传承,第2-4章分别从编程工具、数学基础和统计原则的角度介绍了数据科学需要的基础技能,第5-8章分别介绍了数据可视化、机器学习、人工智能、非结构化数据分析等常用分析方法,第9-12章分别介绍了数据仓库、大数据平台、可重复研究、行业应用案例等工程化的技术和实践。
该书涉及到的知识点众多,同时包含了统计学和计算机领域的很多内容,要想面面俱到的话难免蜻蜓点水。我们从两个角度试图解决这个问题:第一,该书作为人大出版社“数据科学与大数据技术丛书”中的概论,对丛书中涉及到的一些专题内容没有深入展开,通过提供参考文献的方式供读者进行深入研究。第二,将所有知识点落脚到实际应用中来,最直接的方式就是通过程序代码来实现,哪怕是数学基础也用代码来介绍,尽量在本书中回避复杂的公式和证明。
关于程序代码,我们参考了吴喜之老师的思路,同时使用R和Python来示例。一方面我们想传达一个思想:数据科学中的代码只是程序化思维的手段,用任何语言都没有本质的不同。另一方面在我们的日常工作和科研过程中,R和Python经常混用,因为这两种语言在数据科学领域中最大的优点都是资源丰富,能够尽可能地用现成的程序包、用最少量的代码来解决问题,就是好方法。毕竟我们不是软件工程师,很多语言的高级特性基本用不上。此外,该书将R和Python的代码并排排版,便于对比,也能帮助读者快速提炼出核心逻辑而不是陷于语言细节。
李扬在教书育人的过程中桃李满天下,我在业界也时常要培训新人和兼职授课,我们对这本书的一个很重要的期待在于能方便我们自己来讲授数据科学相关的课程,因此这本书也包含了一些教学过程中的经验,也会在今后授课的过程中持续不断地优化,希望吸取更多人的意见,一起为数据科学的基础教学贡献力量。