山东电力工程咨询院有限公司 山东省济南市 250013
摘要:综合能源用户画像服务作为多个平台的重要数据接口支撑,主要是实时综合收集繁杂的海量综合能源用户相关信息,应用数据挖掘技术对这些海量数字信息进行清洗、聚类、分析、预测,逐步抽象数据形成标签,运用这些标签将用户形象具体化以形成用户画像,最终将结果以消息订阅的方式反馈至各个平台。
关键词:用户画像;综合能源;Flink;标签
国内综合能源供给侧结构性改革的不断推进,有效促进了综合能源的消纳利用,并为构建多元融合、供需互动和高效配置的能源生产和消费模式提供了强劲动力。随着行业技术的不断进步,不同能源品种之间的行政壁垒和技术壁垒逐渐被打破,各类能源之间的协调互补能力增强,未来综合能源利用体系将逐步演化为以用户为中心的综合能源系统,以满足新型能源市场和交易机制的革新以及市场各方主体共同的利益诉求。
综合能源服务平台以“电-热-冷-气-水-热水”能源服务生产方、供应方全产业链资源为主,深度融合能源流和信息流,将源-网-荷-储各类实体与咨询、代维、监测、分析等服务进行多种形式的业务组合,弹性匹配各级综合能源公司、能源服务商和用能客户之间的服务需求[1]。以数据价值应用和能效分析服务为核心,为客户提供精益化、专业化、定制化的综合能源增值服务。随着综合能源服务商的多元化发展,其想要在综合能源市场中占有一席之地,必须在满足用能用户的个性化需求的同时,实现自身利益的最大化。对用户用能行为的分析和理解,成为综合能源服务商适应用户用能需求增长和用能方式多元化趋势的重要途径,同时也为用户制定个性化用能方案提供必要手段[2]。因此,深入分析用户侧用能行为就显得十分迫切。相比于一般的用户行为分析方法,用户画像分析方法更加完善、更具系统性,能更好地满足能源服务商和能源消费用户的需求。
本文的研究目标是基于综合能源服务平台能源消费用户画像服务的构建,主要是基于流式处理技术,实时综合收集繁杂的海量综合能源消费用户信息,应用数据挖掘技术对这些海量数字信息进行清洗、聚类、分析,逐步抽象数据形成标签,运用这些标签将用户形象具体化以形成用户画像。通过用户画像为能源服务商提供充足且丰富的信息基础,帮助企业快速找到更全面的反馈信息、以及准确的用户群和用户需求,从而为能源消费用户提供有针对性的服务,让用户更容易接受“为能源服务买单”的行为。
能源消费用户的用能模式趋于多样化,负荷划分更加精细。用户对能源的个性化服务模式需求越来越高,迫切需要服务商打破原有的买卖模式。因此,能源服务商需要从能源生成、消费和交易的各个环节入手,充分利用各环节产生的海量数据,对其进行多维分析,挖掘数据价值,为用户量身定制增值服务,以满足各类用户的差异化需求。这对提升服务商自身水平,以及服务社会发展都具有重要意义。
(1)节能减排、经济用能
通过提升用户用能管理服务能力,建立典型用户用能设备能耗监测、分析模型,为用户提供不同用能范畴(用能设备、单元及整体)的能效分析服务,让用户通过综合能源服务,达到节能减排、经济用能的目的。
(2)精准营销
综合能源服务的最终目标是协助能源服务商去精准营销能源消费用户,用能服务平台需要依托用户画像服务构建消费客户及能源套餐产品分析体系,提升客户的推荐精度,并将结果传输至用能服务平台其他系统[3]。因此,需要设计一套可用的标签体系,用于反映客户的重要信息,表达重要的业务内涵。用户画像需要协助平台进行精准营销构建,有效应对哪些用户可提升为更高价值,哪些用户可在哪些时间段进行销售,用户离开的原因分析等等。同时提升能源套餐的转化效率,实现更加理想的购买率,以及对休眠客户的重启,有助于控制整体的用户流失率。
构建用户画像需要完整的数据作为基础,通过信息节点的传递、接收、处理和融合,完成数据的高效整合工作。因此,需要将综合能源服务相关平台,以及智能家居、智慧楼宇和智慧园区等多个平台数据实现有效的整合,实现对用户用能情况的全面感知,形成具有更高价值的用户画像标签体系。
(1)智能终端监测数据,主要是指各类能源使用情况的传感器采集数据,包括用户在某时刻的能源使用情况、各类设备运行状态的监测数据等。
(2)用户消费记录,主要是指用户的充值记录、消费记录、套餐购买记录和账户余额等,包括交易时间、支付方式和交易量等。
(3)供能侧设备监测数据,主要是指各类能源设备运行监测数据,包括风、光、储等设备单元、冷热电联供分布式能源设备、能源管控系统调度数据、能源管控系统峰平谷3时段运行数据和系统检修巡视记录等。
(4)用户侧设备参数数据,主要包括智能家居、智慧楼宇和智慧园区等相关用能设备的参数值,包括额定功率、运行时间、频率、最大值和最小值等数据
[4]。
(5)能源消费客户服务数据,主要是指能源营销数据,包括用能协议、客户信用评价、客户满意度调查、客户维修申请记录、客户违约记录和客户财务记录等数据。
(6)气象参数数据,主要是指当地天气的实时记录和天气预报信息,包括记录时间内的室内外温湿度、室内外光照强度、风向、风速、降水量、大气压等气象信息。
(7)其他社会数据,主要包括是否工作日、是否节假日、是否双休日、当地或企业的风俗习惯,以及涉及用户用能关注焦点相关的数据。
(1)构建动态方式的标签管理体系,标签体系应具有一定的开放性和扩展性,便于在指标设计中拟定更加合理的标签;
(2)构建实时流式数据处理的用户分析模型,实现用户特征到达、处理和输出的有效认知;
(3)构建数据挖掘模块,编写机器学习模型,采用聚类分析等不同的算法对标签进行建模,满足对数据准备、处理、构建和评估等需求,实现对各类业务模块的准确支撑;
(4)构建接口服务,用户画像服务应为综合能源平台各系统及模块提供标准、统一的数据服务接口。
综合能源用户画像服务从上到下分为四层架构,分别为数据源、实时数据仓库、数据挖掘和应用服务,如图1所示。
图1 综合能源用户画像服务整体架构
综合能源用户画像服务以JAVA语言进行编写,系统整体采用Spring Boot框架;MQTT服务器采用分布式流媒体平台Kafka进行搭建;数据处理框架采用Flink;算法模型采用python语言编写,算法模型采用scikit-learn开源机器学习工具包;由于目前涉及数据均为结构化数据,数据存储采用InfluxDB时序数据库。
用户画像主要依靠庞大的用户行为数据,而用户画像服务需要从业务视角来规划设计标签体系。因此,以用户的唯一标识作为主键,贯通从各个平台实时采集的多源数据,是构建用户画像的首要工作。用能服务平台用户画像服务目前采用的数据均为结构化数据,数据来源主要包括Modus协议数据、MQTT协议数据和接口服务数据。
(1)Modus协议数据。Modus协议作为一种能够有效控制实施网络和分布式系统的现场总线技术,以其运行稳定且实时性好等优点被越来越多的应用于工业系统中。智能终端普遍采用Modus RTU通信协议传输数据,Modus RTU通信协议中信息为每8位字节分成两个4位16进制的字符[5]。
(2)MQTT协议数据。智慧楼宇、智慧园区等平台都具备MQTT服务器,MQTT协议需要借助TCP/IP协议进行传输,其格式如下:
[ Fixed Header | Variable Header | Payload]
Fixed Header:固定头部,MQTT协议分很多种类型,如连接,发布,订阅,心跳等。其中固定头是必须的,所有类型的MQTT协议中,都必须包含固定头。
Variable Header:可变头部,可变头部不是可选的意思,而是指这部分在有些协议类型中存在,在有些协议中不存在。
Payload:消息载体,就是消息内容。与可变头一样,在有些协议类型中有消息内容,有些协议类型中没有消息内容。
(3)接口服务数据。从关系数据库中获取数据均采用Web Service技术,数据格式为JSON格式。
系统基于Flink流式计算框架和时序数据库InfluxDB,搭建实时数据仓库。
(1)数据整合
用户画像服务数据接入MQTT协议服务器,采用高吞吐量的分布式发布订阅消息系统 Kafka技术接收实时数据。Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统,具有高吞吐量、低延迟、高容错性和高并发等特点,每秒可以处理几十万条消息,最低延迟可达到几毫秒[6]。
(2)数据清洗
由于数据来源于多个系统平台、每个系统平台都会存在数据字段定义的差异,为确保后续模型的高质量,需要对接收的数据进行数据清洗工作。
1)缺失值线性拟合。平台相关各系统均存在缺失值的情况,因此在开展入库操作前,需要对缺失值开展处理工作,对于缺失值范围较小的情况,可采用线性拟合的方式补充缺失数据,若缺失值的范围与比例相对较高,则进行数据消除出力[7]。
2)统一格式。因为系统有所差异,同纬度的数据在多个系统有不同的数据类型和数据字典解释,需要进行统一格式处理。
3)合理性判断。消除数据中不合理的部分。
4)关联性验证。相同id相同属性下,不同信息的数据,需要对该数据进行辨别,若是存在信息冲突,则需要进行判断和调整。
(3)数据存储
本系统采用开源的InfluxDB为数据存储引擎,它是一个没有外部依赖的时间序列数据库,适用于记录度量、事件及执行分析,其内置 HTTP API,方便存储和检索,数据可以被标记,允许非常灵活的查询。
针对Modus协议数据和MQTT协议数据中时间标签的唯一性,采用时序数据库具备无可比拟的技术优势,其能存储高频变化的海量数据,同时还能实现对海量数据的快速访问[8]。
用户在行为过程中,会产生不断变化的数据,这些数据需要通过数据分析和数据挖掘进行提取,结合用户的属性数据,可以构建一个相对立体、精准的用户画像数据标签。
根据用户画像标签的算法不同,可将标签数据分为原始标签、属性标签、聚类标签和预测标签四种类型,根据标签的类型不同,采用不同的数据挖掘算法。本系统数据挖掘处理框架采用Flink计算框架,算法模型采用python语言调用scikit-learn开源机器学习工具包进行开发。
(1)属性标签
属性标签主要是与用户相关的原始数据,包括用户基本信息、用能模式、购买套餐、用户账户信息、用户资金情况信息、设备终端设计信息等。属性标签可从InfluxDB时序数据库中直接提取数据。
(2)统计标签
统计标签是指实时获取历史统计数据,包括账户金额历史趋势、能源消耗历史趋势、资金往来趋势、套餐购买记录、设备维修记录、用户投诉和评价历史记录等。由于系统采用Flink流式计算框架,可进行简单的统计和查询,并实时输出结果。
(3)分组标签
分组标签是根据用户不同属性对用户进行分类,此类标签在时序数据库中没有相对应的数据,需要根据业务系统提出的标签规则定义,建立聚类分析模型,通过模型提取特征偏好,对用户特征和用户行为进行标签化。
(4)预测标签
预测标签是参考已有的事实数据,对用户的行为或者偏好进行预测而得出的标签信息。通过对用户特征和用户行为进行分析,预测群体用户的忠诚度、流失度等,并探索用户的潜在需求。
用户画像服务作为平台级应用服务,可向综合能源服务相关平台、智能家居、智慧楼宇、智慧园区等平台推送信息。用户画像可以定性和定量地描述用户,通过对用户性质的抽象和概括,对用户数据的统计分析与计算,实现对核心用户价值的挖掘。各类业务系统对于标签或者画像的投入应用能够产生很大的业务价值。
用户画像服务提供三种服务模式,分别是:
(1)MQTT协议的消息传输。MQTT协议主要应用于物联网,智能终端设备中的智能控制器可通过MQTT服务器发布和订阅消息。
(2)WebSocket协议传输。市面各类业务系统的PC端和移动端主要是基于Html5进行研发,主要是浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器通过 TCP 连接直接交换数据。WebSocket是为了HTML5应用方便与服务器双向通讯而设计的协议,一旦连接建立,通过监听事件可以处理到来的数据和改变的连接状态,数据都以帧序列的形式传输,服务端发送数据后,消息和事件会异步到达,大大降低了客户端的资源消耗。同样WebSocket在数据传输的稳定性和数据传输量的大小方面,具有很大的性能优势。
(3)Webservice接口服务。基于微服务架构,建立标准的Webservice服务,用于沟通不同平台、编程语言和组件模型中的不同类型系统,接口统一采用Restful API设计原则,输出格式为JSON格式。
随着大数据处理技术和数据挖掘分析算法的不断发展,用户信息的多维度数据分析是互联网平台的首要任务。本文提出了构建综合能源用户实时画像服务的通用技术架构,通过实时采集用户多源数据,以及多维度用户行为分析,对用户数据进行挖掘分析,建立机器学习模型,从而为实现综合能源服务领域的定位精准化,提供一个系统性、框架性的思维指导。
[1] 张国荣,陈夏冉. 能源互联网未来发展综述[J]. 电力自动化设备,2017,37(1):1-7.
[2] 能源互联网研究课题组. 能源互联网发展研究[M]. 北京:清华大学出版社,2017.
[3] SHRIPARV S. Learning HBase[M]. 周彦伟,娄帅,蒲聪,译.北京:电子工业出版社,2015:1-10.
[4]余海峰.深入理解 Flink 实时大数据处理实践[M].北京:电子工业出版社,2019:1-47.
[5] 朱进云,陈坚,王德政.大数据架构师指南[M].北京:清华大学出版社,2016:107-160.
[6] 黄立威,江碧涛,吕守业,等.基于深度学习的推荐系统研究综述[J].计算机学报,2018,41(7):1619-1647.
[7] Saxena K. Efficient Mining of Weighted Temporal Association Rules[J]. World Congress on Computer Science and Information Engineering, 2014.421-425.
[8] Yun U, Leggett J J.WIP: Mining weighted interesting patterns with a strong weight and/or support affinity [J]. Information Sciences, 2013, 177(17) , 3477-3499.
4