跳转到主要内容

物联网——分析:使用英特尔物联网分析网站进行数据挖掘

editor 提交于

<br>作者:Ben Lieberman 博士</br>

互连物理设备为企业与个人带来了全新的机遇,能够帮助他们加强对环境的控制。 现在,只需要一部智能手机,我们就可远程控制家庭、汽车和工作场所。 借助这种高度的连接性,我们可以收集这些设备的海量数据,更加具体而言,设备的嵌入式传感器所提供的信息。 这些针对温度、加速度和位置等方面的传感器可提供稳定的数据流,但如果没有一套功能强大的分析方法,这些数据所发挥的效用将会非常有限。 本文及其姊妹篇将介绍英特尔® 物联网 (IoT) 分析仪表盘,并展示如何使用该站点从大量遍布各地的设备传感器汇集、整理和简化大规模数据挖掘。

<strong>简介</strong>

互连设备的功能一直呈指数级增加。 移动设备、无处不在的网络连接以及功能强大的 经济型应用层出不穷,为人们实现互联创造了无尽的可能,并带来了许多前所未有的新方法。 十年前,谁能预料到社交媒体如此迅猛发展? 同样,我们现在所处的社会,连接费用已大幅降低、无线通信随处可用,各种机器设备之间也可直接通信。 这是一个物联网的世界。

收集与分析遍布各地的设备传感器数据成为了物联网发展过程中的一个显著增长点。 设想一下,道路中内置温度传感器的数据收集。 这些传感器均通过有线或无线连接至当地的收集点,以供数据流的收集、预处理和汇总。 随后稳定的信息流将传给道路管理人员 ,他们负责决定何时何地部署开路、道路整理、封闭施工以及临时绕行。 现在,想象一 下如何使用这些数据(以及在过去几年收集的大量历史数据),以建立关于路面温度如何 随当地条件上下波动的预测模型。 可能有一座桥比其他桥更容易结冰;关于这种情况的 告警有利于及时采取适当的处理措施,从而降低桥上发生交通事故的风险。

英特尔® Galileo 和 Edison 开发板经过专门设计与构建,可为公众提供这类传感器 数据收集功能。 各种传感器可将数据报告给物联网集成开发板,开发板负责对数据进行 暂时收集和预处理,以便数据进入下一步分析阶段。 英特尔创建了物联网分析网站 (IoT Analytics),可连接由英特尔 Galileo 和 Edison 驱动的传感器网络,并汇总海量时间 序列数据,以作进一步分析。

<strong>传感器类型和应用</strong>

目前,各种小型、经济、功能强大的环境传感器均可连接和集成至几乎其他所有设备 (见表 1)。 这些传感器能够以规定的频率(比如几秒)和精确度传输测量值。 这种数 据生成由固定时间点和各时间点的具体值所组成的时间序列。 以内置于矿工徽 章中,正处于传输状态的无线射频识别 (RFID) 芯片为例。 该芯片可传输工人的连续作 业时间与位置数据流,以便矿山安全管理人员知晓该工人的确切位置。 发生矿难时,及时的响应对于生命救援至为关键,此时这类数据会发挥非常显著的价值。

表 1. 传感器类型和示例

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001643-4052-1-1.jp…; alt=""></center>

<br>传感器经过构建,既可通过某种物理连接(比如 RS232 串口)传输测量值,也可使用某种方法(比如蓝牙* 连接)无线传输测量值。 唯一的要求在于,传感器需针对物理环 境(温度、冲击,压力等)设计,而且连接必须相对安全。</br>

<strong>数据收集与传输</strong>

传感器数据如果不收集或传输至数据查看与分析点,将不会产生任何效用。 这就是英特尔 Galileo 和 Edison 开发板(图 1)以及物联网分析网站的目的所在。 这些开发板 可通过有线(Arduino 连接)或无线(蓝牙)的方式连接至各种输入端,仅受物理端口数 量的限制。 多个开发板可同时实现互连,以汇集分布式传感器端点网络的传感器数据。

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001643-4053-2-1.pn…; alt=""></center>

<center><i>图 1. 英特尔® Edison 传感器数据集成板</i></center>

<br>传感器数据流可直接转发至物联网分析站点,或者先由开发板直接进行预处理(以消除伪测量值或空白),然后重新传输至物联网分析站点。 如欲了解更多信息,请查看英特尔 Edison 开发板汇总(前往“更多信息”部分,访问相关链 接)。</br>

<strong>处理与存储</strong>

收集和预处理过的传感器数据流可被二级处理点直接收集,比如物联网分析站点(图 2)。 物联网分析站点可提供场所(前往“更多信息”部分, 访问关于安装说明的链接,并了解更多信息)和一套工具进行传感器时间序列数据的收集 、可视化、处理和告警。 用户仪表盘将显示设备的当前收集状态、过去几小时所进行的 观察(测量),并连续显示所有触发过的用户配置的告警。

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001643-4054-3-1.pn…; alt=""></center>

<center><i>图 2. 英特尔 ® 物联网分析仪表盘</i></center>

<br>本文的姊妹篇使用物联网分析网站服务应用编程接口 (API) ,介绍如何访问已收集的数据以进行数据挖掘与分析。 文章所列举的示例包括说明如何在物联网分析站点直接分 析收集的数据的示例应用。</br>

<strong>时间序列的特质</strong>

如前所述,所有传感器数据均包含各具体时间点的测量值。 这种时间序列集所具备的各种特质使得这些数据的分析完全不同于其他类型的分析,比如金融或产品营销:

<li>固定收集间隔(时间性)。 在规定的固定时间点收集测量值,比如几秒、几分,几天。</li>

<li>连续数据值(空间性)。 一个接一个以连续的方式收集测量值;特定时间序列集中的测量值数量规定数据流的“维度”。</li>

<li>保真度(精确度)。 传感器数值将报告给明确的测量值 精确度(即仪表误差)。 请注意,分析值的精确度不会超过原始测量值的精确度 -- 例 如,如果测量值为 0.35,分析值的显着性将不会超过两个小数位。</li>

<li>范围(幅度)。 传感器数值的预期范围由物理传感器自身设定的限值决定(比如,温度传感器的范围为 −20 - 120℃)。</li>

时间序列数据集的各要素通常包括一个时间-值对,比如 (t)(时间)= 0.55 秒或 (v)(值)= 40.5 C。如果传感器数据流的周期为 0.05 秒,那么下一个测量值将为 t= 0.60 秒,然后接下来是 t= 0.65 秒,依此类推。这种集合可通 过二维图展现:时间为纵坐标T(x 轴),报告的值为横坐标(y 轴 )。 图 3 所示为使用物联网分析站点的示例图。

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001643-4055-4-1.pn…; alt=""></center>

<center><i>图 3. 样本时间序列 一氧化碳传感器图</i></center>

<br>如图所示,物联网分析站点能够以各种格式绘制时间序列数据,包括以时间周期(分 、小时、天、周、月、年)汇总为线绘图或区域图,还具备“放大”某个具体 时间集的功能,从而更加细致地观察底层数据。</br>

<strong>分析与建模</strong>

时间序列分析科学有着悠久的历史。 人们开发了许多处理原始数据(用时间点和数值 表示)的方法,本文无法一一介绍。 如欲了解有关数据处理技术的最新综述,请访问 “更多信息”部分提供的链接,参阅 T-C Fu 撰写的文章。 无论采用哪种分 析方法,所有时间序列数据挖掘方法都具备一些通用的特性。

原始时间序列数据的用处非常有限,比如目测检查,无法进行下一步分析与建模。 尽管最近可根据最高限值设置警告(即一西格玛方差统计),但有一种更为完善的方法来挖掘用于预测模型的数据。 在图 3 的示例中,设想 CO2 汽车尾气传感器通过 规定的时间周期以特定的频率报告测量值。 如果这是可收集多个传感器数据(比如引擎 温度和油耗)的大型数据集的一部分,你可以通过对比两图之间的差异寻找规律,以预测 未来的汽车保养情况。

无论使用哪种方法开发分析模型,原始数据必须首先调整或缩小为可处理格式。 人们已开发出多种时间序列数据操作方法,但最常用的方法是 Z-Normalization。 该方法可将时间序列的原始值转化为包含中值(平均值) 0 和标准方差 1.0 的数值。 这种转化可支持你直接对比两个时间序列数据集,从而显著简化运算的复杂性。 但是这 种转化存在局限性:数据点必须呈正态分布,即特定范围内的期望值呈标准的“钟 形曲线”分布。 大多数传感器的取样数据都能够以这种曲线分布,因此这种方法比 较通用。

基于“标准”(标称控制)系统行为的预测模型通常要求检测异常系统行为。 创建这种模型的方法有多种:使用既定的测量基准(监督)、采用期望系 统行为的数学或工程预测(半监督),或仅对比不同时间的传感器数据点( 无监督)。 如果采用最后一种方法,可以使用滑动窗口对比两个时间周期,以查找非期望值(请参阅“更多信息”)。

如需创建这些模型,你可以根据从传感器收集的数据流采用相应的算法或方法。 常用方法包括傅立叶变换(将时间序列值变换成发生频率)、动态时间规整(在不考虑测量时 间的情况下调整时间序列数据集),和小波变换(将时间序列数据分成不断变小的分段) 。 一种名为 Symbolic ApproXimation (SAX) 的新方法可使用创新技术将时间 序列数据变换成定义符号集,比如字母表中的字母。这种方法允许使用不同的模式匹配算 法,包括用于 DNA、RNA 和蛋白质的生物分子序列分析的算法(以生物信息学为例)。

选定分析方法后,下一步是如何检测异常。 过去,可通过识别异常值(称为统计检测 )或计算“标称”数据曲线与测量序列的差额来完成异常检测。 这就是 距离测量,通常采用连续时间点的欧几里德或方差进行计算。 汇集这类数值可定量 表示两条曲线之间的差异。 如果标称与测量时间序列之间的差异超过一定的量,将标记 该时间序列以作进一步调查。 此外,用于生物信息学研究的模式匹配(和计分)算法可 也用于定量评估两个(或多个)时间序列。

<strong>演示</strong>

本文最后一部分将探讨如何通知相关方时间序列中所检测到的异常。 物联网分析站点可提供简单但功能强大的告警机制,该机制基于一套规则。 如图 4 所示,你可以针对适 用于不同设备的传感器定义一组具体规则。 执行规则的条件可针对常见的情形进行评估 :

<li>基本条件。 传感器数值超出或低于设定的限值。</li>

<li>基于时间的条件。 传感器数值超出或低于规定时间周期 的限值。</li>

<li>统计方差条件。 传感器方差(通过西格玛的统计值所测 量)超过 2 或 3。</li>

<li>传感器变化检测(单个或多个)。 一台或多台传感器检 测某种条件(比如激活/钝化事件)下的变化。</li>

<center><img src="http://intel.eetrend.com/files/2016-05/wen_zhang_/100001643-4056-5-1.pn…; alt=""></center>

<center><i>图 4. 英特尔® 物联网分析异常告警规则</i></center>

<br>通过发送电子邮件(使用帐号创建期间所注册的邮箱地址),或向特定地址发布 HTTP 信息,可向注册用户通知有关规则激活的信息。</br>

这些功能足以满足大多数传感器分析要求。但下一篇文章将表明,如果要求进行更为 深入的分析,可使用物联网分析网站服务器 API 检索传感器数据集,并执行其他数据挖掘操作。

<strong>结论</strong>

价格经济、敏感性出色的传感器不断激增,以及网络连接的日益普及为开发新的日常 设备评估与控制方法奠定了坚实的基础。 通过汇集传感器测量值并采用一台简单的分析 规则,我们可以在出现潜在设备故障的情况下主动采取措施,或更加快速地响应不断变化 的环境状况。 而且,通过使用中心聚合站点(比如英特尔物联网分析站点),传感器数 据可由更先进的数据挖掘方法进行处理,从而有助于创建和使用预测行为模型。

<strong>更多信息</strong>

英特尔 Edison 开发板汇总, http://www.intel.com/content/www/us/en/do-it- yourself/edison.html。

英特尔物联网 (IoT) 分析安装说明,https://software.intel.com/zh-cn/intel-iot-platforms- getting-started-cloud-analytics。

英特尔物联网 (IoT) 分析指南, https://software.intel.com/zh-cn/intel-iot-developer- kit-cloud-based-analytics-user-guide。

文章来源:<a href="https://software.intel.com/zh-cn/articles/the-internet-of-things-analyt…;
英特尔开发人员专区