数据分析软件: 商业方案vs 开源方案

作者:Bart Baesens

译者:李立波

   在建立数据分析环境时,企业往往需要决定是选择采用哪些具体的计算机硬件和软件。大数据分析需要特定的硬件架构来储存、整合、清洗以及管理数据。许多软件供应商,比如SAS, IBM, 微软,甲骨文, Matlab等等,提供大数据以及其他相关数据分析的软件支持。同时越来越多的开源免费软件(例如 R, Python, Weka, Rapidminer等)也开始提供对大数据分析的支持。事实上,开源免费软件的火爆引发了人们的思考:商业软件,相对于开源免费软件,是否真的带来了更多价值。投资数据分析软件之前,企业和个人应该慎重评价商业软件和开源软件各自的优势。本文将针对两者特点进行进一步的取舍比较。

    首先,开源数据分析软件的主要优势,是明显降低了企业在数据分析方面的使用成本。但同时这也带来了相应的风险:开源软件缺少重复测试,软件质量无法保障。在法律严格监管的一些行业,例如信用风险(受巴塞尔协议监管),保险(需遵守资本偿还相关法律)以及医药(如果产品选择在欧美等国上市,需要受美国食品药品监督管理局等机构监管),数据分析模型的应用将受到来自公司外的严格审核。由于这些行业对社会影响较大(例如经济金融和公共食品卫生),审查也将越来越严格。因此,相关企业选择经过缜密制造、反复测试并拥有完善用户文档的成熟商业数据分析软件。这其中的许多商业数据分析解决方案里包含了自动生成合规报告的功能,来帮助相关行业完成法律法规遵守情况的报告,从而应对官方机构的审核。由于无法对软件进行质检以及没有相关保障,监管行业内企业使用开源解决方案时将会面临巨大的潜在风险。

   商业软件另一大优势则是软件不再围绕单一数据分析任务(比如预处理,数据挖掘等)来设计,而是专注于为具体业务精心设计且高度自动化的解决方案。举例来说,信用风险建模包含诸多业务:从问题的建立(诸如建模分析抵押贷款风险),到数据预处理(处理数据缺失值,异常样本等)、建模(估计模型参数,比如逻辑回归,决策树等)、回测(使用traffic light indicator等方法)、标杆分析(利用FICO信用分数)、压力测试(例如敏感性分析和前景分析),到监管资本计算。如果使用开源软件,用户需要编写多个脚本才能将上述业务自动化,比如检索多个不同的源文件,然后生成脚本来匹配连接。这个过程会使得软件功能变得不稳定,流程变得不清晰。

  相对开源软件,商业软件供应商会提供大量辅助服务,比如用户常见问答、技术支持、软件相应通讯简报以及培训课程等。商业软件另外一大优势则是供应商的业务持续性。具体来说,商业软件开发团队高度集中统一 (开源软件开发者之间联系相对松散),能够及时对新的分析方法及法律法规要求进行跟进,从而保障相应的软件升级与维护。而开源软件用户则需要开源代码社区程序员(往往来自网络并匿名)自愿地对软件进行升级,因此无法保障在紧急情况下的需要。

   商业软件的一大缺点就是软件本身往往是预制并且代码经过封装,内部程序逻辑纷繁复杂。尽管软件可能经过层层测试且提供了大量使用文档, 数据科学家想要利用这样的软件来做高度复杂的分析,常常难于上青天。 相反,开源软件的源代码是完全开放的。

   最后值得一提的是,越来越多的中小企业开始对大数据及相关分析方案感兴趣。由于预算紧张,中小企业通常对开源或者免费的解决方案更感兴趣,从而直接利用到企业数据分析。事实上,中小企业很多时候偏爱使用网站数据分析平台(例如谷歌分析)来研究企业网站用户如何使用和搜索企业网站,提升搜索引擎排名,或者基于企业具体情况来选择是否进行搜索引擎营销。

   终上所述,商业、开源软件各有优劣。在混合编程接口(Hybrid programming interface) 支持下,两者可以共存(例如SAS 和 R,抑或Python)。对不同软件最优组合的选择,往往取决于企业规模大小,以及大数据分析项目的成熟程度。

转载本文请联系原作者获取授权

转载请注明出处及作者译者信息