使用流动性数据通过 Amazon SageMaker 地理空间功能获取洞察 机器学习博客
  • 18

利用亚马逊SageMaker地理空间能力分析移动数据

关键点摘要

本文探讨了如何利用移动数据的地理空间能力进行数据分析,涉及数据源、架构、应用场景及道德使用方面。移动数据主要通过GPS和应用发布商收集。AWS的服务如Amazon S3、Amazon SageMaker等可用于清理和分析数据,并生成可视化结果。第二篇文章将详细介绍技术实现及示例代码。

移动数据是关于地球表面特定地点的数据。它可以表示一个地理区域或与该区域相关的事件。在多个行业中,对地理空间数据的分析越来越受到关注,主要是为了理解数据的空间存在及其原因。

地理空间数据分为两类:向量数据和光栅数据。光栅数据由网格矩阵组成,主要用于表示照片和卫星影像。本文将重点关注向量数据,它以纬度和经度的地理坐标以及连接或包围这些点的线和多边形的形式表示。向量数据在获取移动洞察方面有广泛的应用,其中用户的移动数据是一个重要组成部分,主要通过GPS或应用发布商的SDK等整合方式获取。本文将这一数据称为移动数据。

这是一个为期两部分的系列文章。在第一篇文章中,我们介绍移动数据、数据源及其典型架构,讨论各种应用场景,探索使用AWS服务清理数据的方式,并讨论机器学习ML如何帮助这一工作,以及如何在生成视觉效果和洞察时伦理地使用数据。第二篇文章将更加技术化,详细描述这些步骤及示例代码。

您可以使用亚马逊SageMaker地理空间能力在基图上叠加移动数据,并提供分层可视化,以便于协作。GPU加速的交互式可视化工具和Python笔记本可以无缝地在一个窗口中探索数百万个数据点,并共享洞察和结果。

数据源与架构

移动数据有多种来源。除了GPS信号和应用发布商外,其他增强数据集的来源还包括WiFi接入点、通过移动设备展示广告获得的出价流数据及商业设立的特定硬件发射器例如,在实体店内。对于企业来说,自己收集这些数据通常比较困难,所以他们可能会向数据聚合商购买数据。数据聚合商从多个来源收集移动数据,清理数据,添加噪声,并根据特定地理区域每日提供可用数据。由于数据的性质及获取难度,数据的准确性和质量可能会有很大差异。企业可以通过每日活跃用户、每日总信号及每台设备的平均每日信号等指标来评估和验证这些数据。以下表格展示了数据聚合商每日数据源的典型架构。

属性描述Id或MAID设备的手机广告IDMAID经过哈希处理lat设备的纬度lng设备的经度geohash设备的地理哈希位置devicetype设备的操作系统 = IDFA或GAIDhorizontalaccuracy水平GPS坐标的准确性以米为单位timestamp事件时间戳ipIP地址alt设备的海拔以米为单位speed设备的速度以米/秒为单位country国家二位ISO代码state代表州的代码city代表城市的代码zipcode设备ID出现地点的邮政编码carrier设备运营商devicemanufacturer设备制造商

应用场景

移动数据在多个行业中有广泛的应用。以下是一些常见的应用场景:

密度指标:通过将访客流量分析与人口密度结合,观察活动和访问兴趣点POI。这些指标描绘了多少设备或用户主动停留和参与业务,进一步可用于选址或分析活动周围的移动模式例如,参加比赛日的人流。为获取这些洞察,输入的原始数据需要经过提取、转化和加载ETL过程,以识别设备位置信号的活动或交互。我们可以通过在亚马逊SageMaker中使用ML模型对信号进行聚类,从而分析用户或移动设备的活动。行程与轨迹:设备的每日位置数据可以表示为一系列活动停留和旅行移动。一对活动可以代表它们之间的旅行,通过追踪移动设备的旅行轨迹,可以绘制实际的轨迹图。用户移动的轨迹模式可能带来有趣的洞察,例如交通模式、燃料消耗、城市规划等。它还可以提供数据,以分析广告点如广告牌所带来的路线、识别优化供应链操作的最有效的送货路线,或在自然灾害如飓风疏散中分析疏散路线。集客区域分析:集客区域指的是一个区域吸引的访客来源,这些访客可能是客户或潜在客户。零售企业可以利用这些信息来确定新商店的最佳开设位置,或判断两个商店位置是否互相临近,影响彼此的业务。他们还可以找出实际客户的来源,识别那些在上班或回家途中经过该区域的潜在客户。此外,营销技术MarTech和广告技术AdTech公司也可以利用这种分析,优化营销活动,识别接近品牌商店的受众,或按业绩对商店进行排名,优化户外广告。

还有许多其他用途,包括为商业地产生成位置情报、通过客流量数据增强卫星影像、识别餐厅的配送中心、确定社区的疏散可能性、发现疫情期间的人群移动模式等。

挑战与伦理使用

伦理使用移动数据可以产生许多有趣的洞察,帮助组织改进操作、进行有效的市场营销、甚至获得竞争优势。为了伦理地使用这些数据,需要遵循几个步骤。

数据的收集是第一步。尽管大部分移动数据不包含个人身份信息PII,如姓名和地址,但数据收集者和聚合商仍需获得用户的同意才能收集、使用、存储和共享他们的数据。必须遵循GDPR和CCPA等数据隐私法律,因为这些法律赋予用户控制其数据使用方式的权利。这一步是实现移动数据伦理和负责任使用的重要一步,但仍然可以采取更多措施。

每个设备都被分配了一个经过哈希处理的手机广告IDMAID,用于锚定单个信号。可以通过使用亚马逊Macie、亚马逊S3对象Lambda、亚马逊Comprehend或AWS Glue Studio的PII检测转化进一步混淆。有关更多信息,请参阅使用AWS服务检测PHI和PII数据的常见技术。

除了PII之外,还应考虑屏蔽用户的家庭位置及其他敏感位置,如军事基地或宗教场所。

魔戒.net加速器下载

伦理使用的最后一步是仅从亚马逊SageMaker导出汇总指标。这意味着获取访客的平均数量或总数量,而不是单个旅行模式;获得每日、每周、每月或每年趋势;或索引公共可用数据如人口普查数据的移动模式。

解决方案概述

如前所述,您可以使用的AWS服务来分析移动数据包括亚马逊S3、亚马逊Macie、AWS Glue、S3对象Lambda、亚马逊Comprehend和亚马逊SageMaker地理空间能力。亚马逊SageMaker地理空间能力使数据科学家和ML工程师能够使用地理空间数据轻松构建、训练和部署模型。您可以高效地转化或丰富大规模的地理空间数据集,加速使用预训练的ML模型构建模型,并通过3D加速图形和内置可视化工具在交互式地图上探索模型预测和地理空间数据。

以下参考架构展示了使用ML进行地理空间数据的工作流。

在此工作流中,各种数据源收集的原始数据存储在亚马逊简单存储服务S3桶中。亚马逊Macie用于识别和屏蔽该S3桶中的PII。然后,使用AWS Glue对原始数据进行清理和转化至所需格式,修改和清理的数据存储在另一个S3桶中。对于通过AWS Glue无法完成的数据转化,可以使用亚马逊Lambda来修饰和清理原始数据。当数据被清理后,您可以使用亚马逊SageMaker在经过处理的地理空间数据上构建、训练和部署ML模型。您还可以使用亚马逊SageMaker地理空间能力的地理空间处理作业功能进行数据预处理,例如使用Python函数和SQL语句从原始移动数据中识别活动。数据科学家可以通过亚马逊SageMaker笔记本完成此过程。您还可以使用亚马逊QuickSight来可视化业务结果和其他重要指标。

亚马逊SageMaker地理空间能力与地理空间处理作业

在获取并将数据导入亚马逊S3进行每日数据喂送并清理敏感数据后,可以通过带有地理空间图像的亚马逊SageMaker Studio笔记本将其导入亚马逊SageMaker。以下屏幕截图显示了以CSV文件格式上传到亚马逊S3的每日设备信号样本,然后加载到一个pandas数据框中。带有地理空间图像的亚马逊SageMaker Studio笔记本预加载了GDAL、GeoPandas、Fiona和Shapely等地理空间库,简化了数据处理和分析。

此样本数据集包含来自5000个设备的约400000个每日信号,记录了2023年5月15日用户访问亚利桑那州菲尼克斯的Arrowhead Mall这一受欢迎的购物中心中来自14000个独特地点的信息。之前的屏幕截图展示了数据架构中的一些列样本。MAID列表示设备ID,每个MAID每分钟生成信号 relaying 设备的纬度和经度,其在样本文件中记录为Lat和Lng列。

以下是来自亚马逊SageMaker地理空间能力可视化工具的屏幕截图,由Foursquare Studio供电,展示了在早上7点到下午6点之间拜访商场的设备信号布局。

使用流动性数据通过 Amazon SageMaker 地理空间功能获取洞察 机器学习博客

以下屏幕截图显示了商场及周边区域的信号。

以下显示了商场内各家店铺的信号。

每个图中的点表示某个设备在特定时间的信号。信号的聚集区域代表了设备集聚或停留的热门地点,例如商店或餐厅。

在初步ETL处理的过程中,这些原始数据可以借助AWS Glue加载到表中。您可以创建AWS Glue爬虫,识别数据架构,并指向原始数据位置的Amazon S3作为数据源。

如前所述,即使在初步ETL处理之后,原始数据每日设备信号仍然可以表示设备位置的连续GPS信号。为了从此数据中提取可操作的洞察,我们需要识别停留点和旅行轨迹。可以通过使用地理空间处理作业的SageMaker地理空间能力功能来实现这一点。亚马逊SageMaker处理利用SageMaker中管理的简化体验运行数据处理工作负载,该工作负载包括专门的地理空间容器。SageMaker处理作业的基础架构完全由SageMaker管理。此功能使您能够通过在S3上运行地理空间ML容器来处理存储的地理空间数据,以运行自定义代码,处理公开或私人的地理空间数据。您可以使用开源库编写自定义代码,并利用SageMaker处理作业在规模上运行该操作。容器化的方法解决了开发环境标准化与常用开源库的需求。

为了运行这类大规模工作负载,您需要一个灵活的计算集群,从数十个实例处理城市区块,到数千个实例进行星球级的处理。手动管理自建计算集群的速度慢且成本高。当涉及的移动数据集涵盖多个城市至多个州甚至国家时,此功能尤为有用,并可用于运行两步ML方法。

第一步是使用物体密度的空间聚类算法DBSCAN聚类停留点。下一步是使用支持向量机SVM方法进一步提高识别停留点的准确性,同时区分是否与POI发生了交互。您还可以通过识别连续的停留点并绘制源与目的地之间的路径,利用SageMaker处理作业生成每日设备信号的旅行和轨迹。

在通过地理空间处理作业对原始数据每日设备信号进行大规模处理后,生成的新数据集称为停留数据,具有以下架构。

属性描述Id或MAID设备的手机广告ID经过哈希处理lat停留聚类的质心纬度lng停留聚类的质心经度geohashPOI的地理哈希位置devicetype设备的操作系统IDFA或GAIDtimestamp停留开始时间dwelltime停留时长以秒为单位ipIP地址alt设备的海拔以米为单位country国家二位ISO代码state代表州的代码city代表城市的代码zipcode设备ID出现地点的邮政编码carrier设备运营商devicemanufacturer设备制造商

停留点通过聚类设备信号而得。密度密度聚类结合了停留阈值为300秒和停留点之间最小间距为50米等参数。这些参数可以根据您的用例进行调整。

以下屏幕截图显示了从400000个信号中识别出的15000个停留点。在前述架构中也有相关列的样本,其中Dwell Time列表示停留持续时间,而Lat与Lng列表示每个设备每个位置停留聚类的质心纬度与经度。

处理ETL后,数据以Parquet文件格式存储,这是一种专为大规模数据处理设计的列存储格式。

![](https//d2908q01vomqb2