工程的博客

利用环境、社会和治理数据实施可持续性

2020年11月11日 工程的博客

分享这篇文章

的环境、社会和治理(ESG)在金融服务行业很好理解。在我们之前博客,我们演示了如何资产管理公司可以利用数据和人工智能,以更好地优化投资组合,确定组织,从环境、社会和治理的角度来看,不仅好看而且做好事——操作在一个环境友好型的公司,社会可接受的和可持续的方式。但环境、社会和治理超越可持续投资的好处。最近的经验告诉我们,蓬勃发展的关键在COVID-19大流行开始建立社会责任和可持续治理的单杠。例如,大型零售商已经在使用环境、社会和治理监控他们的供应链的性能已经能够利用这些信息来更好的浏览全球封锁的挑战,确保商品和产品的恒流社区。事实上,环境、社会和治理实施的好处已经在COVID-19广泛。2020年一季度,94%的环境、社会和治理基金表现它们的基准。高的环境、社会和治理公司有较高的韧性,因为他们仔细看看他们是如何对待他们的员工,他们的采购,他们多么容易受到外部冲击。我们看到在我们ESG-focused客户的发现是一致的文章从哈佛法学院公司治理论坛”公司投资(ESG)从竞争优势中获益,更快的恢复中断。”

“高质量的企业,坚持良好的环境、社会和治理实践会比那些不。“迪德简•蒂亚姆·凯雷集团的审计委员会主席前瑞士信贷(Credit Suisse)的首席执行官

在这篇文章中,我们将展示一种新的供应链分析方法结合地理空间技术和预测数据分析物流公司不仅要减少他们的碳足迹,改善工作条件,提高合规也使用这些信息来适应新出现的威胁,在真正的时间。使用海上运输公司为例,我们就会发现下列主题向可持续的转换通过数据和人工智能的关键环节:

  • 利用地理空间分析集团物联网传感器数据转化为可操作的信号
  • 优化物流使用马尔可夫链模型
  • 预测船的目的地和优化燃料消耗

环境、社会和治理的真实性

web 2.0泡沫的破灭在2000年代早期已经导致了各种各样的信息收集(如物联网、传感器数据),并在2010年Hadoop-based技术的采用使得组织有效地存储和处理大量数据(如体积、速度)。然而,组织无法完全开启的真正潜力数据直到最近。今天,开源云计算结合人工智能技术民主化数据,允许企业解决的最大障碍的环境bob下载地址、社会和治理的数据驱动的方法:信息的真实性。替代数据,传感器数据、评级和环境、社会和治理信息披露在不同尺度,不同的品质,不同的格式,往往不完整或不可靠,极大地改变随着时间的推移,要求所有科学的角色(即。、数据科学家和计算机科学家)协同工作,迭代地将原始信息转化为可操作的信号。通过统一的数据和分析,砖不仅允许摄入和处理大量数据以最小成本,而且也帮助企业更快的迭代通过使用人工智能,建立新的战略,以适应不断变化的环境,为更好的决策,和改变他们的经营模式更数据驱动,敏捷和弹性。

在这个演示,我们将使用海上交通信息的自动识别系统(AIS),一个自动跟踪系统,捕捉每个操作的确切位置以固定时间间隔。这种公开的数据集可以通过访问美国国家海洋和大气管理局档案或现场反馈。

建立供应链分析的新方法,结合地理空间技术和预测分析

在上面的工作流,报道三角洲湖将用于提供AIS数据的可靠性和性能(1),然后呢Apache火花TM将用于集团数十亿孤立的地理信息(2)明确的路线(俗称“sessionizing”物联网数据),利用地理空间库如H3超级的六角层次空间索引(3)。使用马尔可夫链,我们将演示物流公司如何更好地理解自己的舰队(4)的效率,并利用上下文信息从别人为了预测交通,发现异常(5)和减少相关的风险和影响他们的业务(6)。

获取AIS数据

自动识别系统是一个导航标准理论上所有船只都必须遵守。因此,它的结构相对比较简单,包含容器的属性,包括海上移动服务身份(MMSI)和呼号(独特的船)与动态特性如确切位置,速度在地面,标题和时间戳。我们可以阅读传入的CSV文件和附加信息初始到三角洲青铜表,如下表中表示。

从AIS数据原始记录

给定的数据量在起作用(20亿年收集的数据点为美国2018年独自一人),我们利用H3层次结构,编码纬度/经度点如下一系列重叠的多边形为代表。这样一个强大的网格结构将帮助我们小组分在不同的决议从一百万平方公里到几平方厘米。

超级的六角层次空间索引(H3)

使用超级的第三方库,我们用这个编码逻辑作为一个用户定义函数(UDF):

进口com.uber.h3core.H3Core进口org.apache.spark.sql.functions._/ /给定的一个点编码(经度和纬度)和决议/ /我们返回相应的H3的十六进制表示val toH3 = udf ((纬度:双,经度:双,res: Int)= >{val h3 = H3Core.newInstance ()val h3Long = h3。geoToH3(纬度,经度,res)f" $ {h3Long} % X”})

为了欣赏手头的任务的复杂性,我们呈现所有点(由一个10公里大的多边形分组)KeplerGL可视化。这样一个可视化演示的侵略本性AIS数据和解决这一问题的必要性作为数据科学的挑战,而不是一个简单的工程管道或ETL工作流。

可视化代表AIS数据的真实性,表现出复杂的任务

因为AIS数据只包含纬度和经度,我们还获得142年美国商业港口的位置使用一个简单的web刮刀和BeautifulSoup python库(报告的过程相关的笔记本)。

将原始信息转换成可操作的信号

为了将原始信息转化为可操作的信号,我们首先需要sessionize点旅行隔开点船不再下命令(例如,当船锚定)。这显然简单问题伴随着一系列的计算机科学的挑战:首先,理论上的旅行(距离或时间),使用一个典型的SQL窗口函数会导致每个位置对于一个给定的船将在内存中举行。其次,一些船只可能出现一百万数据点,和排序如此大的列表会导致主要的低效率。最后,我们的数据集是非常不平衡的。一些船只占比其他人更多的流量,策略对于一个给定的船可能是次优的。这些挑战可以使用标准SQL和关系数据库技术来解决。

二次排序

我们克服这些挑战通过利用一个著名的大数据模式,二次排序。这个明显的遗留模式(著名的MapReduce时代)仍然非常有用和大规模数据集现代数据科学的必备工具。这个想法是利用火花洗牌通过创建一个自定义组合键瓜分者。上半年,关键是用于定义分区号(即。下半年,MMSI),其用于每个关键在一个给定的分区(即。时间戳),导致船舶在分类收集的数据组合在一起。

虽然完整代码详细的连接笔记本,我们报告以下使用分割者(告诉火花框架执行器将处理容器)和一个组合键为了利用,最好的,云计算提供的弹性(,因此,其成本最小化)。

进口org.apache.spark.PartitionerVesselKeyPartitioner(护士:Int)扩展瓜分者{覆盖defnumPartitions:Int = n覆盖defgetPartition(关键:任何):Int = {val k = key.asInstanceOf [VesselKey]数学。腹肌(k。mmsi % n)}}对象VesselKey {隐式的deforderingByVesselPosition(一个<:vesselkey =”“:=”“点=”“ordering.by =”“> (k。mmsi, k.rank))}}< /:>

配备一个复合键,分割者,和一个业务逻辑排序数据分割成序列(由一个容器状态),我们现在可以安全地使用火花repartitionAndSortWithinPartitions框架解决这个挑战(二级分类的另一个名称)。在一个相对小的集群中,这个过程需要3 mn我们整个数据集分割成30000会议,存储每个旅行银δ表,可以进一步丰富。

地理空间浓缩

与我们的数据的复杂性大大降低,下一个挑战是进一步完善这些信息被过滤掉不完整的旅行(缺失数据)使用美国港口和位置的信息,我们从互联网上刮。而不是一个复杂的地理空间查询等找到一个点在多边形或蛮力方法找到任何已知的最小距离美国港口,我们利用H3的语义属性来定义一个排水区周围的每个端口的确切位置(按下图)。

使用H3作为港口的集水区,使简单的连接操作

任何船夹在这些领域(例如匹配一个简单的内部联接条件)两端的旅程将被视为来自/在这些特定的目的地港口。通过这种方式,我们成功地减少了大规模数据集的原始记录的20亿减少到15000可操作的旅行,现在可以被用来改善我们的装运公司的操作弹性。

旗帜的便利和安全问题

海上运输是国际贸易的支柱。全球经济大约80%的全球贸易,和超过70%的全球贸易价值进行海运。拥有超过50000的商船在150个国家注册,“监管框架如巴塞尔公约、经合组织和劳工组织指南正在寻找更好的管理船舶破损的活动。然而,许多船只航行在便利的旗帜下,包括巴拿马、利比里亚、马绍尔群岛,从而能够逃避规则由国际组织和政府。”

“全球化有助于推动急于底部。在竞争激烈的航运市场,foc降低费用和减少监管,船主找最便宜的方式来运行他们的船只。国际运输工人联合会”

有各种各样的因素方便的旗帜下航行,但最训练有素的船东往往在国家注册船只实施更少的监管。因此,方便旗船轴承可以ESG红旗:常常表现为条件差,训练不足的人员,和频繁的碰撞,导致严重的环境和安全问题,只能使用一个数据驱动的方法检测和量化。我们所有的数据正确分类和存储在三角洲湖,一个简单的SQL查询MMSI模式(包含标志信息)可以帮助我们确定的可疑船只操作方便旗。

选择呼号,vesselName,COLLECT_SET(国旗(mmsi))作为旗帜esg.cargos_points集团通过呼号,vesselName大小(旗帜)>1

在下面的示例中,我们已经能够确定峰值飞马,航运承运人操作在墨西哥湾的2018年,连续在利比里亚或加蓬国旗航行。没有对这个问题采取了大数据的方法,不仅会很难发现船只正在改变标志,但预测哪一种潜在的环境、社会和治理问题这可能导致和这些船只可能会走向(见后在本博客)。

峰飞马(IMO: 9634830)在利比里亚国旗航行

通过更好地解决物联网数据的真实性,我们演示了如何将原始信息转换成可操作的信号操作为船东提供了无处可藏的看到监管者(这个货物是隐藏在20亿数据点)。这个船是否违反任何监管要求是这个博客的范围之外。

一个数据和AI罗盘,以获得最大的业务价值

与我们的原始信息转化为可操作的信号,可以很容易地分辨出一个最常见的路线横跨美国在不同的时间。使用圆环可视化技术如下代表,我们可以欣赏2018年全球美国海上交通的复杂性(左)。当大多数旅行来自旧金山前往洛杉矶,后者充当中心整个西海岸(右图片),发现一些有趣的经济的见解。同样,萨凡纳,格鲁吉亚,似乎是东海岸的中心。

圆环代表全美2018海上交通可视化

如果我们假设两个港口之间旅行的数量呈正相关,两个城市之间的经济活动,较高的概率达到港口因此托运人更高的盈利能力的函数。这个圆环地图是经济增长的关键,而马尔可夫链是指南针。

一个马尔可夫链是一个数学系统,经历从一个状态转换(例如,一个港口)到另一个(即按照一定的概率规则。,观测的数量)。广泛应用于经济学、通信理论、遗传学和金融,这个随机过程可以用来模拟抽样从复杂的概率分布,例如研究队列或行客户抵达机场或预测市场崩溃和周期之间的经济衰退和扩张。使用这种方法,我们将演示港口当局如何更好的管理入站流量和减少长队在安克雷奇,导致成本效益产业利益相关者和减少碳排放。长队在安克雷奇是一个主要的安全与环境问题。

减少业务中断

报道的金融时报》,运营商已经大大改变了他们的业务COVID-19大流行期间,通过快速停车的船只,派遣船只在行程长,保护利润和取消数以百计的路线。随着全球经济的复苏,我们可以利用马尔可夫链预测货物运营商应该重新部署舰队为了最小化中断他们的业务。从给定端口,将给定的船舶统计后3、4、5个连续的旅行吗?这些见解不仅优化利润,但也有助于保护健康的船舶上的海员工作通过创建一个数据驱动框架,考虑如何帮助他们回家后航行。

我们捕获的概率分布每个端口达到其他端口是什么通常被称为一个过渡矩阵。给定一个初始状态向量(原产地港口),我们可以很容易的“随机漫步”这些概率N为了找到下一个最有可能的路线,把不稳定的行为(这是马尔可夫过程的文献中被称为“传送”变量导致谷歌成功的算法,网页排名)。

#创建一个输入向量#概率是0,除了我们的初始状态(纽约)state_vector = np.zeros(形状= (1,transition_matrix.shape [0)))state_vector [0][new_york] =1.0为每个模拟旅行#更新状态向量我在np.arange (0,旅行):state_vector = np。点(state_vector transition_matrix)

从纽约出发,我们代表任何船都将是最可能的位置后连续5旅行(12%的机会在美国佐治亚州的萨瓦纳)。

船概率位置了五趟来自纽约

由于两个城市之间的旅行的数量应该与高经济活动,这个框架将不仅告诉我们接下来最可能的N的路线,但接下来的N路线最高的盈利能力。当他们舰队的一部分必须重新部署到不同的位置或路由,因为外部事件(例如,天气条件),这个概率框架将有助于ship操作符认为多个步骤,优化航线是最经济可行的,因此,进一步减少中断他们的业务。

在下面的示例中,我们代表日志日志(动态生成的从我们的框架)优化业务价值时离开纽约。对于每一个旅行,我们可以很容易地报告基于历史记录的平均持续时间和距离。

概率日报记录来自纽约

这个模型的一个改进(在读者的自由裁量权)会为额外的变量因素,如天气数据、船舶类型、合同或季节性或允许用户输入额外的约束(例如,最大距离)。事实上,在我们的方法检测到异常苏圣玛丽之间没有历史数据被发现。玛丽和德卢斯1月和3月之间。这个明显的古怪当然可以被解释的五大湖大多是冰冻的冬天,所以推荐这一路线不一定合适。

社会责任和经济实用

目前,大约250000船工人被认为是被困,因为当局阻止船员离船的感染风险。在这个真实的场景中,怎么可能货物运营商带来船员安全回家同时最小化进一步中断他们的业务?使用图论,也可以使用我们的框架的目标是已知的。相同的圆环图显示(因此相关的马尔可夫转移矩阵)早些时候可以转换为一个图表使用networkX库,以进一步研究其结构,学习其连接和最短路径。

进口networkx作为nxG = nx.from_pandas_adjacency(马尔可夫)旅行= = nx.shortest_path (G,来源奥尔巴尼的目标=“FortPierce”)

帆船半空从奥尔巴尼到皮尔斯堡可能最快的但不是最经济可行的路线。如下报告,我们的框架表明——在每年的这个时候停在巴尔的摩,迈阿密可以帮助发货人而获得最大的利润把船员及时安全地回家。

找到最经济可行的路线从奥尔巴尼,纽约,佛罗里达皮尔斯堡

预测和开

在前面的小节中,我们演示了使用马尔可夫链来更好地理解经济活动作为一个稳定的美国港口之间的交通流量。在本节中,我们使用获得的知识来理解从一个地理位置转换到另一个。可以我们机器学习船的目的地港口的起源和其当前位置,在任何时候?除了明显的战略优势的金融服务行业更好地理解和预测装运货物和供需模型,估算货物运营商可以更好的优化操作的交通在目的地,避免排长队在安克雷奇。

地理空间马尔可夫链

虽然我们的方法是扩展现有框架,概率状态的定义已经改变了从一个港口到一个精确的地理位置。高粒度将会创建一个稀疏的过渡矩阵低粒度会阻止我们运行时实际的预测。我们将利用H3信息(正如前面所介绍的)近似位置半径20公里内。另一个需要记住的是“Memorylessness马尔可夫链(即”的本质。,当前位置不携带信息以前的步骤)。因为每个容器的始发港,我们将创建多个机器学习模型,每个美国港口的一个来源。

在任何时候,我们的系统将检测下一个可能的N州(下一个N位置)一艘前往。给予无限的“随机漫步”,我们的概率分布将成为固定所有已知的港口将会达到。最后,我们想要阻止我们的随机游走过程,当概率分布保持不变(在一个定义的阈值)。为此,我们使用Bhattacharyya系数作为衡量两个概率分布之间的距离。

def预测(状态):#由于观察到的位置,我们创建一个新的状态向量。state_vector = np.zeros(形状= (1,transition_matrix.shape [0)))state_vector [0][状态]=1.0#……我们为每个随机漫步递归更新np.arange (0,max_walks):
              new_state_vector = np。点(state_vector transition_matrix)距离= bhattacharyya (state_vector new_state_vector)state_vector = new_state_vector#……直到概率保持不变如果(距离
免费试着砖
看到所有工程的博客的帖子