数据科学与运筹学


11

顾名思义,一般的问题是:

  • DS和OR /优化之间有什么区别。

从概念上讲,我知道DS会尝试从可用数据中提取知识,并主要使用统计,机器学习技术。另一方面,“或” 使用数据以便基于数据做出决策,例如通过优化数据(输入)上的某些目标函数(准则)来进行决策

我想知道这两种范例之间的比较。

  • 是另一个子集吗?
  • 他们在考虑互补领域吗?
  • 是否有一个例子可以补充一个领域或将它们结合使用?

我特别对以下内容感兴趣:

是否有使用OR技术解决数据科学问题的示例?


3
我不确定这真的是关于计算机科学的问题,但我想它已经足够接近了。我编辑了有关一方面人们如何看待另一部分的部分,因为这似乎完全是一种见解。
David Richerby '17

@DavidRicherby谢谢。我同意你的看法,这可能是一个见解。传统上,这两个学科都是从CS社区教授和兴起的,所以,我想,这是问的正确地方。
PsySp


@DW谢谢。我已经阅读了这些文章,并且老实说,我看不到任何有关上述两个领域之间重叠和/或差异的讨论。特别是,一个如何与另一个互补。
PsySp

1
数据科学主要涉及通过数据查找信息的工作。运筹学主要是为了改善决策制定工作。您通常可以将OR视为使用方法来找到用于决策的最佳策略。在OR中使用的某些方法可以归类为CS社区中的强化学习方法,尽管并非所有OR问题都属于这种类型。
spektr

Answers:


9

尽管运筹学和数据科学都涵盖了大量主题和领域,但我将尝试就各自所代表的最具代表性和主流性的观点发表自己的看法。

正如其他人所指出的那样,运筹学的大部分主要关心的是做决定。尽管有许多不同的方法来决定如何进行决策,但OR的最主流部分(我认为)集中在对数学编程框架中的决策问题进行建模上。在这些类型的框架中,通常会有一组决策变量,对这些变量的约束以及一个目标函数,该目标函数取决于您要最小化或最大化的决策变量。当决策变量可以采用值时,约束是决策变量上的线性不等式,而目标函数是决策变量的线性函数,则您有一个线性程序R-过去六十年来OR的主要力量。如果您还有其他类型的目标函数或约束,那么您会发现自己处于整数编程二次编程半定编程等领域。

另一方面,数据科学主要与推理有关。在这里,您通常从一大堆数据开始,并且想要推断一些尚未在大堆中看到的数据。您在此处看到的典型情况是:1)大数据堆代表两个不同选项的过去结果,并且您想知道哪个选项将产生最佳结果; 2)大数据堆代表一个时间序列,您想知道该时间序列将如何延伸到未来,3)大量数据代表一组标记的观测值,并且您希望为新的,未标记的观测值推断标签。前两个示例完全属于古典统计领域(分别为假设检验和时间序列预测),而我认为第三个示例与现代机器学习主题(分类)更加紧密相关。

因此,在我看来,运筹学和数据科学大多是正交学科,尽管存在一些重叠之处。尤其是,我认为时间序列预测在OR中的出现量微不足道。它是OR中较重要的,非基于数学编程的部分之一。如果您知道输入和输出之间的关系,可以使用Operations Research。如果要确定这种关系(对于输入和输出的某种定义),可以使用数据科学。


谢谢您的明确答复。我想知道例如是否可以使用任何OR技术来解决DS问题。我会对这样的示例感兴趣,但是从您的回答来看,我怀疑是否有这样的示例。
PsySp

@Psysp嗯,也许吗?我想不出有什么办法,但这远非定论。
mhum

1
我不认为您所相信的OR和DS之间的划分是严格的,但这可能是因为我将主题视为机器学习和数据挖掘作为DS的一部分,而不是将DS视为Statistics的同义词。(不幸的是,由于DS是一个时髦词,它没有被广泛接受的定义,因为据我所知),但任务descision推论不一定是相互排斥的。机器学习正是两者结合的领域:有时必须做出明智的决策以做出体面的推理,而在其他时候则将聪明的推理用于良好的决策。
离散蜥蜴

@Discretelizard当然,我在某种程度上同意。我提出了一个相当鲜明的划分(也许几乎是讽刺漫画?),并专注于每个领域的核心部分,以强调每个领域通常需要解决的问题类型的差异。这两个字段的边缘可能非常模糊(尤其是在DS中,这要新得多),并且那里可能有更多的重叠。另外,我同意DS的许多主流都包括ML内容,但我不确定DS与ML的区别如何。
mhum

4

这不是一个完整的答案,因为mhum在对比OR与DS 的不同目标方面相当出色。

相反,我想谈谈您的以下评论:

我想知道例如是否可以使用任何OR技术来解决DS问题。

答案是肯定的。想到的最清楚的例子是支持向量机(SVM)

要将SVM模型“拟合”到某些数据(必须先完成,然后才能使用它来推断预测),必须解决以下优化问题:

最大化双重

g(a)=i=1mαi12i=1mj=1mαiαjyiyjxiTxj,

受约束

0αiC,i=1nyiαi=0

就像在OR领域中的许多问题一样,这是一个受约束的优化问题,可以使用二次编程方法或内部点方法来解决。这些通常与OR而非DS领域相关联,但这是其更广泛适用性的一个示例。

更一般而言,优化是DS领域中使用的许多统计和机器学习模型的关键,因为训练这些模型的过程通常可以表述为涉及损失/后悔功能的最小化问题-从一个不起眼的世纪开始最新的深度学习神经网络的线性回归模型。

Bishop是有关SVM的很好参考。


2

作为战略家,我有机会与该学科的双方一起工作。在试图向定性的MBA高管解释OR和DS的含义时,我(过于)简单地对每一行进行了一行介绍

或:懂得编码的经济学家
DS:懂得编码的统计学家。

实际上,这两个团队通常是如何结合在一起的:“或”方面开发决策模型,而“ DS”方面则找出适当的数据实现来提供模型。

每个人都将依靠各自学科的理论传统-他们一起进行实验以构造数据并完善模型,以便获得最佳决策所需的真实见解。随着彼此认识,他们的思维和语言通常会融合。


1
我了解DS作为“编码统计学家”的实际描述,但是OR的描述对我来说似乎有点奇怪。或包括物流和相关的路线问题。对我来说,这对经济学家而言似乎并不自然。也许您可以详细说明为什么经济学家会在实践中进行“或”运算?
离散蜥蜴

1
@Discretelizard我毫不怀疑经济学家会做OR,但是正如您所说的那样,有很多与经济学无关的OR是由计算机科学家,数学家和其他人完成的。
David Richerby

0

数据科学是处理一般数据的广阔领域。如果听起来含糊不清,那是正常的,因为确实如此。多年以来,这一直是个流行语。本质上,它试图找到一种利用数据的方法:我该如何处理数据(我可以从中获得什么见解?)。

运筹学是一门数学优化的科学:将问题建模为“方程式”,求解该数学模型,然后将解决方案转换回初始问题设置。它是帮助做出决定的工具:我应该/可以做些什么来获得这些。

许多业务问题可以看作是优化问题。鉴于资源有限,我正在努力使收入最大化,我将如何准确地开展业务,我应该为决策变量设置哪些值。诸如计划,设施计划,供应链管理等问题都利用了优化技术。

投资组合优化也是使用优化的经典示例。假设我可以投资于投资组合中的几种不同资产,每种资产都具有不确定的回报,那么我应该如何平衡自己的投资组合,以便在保持一定的货币回报水平的同时,最大限度地降低整体投资组合的风险。在这种情况下,目标函数通常成为投资组合的风险/方差,而约束条件是所需的投资回报率以及所拥有的金额。


3
您只列出两个字段的简短摘要。这个答案没有解决DS和OR之间的差异和/或相似性,对此问题特别提出了此要求。您可以专注于这一部分来改善您的答案
离散蜥蜴

-1

如果您将ML驱动的ML和AI视为数据科学的一部分(根据我的经验有些人做过,有些人没有做过,例如Microsoft的AI专业计划包含了数据科学+机器学习的关键方面(包括DL和RL) ),尽管高等经济学院展示了与高级机器学习几乎相同的Microsoft cuulculum的高级部分),但在这两个领域中使用的数学都有很多相似之处。例如:非线性规划(拉格朗日乘子,KKT条件...)->用于推导支持向量机...主要基于回归的计量经济学--->回归通常是Data Scinece的关键部分,更具体地说,是监督学习...统计(通常在OR课程中找到)--->数据科学和机器学习的关键... 随机过程->在强化学习中非常重要...动态编程->在强化学习中再次发现...因此,我想说总体上与数据科学有一些相似之处,而与ML有很多相似之处。当然,这些学科的目标是不同的,但是这些学科使用的数学有很多相似之处。


它如何回答这个问题?
Evil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.