数据科学的核心是什么?
这是一个每个人都在问的问题,我认为很难回答。在任何领域,始终有一个区别的问题
- 该领域的核心是什么?
- 该领域的人员定期做什么?
如果不清楚,这些问题就不一样了。例如,在统计学中,基于大多数博士课程的课程,该领域的核心涉及统计方法、统计理论、概率,以及一些计算。数据分析通常不是正式教学(即在课堂上),而是作为论文或研究项目的一部分进行。许多标有"数据科学"或"数据分析"的课程只是教授更多方法,如机器学习、聚类或尺寸缩小。正规的软件工程技术也一般不教授,但在实践中经常使用。
人们可能会争辩说,数据分析和软件工程是统计学家做的事情,但它不是这个领域的核心。这是否正确或不正确不是我的观点。我只是说必须在某个地方做出区分。统计学家总是会做得比这个领域的核心还要多。
通过数据科学,我认为我们正在共同盘点科学家倾向于做什么数据。问题是,目前它似乎遍布地图。传统统计学确实是活动的核心,但计算机科学、软件工程、认知科学、伦理学、通信学等也是如此。这几乎不是一个领域核心的定义,而是对活动的列举。
那么问题是,我们能否定义所有数据科学家所做的事情?如果我们不得不教给所有数据科学学生一些东西, 而不知道他们以后可能在哪里结束, 那会是什么?我的观点是,在某些时候,所有的数据科学家必须从事基本的数据分析迭代。
数据分析迭代
基本数据分析迭代分四部分进行。一旦问题已确定,并且有获取或收集数据的计划,我们可以做以下工作:
- 构建一组预期结果
- 设计/构建/应用数据分析系统到数据
- 诊断分析系统输出中的任何异常
- 决定下一步做什么
虽然这种迭代可能为许多人所熟悉或明显,但其熟悉程度掩盖了所涉及的复杂性。特别是,迭代的每一步都要求数据科学家扮演不同的角色,涉及非常不同的技能。这就像一个人的游戏,数据科学家必须改变服装时,从一步到下一步。这就是我所说的数据科学家的四个工作。
四个工作
基本数据分析迭代中的每一个步骤都要求数据科学家是四个不同的人:(1) 科学家:((2) 统计员:(3) 系统工程师:和(4)政治家。让我们更详细地了解每项工作。
科学家
科学家开发并提出这个问题,并负责了解科学的状态和关键差距是什么。这位科学家还设计了收集新数据的任何实验,并执行数据收集。科学家必须与统计学家合作,设计一个系统来分析数据,并最终从所收集的数据的任何分析中构建出一套预期的结果。
科学家在开发系统方面发挥着关键作用,该系统将产生我们一系列预期的结果。该系统的组件可能包括文献审查、元分析、初步数据或同事的传闻数据。我在这里广泛使用"科学家"一词。在其他环境中,这可能是决策者或产品经理。
统计员
统计学家与科学家一起设计了分析系统,分析任何数据收集工作生成的数据。它们具体说明系统将如何运行,将产生什么输出,并获取实施系统所需的任何资源。统计学家利用统计理论和个人经验来选择将要应用的分析系统的不同组成部分。
统计员的作用是将数据分析系统应用于数据并生成数据分析输出。此输出可能是回归系数、均值、绘图或预测。但是,我们必须有一些东西可以与我们的预期结果进行比较。如果输出偏离了我们的预期结果集,那么下一个任务是确定该偏差的原因。
系统工程师
一旦将分析系统应用于数据,只有两种可能的结果:
- 输出符合我们的期望
- 输出不符合我们的期望(异常)
在异常情况下,系统工程师的责任是根据数据收集过程、分析系统和科学知识状态的知识来诊断异常的潜在根源。
对于软件和数据分析,挑战在于错误或意外行为可能来自任何地方。任何复杂的系统都由多个组件组成,其中一些可能是您的责任,其中许多是其他人的责任。但错误和异常不尊重这些边界!只有在看到数据分析输出时才会知道某个组件中可能存在问题。
因此,如果您负责诊断问题,则您有责任调查系统每个部分的行为。如果这是你不太熟悉的东西,那么你需要熟悉它,要么自己学习,要么(更可能)与事实上负责的人交谈。
数据分析输出中意外行为的一个常见来源是数据收集过程,但分析数据的统计人员可能不负责项目的这一方面。然而,识别异常的系统工程师必须回去与统计学家和科学家交谈,以准确了解每个组件的工作原理。
最终,系统工程师的任务是从数据分析中广泛了解影响输出的所有活动,以便识别与预期的任何偏差。一旦这些根本原因得到解释,我们就可以继续决定我们应该如何根据这一新信息采取行动。
政治家
政治家的工作是作出决定,同时平衡各选民的需求,以取得合理的结果。我认识的大多数统计学家和科学家都会对被视为政治家的想法退缩,或者任何形式的政治都会在做任何形式的科学中发挥作用。然而,我在这里的想法是更基本一点:在任何数据分析迭代中,我们不断决定做什么,牢记各种相互矛盾的因素。为了解决这些冲突并达成合理的协议,人们必须从事一项关键技能,即谈判。
在数据分析迭代的不同阶段,政治家必须就 (1) 分析中成功的定义进行谈判:(二)执行分析的资源:(3) 在看到分析系统的输出并诊断出任何异常的根本原因后,决定做什么。决定下一步做什么从根本上涉及数据和科学以外的因素。
政治家们必须确定谁是问题的利益相关者,以及他们最终想要的是什么(而不是他们的立场是什么)。例如,调查员可能会说"我们需要的 p 值小于 0.05"。那是他们的立场但他们想要的更可能是"在高调的期刊上发表文章"。另一个例子可能是调查员需要在紧迫的出版期限内完成,而另一个调查员则希望进行耗时(但更稳健)的分析。显然,这些立场相互冲突,但可以说两个调查人员的目标相同,这是一个严格的高影响力出版物。
确定立场与基本需求是谈判每个参与者合理结果的关键任务。根据我的经验,这个过程很少与数据有关(尽管数据可能被用来提出某些论点)。这一进程的主要要素往往是每个组成部分之间的关系的性质和对资源(如时间)的限制。
应用迭代
如果你读到这篇文章,发现自己说"我不是X",其中X要么是科学家,统计学家,系统工程师,要么是政治家,那么很可能这就是你在数据科学方面软弱的地方。我认为,一个好的数据科学家必须具备这些领域的一些技能,才能完成基本的数据分析迭代。
在任何给定的分析中,迭代可能应用从一次到几十次,如果不是数百次。如果您曾经绘制过两个相同的数据集图,则可能已进行了两次迭代。虽然迭代的确切细节和频率可能因应用而异,但所涉及的核心性质和技能变化不大。