星期一, 十一月 28, 2011

什么是数据科学(Data Science)


何谓数据科学?在wikipedia中你还找不到Data Science的词条,但它将成就你的未来。

谷歌首席经济学家Hal Varian在2009年说,下一个十年最有吸引力的工作就是统计学家。能获取并处理数据,从中得到有用信息并能图形化,并使人们得以理解,这将是非常重要的技能。在此处他所称的“统计学家”,实际上是能够提取大数据集的信息,然后展现给非数据专家的那些人,我们也可称之为数据极客(Data Geek)或是数据科学家(Data Scientists)。

一、数据科学的构成
数据科学的组成要素可以从下面这个维恩图得到线索。它包括了计算机技巧,数学和统计知识,实质性的专业知识。


你不一定要拥有计算机科学的学历,但数据是电子化交易的商品,所以你需要了解一些极客技能。这些技能包括:Linux知识,能够操纵文本文件的命令行,了解矢量操作,算法的思想,这些技巧都是数据极客所需要的。

一旦你已经获得并清理好数据,下一步就是从中提取有用的知识。此时你需要运用适当的数学和统计方法。这并不是说你要成为统计学博士,但你确实需要知道普通最小二乘回归之类的东西,以及如何解释其结果。

在第三个关键是专业领域的知识背景。如果数据分析只是你的业余爱好,那么只捣鼓数学、机器学习和统计数据也就够了。但如果你从事数据科学的工作,这就要求从专业背景上提出问题,并用数据和统计方法进行检验,这样才能真正的发现并构建知识。

最后,要注意的是黑客技能加专业知识的危险区。这里所描述的是那些“半桶水专家”,他们知道如何得到合适的数据,甚至掌握如何用R语言进行线性回归并报告系数,但他们不理解那些系数的真正含义。在不了解内在统计意义时进行数据分析是危险的,这也是数据分析经常被滥用情况。

二、数据科学家的能力
“数据科学家”的工作自然定义了数据科学。他们的工作涵盖了从数据收集到数据整理,应用统计学和机器学习等相关技术,对数据进行解释、沟通和可视化。

数据科学崛起的原因之一是因为技术进步,这使数据科学家很容易获得广泛的专业知识。在10年前如果某个人能整合多个数据库进行多层回归,并生成一个优美的图形,这被认为是非常罕见的。

原因之二是因为职业棒球数据分析师所起的表率作用。商界领袖喜爱用体育来打比方和举例子,职业体育领域的数据分析使得数字能击败直觉,所以它立即受到大家的关注。

数据科学家有三个重要技能:

1)计算机能力:数据的获取和整理
  • 数据整理。任何数据分析项目的第一步是数据整理,对应着数据获取、清洗、格式转换等工作,使之成为可用数据。现在有各种各样的数据格式:数字、表格、Web网页、文本,甚至包括语音和视频。在处理凌乱的原始数据时,脚本语言(例如Perl和Python)是必不可少的。
  • 大规模数据。传统的关系型数据库在大规模数据条件下已经不在有效。为了有效地存储庞大的数据集,我们看到的数据库出现的新品种。这些通常被称为非关系数据库,例如谷歌的BigTable和Amazon的Dynamo,它们有非常灵活的架构设计,分布在多个节点,以提供“最终一致性”。
  • 存储数据只是数据平台建设的一部分。在目前的大规模数据集计算问题上,谷歌推广MapReduce方法,基本上它是利用非常庞大的计算集群进行分布计算。最流行的MapReduce开源实现方法就是Hadoop。Hadoop使“敏捷”数据分析成为可能。在软件开发中,“敏捷”意味着更快的产品周期,开发商和消费者之间更密切的互动。传统的数据分析需要极长的周转时间。它可能要几个小时、甚至几天才能完成。但是在Hadoop帮助下可以很容易地建立集群,以执行大规模数据集的迅速计算。更快的计算速度使你更容易地测试不同的假设,不同的数据集和不同的算法。

2)数学和统计学能力:数据的挖掘
  • 机器学习是数据科学家的另一项必不可少的工具。目前有许多机器学习库可以利用:在Python中有PyBrain,在Java中有WEKA,谷歌刚刚宣布了他们的Prediction API,使其机器学习算法得以公开使用。Stanford的机​​器学习课程,是计算机科学中最流行的课程之一,推荐学习。
  • 虽然在这里没有强调传统的统计模型在数据分析中的重要作用,但是统计是“数据科学的语法”。它是至关重要的。数据科学不只是获取数据然后来猜测其意义,它也包含了假设检验,确保你的数据结论是有效的。统计已成为一项基本技能。它并没有被机器学习或商业智能所取代。
  • 虽然有许多商业统计软件包,但开源R语言是一个不可或缺的工具。虽然R是一个奇怪的语言,但它为大多数统计工作提供“一站式购物”。它还具有出色的绘图功能。 CRAN中包括了多种类型的数据解析器和分布式计算扩展。如果有一个单一的工具,能为统计工作提供了一个最终解决方案,那就是R语言。

3)图形可视化:数据的提炼和展现
一张图片胜过千言万语,可视化是数据分析的初步探索工作,也是每个阶段的关键。FlowingData博客是一​​个寻找创意可视化非常棒的地方。这也是我的最爱之一,这个可视化例子就是随着时间的推移,沃尔玛增长的动画。这就是数据可视化的艺术。

三、数据科学家的职业生涯

对数据科学的定义也是从其职业生涯角度来看的,一个典型的职业路径可能是从编程开始学习,然后在科学领域花了一段时间,围绕着各种不同的角色,然后学会多种不同的技能,所有这些都涉及到使用分析技术,以便理解数据。

这种职业路径不是特别新,但它现在可能使你能快速而廉价地开展科学数据工作。高速计算机,开源工具,和一些编程技巧​​允许我们快速的尝试一种新型数据管理方法或一种新的机器学习技术,直到找到问题的解决方案。

这里就存在两个方面的后果。首先,现代数据科学家的生产力显著增加了。数十年前需要一个团队工作几年的项目,现在几天内就能完成。其次,这个惊人的生产力,可以使人们的时间更多的花费在数据科学的垂直整合过程中,而不必花在单一方面的技能学习上。在以往成为数据科学量需要学习大量的东西,但现在你不用成为某个方面的大师也能快速获得这些技能。

参考资料:
http://www.drewconway.com/zia/?p=2378
http://www.harlan.harris.name/2011/09/data-science-moores-law-and-moneyball/
http://flowingdata.com/2009/06/04/rise-of-the-data-scientist/
http://radar.oreilly.com/2010/06/what-is-data-science.html

17 条评论:

  1. 看来成为一个数据科学家要学的东西还真不少啊!好文章!

    回复删除
  2. 现在基本就靠这网站自学R了...从不留言的文科生谢过博主!!!

    回复删除
  3. 楼主,谢谢你的资料,我下载了,并转载在我的博客里了,呵呵。再次感谢。欢迎访问我的博客,http://warmjade.blogspot.com/,交个朋友

    回复删除
  4. 回复
    1. http://xccds1977.blogspot.com/2012/11/blog-post_25.html?showComment=1354861028837#c263735590533527511 这个朋友的回复也回答了为什么要会linux

      删除
    2. 不太清楚那位朋友数据清洗整合转换具体涉及到什么,我想SQL也能做到吧?因为我是BI出身的,所以可能对数据库熟些。

      删除
    3. SQL适合于处理数据库,linux还可以用来处理一些非结构化数据,文本之类的。

      删除
    4. 因为没接触过类似的案例,大侠能否举个具体例子?

      删除
    5. 比如从网页上抓下来的一些乱七八糟的html,就是非结构化的数据。

      删除
  5. 写的非常好呐~开始关注您的博客!

    回复删除
  6. 非常好,国内大学统计系不知道在干什么

    回复删除
  7. QUANTUM BINARY SIGNALS

    Professional trading signals sent to your mobile phone every day.

    Start following our signals today & gain up to 270% a day.

    回复删除
  8. 好文章,谢谢分享,也欢迎您访问SofaSofa数据科学社区

    回复删除
  9. Attend The Data Science Courses Bangalore From ExcelR. Practical Data Science Courses Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Science Courses Bangalore.
    Data Science Courses Bangalore
    Data Science Interview Questions

    回复删除