R的开源生态系统解决业务问题的能力如何?

出版的原因是Rstudio博客文章: “ Shiny 1.1.0:通过异步扩展Shiny” ,它可以很容易地通过,但为使用R执行业务任务增加了非常重要的意义。 实际上,在闪亮的开发版本中,异步出现于大约一年前,但这有点轻浮和“虚假”-这是开发版本。 转移到CRAN的主要分支和出版物是一个重要的确认,即已考虑,解决和测试了许多基本问题,您可以安全地转移到生产和使用中。


除了“钻石”,R中还有什么其他功能,它使您可以将其转换为用于实际任务的通用分析工具?


它是以前出版物的延续。


为什么闪亮


如果我们谈论R在实际公司的业务流程中用于各种数据处理的实际应用,则分析结果的主要用户将是各个级别的经理。 我们将DS分析层放在后面;它们需要各种各样的工具,包括直接访问数据库。 他们自己可以做任何事情。 基于Web的图形工作站将是一个方便的帮助,但不是关键的区别因素。


与DS专家不同,普通经理需要一个方便的界面,该界面将为他提供做出决策或向管理层报告所需的所有信息(历史,分析,预测等)。 实际上,用户界面是任何企业系统的“ alpha和omega”。 没有人会在幕后(好吧,也许只是在RFI-RFP漫长而痛苦的阶段)。 没有人会明白出去尝试超出工作职责中指定的用户故事的界限。 没有人会思考协议,算法,验证和准确性这一主题。


使用Shiny,您可以绘制一个非常分支的界面,其中包括文本,图形,表格,几乎所有结构性html元素(引导框架)。 JS允许您向Web界面添加复杂的调整,CSS允许您创建自定义样式。 在R上做一些重要的事情也很容易,这些重要的事情从质量上改变了界面的工作,即动态生成内容。 在这里我们谈论的是:


  • 表格和图形数据,可以通过计时器或用户请求进行更改,并在显示为acc时进行修改。 具有动态限制(例如,隐藏部分数据的星号);
  • 界面中元素的组成(取决于业务流程的逻辑,您可以在执行期间添加/删除按钮,书签等);
  • 这些元素的内容(例如,基于加载的数据填充可用值的列表);
  • 智能管理控制元素的内容(例如,从一个列表中选择值将确定其他可供选择的元素的内容);
  • 数据级别上角色模型的实现(例如,根据角色,仅元素的某些子集可用)

没有界面-没有系统。 正是在这一点上,为什么使用R而不是python变得几乎显而易见。 由于R具有Shiny(程序包+运行时),您可以使用它在几乎任何算法复杂程度的数据处理系统的用户界面上直接执行R,而且python在不久的将来不会发布这样的消息。


异步闪亮,为什么如此重要


闪亮的应用程序本身是按顺序执行的,对于闪亮的服务器开源中的每个URL链接(闪亮的应用程序),都会出现一个后端R进程,该进程根据用户活动为计算提供服务。 直到最后一个版本,Shiny的开源版本才完全同步。 这意味着代码中任何冗长的计算都会“冻结”同时使用该应用程序的所有用户的应用程序响应。 自然,在企业版Shiny Server Pro中,管理用户会话的问题已解决。 消费者有机会选择是在5秒内获得他们想要的一切,还是自己补充。


原则上,可以通过以下方式使闪亮的应用程序的这种功能达到水平:


  • 将不同用户的应用程序发布到不同的URL,包括例如用户名(一个代码,在闪亮的服务器上建立链接)
  • 在不同的后台流程中预先进行复杂的计算
  • R中后端和后处理的数据处理能力之间的最佳共生关系。

但是,现在它变得更加方便。 通过允诺机制的异步允许几行生成额外的R线程,在其中执行资源密集型计算,而不会影响流的性能和主要闪亮应用程序的响应时间。 因此,正式地,许多用户的并行工作问题也可以考虑在开源版本中解决。 时间喝咖啡并等待结果与Shiny无关。


R的典型案例研究


他们经常喜欢在企业应用程序框架内谈论模型和ML,但是只有在数字化任务并准备好数据之后才有可能处理这些任务。 所有这些都可以在R的框架内完成。
自然,R并不总是一个就足够,这取决于任务的规模和数据量,可能需要开源olap后端和开源数据获取子系统。 但这并不会改变任何事情,因为用户只能使用用户的应用程序(请参见上文)。
以前,许多故事都以“大厂商”的特殊产品为特色,这些特殊产品多年来已投放市场,价值数十亿美元。 但是现在,一切都变得更容易,更便宜了。 实践表明,99%的业务任务属于以下三种情况之一。


案号1。 运营分析


一个典型的任务是创建一个操作反馈回路。 主要阶段:


  • 从不同制造商和目录的各种格式的系统以接近真实的模式(根据业务流程的具体情况,最佳增量为几十分钟)收集多协议和多格式的数据。 例如,它可以是来自抽水设备的数据,来自各种扫描仪的数据,系统操作日志
  • 使用其他来源和目录中的数据进行清理,规范化和扩充
  • 分析获得的时间序列。 这是预测的计算和与预测值的偏差的分析,异常的分析以及各种反欺诈和对可能问题的预测(例如,冰箱中的温度开始缓慢升高。虽然处于设定状态,但趋势很明显,产品可能很快会变质)
  • 计算任何瞬时KPI值(在业务分析师的想象力范围内)
  • 多通道反馈环回:生成报告,更新仪表板,自动报告给外部系统(例如监视),在较低系统中自动执行命令。

经典实例:


  • 控制各种设备,
  • 监控长业务流程,
  • “在线”销售分析,
  • 呼叫中心工作分析,
  • 访问控制系统的一般分析(例如,SAP中是否有一个应用程序可以在某个特定时间访问某个员工到某个地方,或者ACS认为是异常?)。

存在许多此类问题,并且可以通过生态系统R解决所有问题。


案号2。 Excel合并


实践证明,Excel在绝大多数公司中是业务分析师的主要工具。 对于简单的任务,这仍然可以接受;对于具有大量数据的复杂任务,此方法会变成一个黑洞,这会吸收任何数量的资源,但不会产生任何输出。


典型任务:
在(!被解雇)做{


  • 从许多不同的来源收集肮脏的数据,主要是excel手册;
  • 重复验证所有内容(源的技术和逻辑验证+源之间的逻辑交叉验证);
  • 进行计算,合并,分配;
  • 进行许多不同的卸货以交付给其他单位;
  • 熟练地报告已完成的工作。
    }
    所有这些都是在持续的紧急模式和处理中执行的。

经典实例:


  • 如果您无法使用一个msproject进行集成项目管理系统(KSUP)的分析, 承包商的数量尽可能多地报告,但是我们需要进行综合了解并管理风险。
  • 订购和分销系统(贸易和物流)。 携带什么,如何分配,如何收集订单,如何分解订单。 预测购买量也不错。

案号3。 决策支持系统


在这里,它甚至更简单并且最接近纯ML:


  • 从可以收集信息的地方(各种odbc和不太兼容odbc的资源,xml \ json,txt \ csv \ log,xlsx,REST API);
  • 将来自不同来源的数据相互关联,并生成可用于ML算法的格式;
  • 拿出垫子。 所描述的业务实体的模型以进行计算;
  • 绘制各种切片和视图,以管理形式(docx,xl​​sx,pptx,pdf)生成各种报告,并描述当前状况和建议。

案例分类不是发明的,而是根据业务的实际需求(分别是科学和纯ML \ AI \ DL)得出的。 可能在不久的将来,可以“分享屏幕快照”来解决2-3个问题。


实践表明,R + Shiny允许您非常非常有效地“单击”此类任务。 如果有任务,则应更仔细地查看这些工具。


以前的文章- 强大的企业R应用程序的功能

Source: https://habr.com/ru/post/zh-CN416019/


All Articles