雁起平沙的网络日志

数量金融与R

【译文】软件工程师如何修炼数据科学

| Comments

写这篇文章的是位软件工程师,本文是他的数据科学修炼历程,原文在这里

很多软件攻城狮朋友问我如何学习数据科学。其实已经有不少有名的数据科学家写过这方面的文章,比如DatasporaGigaom, QuoraHilary Mason。 本文讲述的是我作为一名软件工程师学习统计和数据可视化的历程。

我是半路出家的,花了5年时间成为数据科学领域的熟练工(proficient),在我的学习过程中包括自学 (书籍, 博客, 简单实例)、工作中做项目、课堂培训(Stanford)、教学/演讲、会议(UseR, Strata)。 下面来讲讲到目前为止我做了哪些准备,其中哪些有用,哪些没用。

1. 入门

a) 自学(2 - 4 个月)

考察一下数据科学是否适合自己

入门很关键。两年前,我和几个同事组成了学习小组,一起学习Stats 202的课件。 这让我很兴趣,并且从那开始接触数据分析。 学习小组的5名成员中只有2名选择在这一领域研究的更深入(数据科学并不适合所有人)。

网上有很多学习资料

b) 课堂培训 (9 - 12个月)

如果你真的想学好,就参加一门正式的课程

如果你很认真地想学这门技术,那么最好参加课程学习。课程的艰难程度要保证我不会松懈。斯坦福提供了很棒的入门课程,比我参加的其他为期一周的培训课程要好很多。

2. 专注

a) 在数据科学方面花100%的时间

  • 当我沉迷于数据科学时,我发现想用20%的时间来构建专业知识是很困难的。 必须花100%的时间在上面, 所以我寻找跟数据科学有关的问题 (大数据分析、医疗、市场营销以及零售分析、 最优化等问题)来解决

b) 研究有趣的问题

  • 我的学习目标总是跟我感兴趣的事物联系起来。当我学习新的技术时,我发现用所学的知识解决有趣的问题是很另人兴趣和着迷的事。我对零售、医疗和体育 (板球)方面的数据分析很感兴趣

c) 加速学习

d) 学习行业知识

我很幸运,能够接触到数据科学内外的专家, 他们帮我理解他们处理数据科学问题的方法 (他们如何思考、 假设以及 test/access/reject解决方案)。我从他那里学到, “Hypothesis-driven data analysis”比”blind/brute-force data analysis”更加重要。这强调的重点是,对业务的理解要先于试图从数据中获取有意义的结论。 这引导我了解运筹、营销、零售、 旅行和物流(利润管理)以及医疗行业。 纽约时报最近发表了一篇文章强调直觉的必要性

3. 数据科学方面有用的图书

4. 对我没什么用的东西

  • 学习多种统计工具:一年以前,我接手的工作需要用到SAS编程,所以我想学SAS。我尝试了一个月,不过最终还是放弃了。主要原因是学习的惰性,以及我对另一种统计工具R的热爱。我实在不需要其他统计软件。我可以用R和其他我了解的软件解决数据科学里几乎所有的问题 。所以我的建议是如果你已经对SAS,Stata,Matlab,SPSS,Statistica很熟悉,那就继续使用。如果你要学习新的统计工具,那就选R。 R 是开源软件,而其他软件是商业软件(昂贵且复杂)
  • 在线公开课:我曾经尝试在Coursera或其他 MOOC(在线公开课)平台上自学,但是对于来说这样做效果并不理想。 我需要常规的、有压力的正式课程,经过艰苦的学习后能拿到学分
  • 增加学术方面的工作量:需要注意工作与生活的平衡。 今年早些时候,我尝试同时学习好几门很难的课程,后来很快意识到,我并不享受学习的过程。
  • 只阅读课程教材:很多课程的教材对我这样的软件工程师来说过于艰深了。所以我用其他资料来理解概念。比如,用卡内基梅隆大学的笔记学习回归

Comments