基于KNN模型优化的家居电器负荷识别方法应用研究

2022-03-01 01:21辉,张
池州学院学报 2022年6期
关键词:用电器准确率功率

张 辉,张 慧

(安徽师范大学皖江学院 电子工程系,安徽 芜湖 241000)

目前,居民家中多装有采集电功率和电压的传感器,但只能监测用户电力能耗,在整体的管理和分类上具有准确性差、智能化程度低、系统化管理难等缺点[1]。因此,需要设计一款家用电器节能监测系统,在达到基本的电能监测的同时,还能准确地对用电器进行种类识别,长时间工作下进行节能提醒,便于用户调整和管理,避免电能的过多消耗。

本系统的设计针对居民用电的问题,不但可以在不影响原始电路和居民住宅结构的情况下监测户内电力能耗情况,还可以精准判定用电器类型,提醒用户节能用电。系统整体结构精简安全,易于移植,便于配置和使用,适合推广到居民日常生活中使用。

1 相关概念及系统设计

目前对电器的用电量监测一般有以下两种方案:第一种是基于无线传输系统的电网检测,但考虑到成本问题,并不适合投入到日常生活中。第二种就是采用PLC电力线通信,这种方法不仅成本低且传输数据快。由于电力网大多由非屏蔽线构成,在数据传输的同时也会带来电磁辐射,因此,家用电器也会产生电磁波干扰正常通信,造成很多人为无法预判的错误[2]。

国内近几年多采用非侵入式电力负荷监测。即在电力接口处安装检测设备,来获取相应的电器特征量,从而知道电力系统内部运转情况,而无需接入电力系统内部获取参量。这种方式下,既可以维护居民的隐私权,也可以减少在检测设备上花费大量金钱。目前家用典型负荷特征分析和分类问题,多采用决策树算法对其进行分析,对单一功率因数数据进行了验证,但决策树在训练数据中存在噪音数据干扰,容易导致过拟合[3]。

本系统的结构设计包含两个部分,用电器节能监控硬件模块和用电器节能预警软件模块。监控模块实现对用电器总体运行状态(电压、电流、功率、功率因数等)的监测采集,并将数据通过串口发送给预警模块。预警模块在收到数据后进行分析判断、类型识别和事件预警,并将数据显示在设备上。以提醒用户及时关闭无需工作的电器,避免用电事故和资源浪费等情况的发生,系统基本结构如图1所示。

图1 系统基本结构图

2 用电器节能监控硬件模块

2.1 设计概述

用电器节能监控模块以STM32F103ZET6作为主控模块,其它结构由数据采集装置、WIFI模块和TFT彩屏显示模块构成。设备系统结构如图2所示。主控模块作为本设计的控制中心,利用互感装置把大电压、大电流转化成小电压、小电流传送到数据采集模块,再由数据采集模块实时测量电压、电流、功率等参数,并对信息进行数据转换再传输到控制中心,最后由控制中心通过串口与PC端进行数据交换,接收数据结果,并在TFT彩屏实时显示。

图2 用电器节能监控模块结构框图

2.2 硬件选择

2.2.1 数据采集装置 区分用电器类型的关键在于对用电器的各项参数的处理,捕捉到每项参数,并识别到特征数据,将使分类工作事半功倍。家电电压参数并无较大不同,皆为市电,因此该特征参量不具有标志性[4]。电流对于不同用电器可以作为一个很好的区分点,用电器的工作状态直接可以从电流中看出来,能很好的区分出大小功率用电器。而功率因素则是将感性负载和阻性负载区分的关键值。居民生活中最常用的LED灯泡、充电器、风扇等属于感性负载,其功率因数多在0.4到0.9之间,并不会趋近1。而阻性负载多为发热型电器,如电磁炉、水壶等,其功率因数一般趋近甚至等于1。因此功率因数是区分这两类用电器的关键。因此为实时精准测量有功功率、交流电流、电压、累计电量、频率、功率因素等参数,该装置采用ADS118模数转换器和电能采集模块组合使用。SUI-101A装置接线图如图3所示。产品采用全隔离采集方案,来达到高低压完全隔离的效果。具有极强的稳定性和安全性。因此采用该模块作为该模块的数据采集装置一部分。

图3 SUI-101A接线示意图

ADS118是一个具有高精度、低功耗特点的16位模数转换器,它与可编程增益放大器、振荡器、高精度温度传感器和电压基准集成于一体。这些功能以及它较宽的电源电压范围(2v-5.5v),使其适合受有限空间影响的传感器,因此作为数据采集装置。装置原理图如图4所示。

图4 ADS118原理图

SUI-101A和ADS118协同对电压电流进行转换,主控模块通过串行协议同SUI-101A电能计量模块进行通讯,同时主控模块与TFT彩屏连接,可以在彩屏上实时显示各类电参数。

2.2.2 主控模块 为对数据采集装置的数据实现高效处理,同时又易于开发,该装置的主控模块选用了STM32F103ZET6。STM32F1系列外设资源丰富,而且还能在低功耗、低压的状况下保持着高性能,使用成本较低,结构精简可靠,开发环境高度集成。

该模块将数据采集装置传输的数据通过串口交由PC端处理,并将返回的结果展示到TFT彩屏和移动端。

2.2.3 串口调试模块 为方便参数的查看,并对设备进行调试。主控模块和外设模块都集成有USART接口。由于SUI-101通信接口采用3.3VTTL异步串行接口,同时兼容5V的TTL接口,可以直接和主控模块交换数据。

2.2.4 TFT彩屏显示 显示模块采用7寸RGB屏幕。该装置将存储的内容展示到LCD面板上,屏幕显示模式的设置则可以通过直接控制驱动IC,发送相对应的操作命令,再由收到的指令去对屏幕显示模式进行更改,图5为基本驱动流程。

图5 LCD驱动流程

2.2.5 WIFI通信模块 WIFI通信模块承担着主控模块和移动端通信的职责,二者的数据交换由WIFI模块来完成。为了保证在连接断开后不仅能够恢复连接,还能够在无人为操作的情况下匹配到上一次连接过的热点,最终选用了ESP8266芯片。

2.2.6 通信协议——MODBUS 数据采集装置和主控模块间采用MODBUS传输协议。用户可以自主选择对应合适的模式,也可以设置串口通信的参数。同时,为了让通信能够不受干扰,在控制器的配置上,需要保证该网络协议上全部装置的串口参数设置和传输方式都需要一致。

3 用电器节能预警软件模块

3.1 设计概述

该部分主要功能是接收用电器监控模块发来的数据,随后通过KNN算法对用电器进行分析判断、类型识别和事件预警功能,将所得结果通过WIFI传回监控设备,同时上传到移动端以提醒用户及时关闭无需工作的电器。

3.2 KNN

实例数据对每个数据的类别设置对应的标签,当用户输入不曾设置标签的新数据时,它会对输入的新数据中的特征和实例数据集中的已有实例进行比对,通过算法获得和实例数据集中的数据最接近的那个标签。在数据选择上,我们选择和实例数据集中最相似的K个值(K不大于20),再根据多数表决原则,用户输入数据所对应的类别就是在K个数据中频次最高的那个类别[5]。

KNN算法的关键是以用户输入数据和实例数据间的距离,作为各个对象之间的非相似性指标[6]。在KNN算法中距离一般使用欧氏距离(1):

3.3 识别系统构建

在该阶段主要任务是完成对在用电器的判别和分类,同时将结果返回给控制中心,由控制中心再判别是否发出节能警告。接下来将介绍识别系统的构建流程:

(1)训练数据集。从电能监测模块得到了电压、电流、功率等参数,整理出了每个数据和所属分类的对应关系,表1是数据集(部分)。

表1 数据集(部分)

(2)根据计算公式计算特征量与训练数据之间的欧式距离;

(3)对样本和输入数据的距离关系进行排序,获得距离最小的K个样本标签;

(4)确定前K个样本用电器类别的出现频率;

(5)返回前K个样本中频率出现最高次的类别作为用电器种类的预测分类。

根据如下所示的多数投票的原理决定用电器x 所属的类别 y(2),式(3)中 I为指示函数:

(6)测试分类器的正确率。在数据选择上,为了实现随机性,需要选择20%数据作为验证集。

4 装置测试与分析

4.1 初步测试

通过组合不同种类型电器,进行分类实验。用电器工作参量可视化如图6、图7、图8所示。在经过大量实验和数据记录下,验证了该设备已经有较高的分类准确率。在单个用电器的识别上,无论是大功率电磁炉,还是小功率灯泡,准确率较高。对大功率组合用电器分类准确率可达91%。但对于大功率组合小功率用电器,如电磁分类正确率能达到86%。

图6 用电器功率(W)对照图

图7 用电器功率因素(10^-3)对照图

图8 用电器电流(mA)对照图

由初步的结果可以看出,模型得出的结果不够理想,为此我们需要对模型进行优化,以获得更高的识别准确度。

4.2 模型优化与对比实验

方法一:模型调参

在KNN模型中有很多的参数,由于在之前的模型中使用默认参数,导致得到的结果不能达到最理想化程度,所以需要对模型进行调参。在KNN算法中有几个较为重要的参数,分别是algorithm、neighbors、weights、P[7]。

参数的选择对获取一个好的模型起着关键作用。algorithm就是选取适当的参数去搜索最邻近的K个点,在建立KNN模型的时候,通常供选择的有三种方法:brute(暴力搜索)、kd_tree(KD树)和ball_tree(球树)。为了使用户快速高效地选取出最合适的参数,系统一般会自动选择三种里速度最快的。Neighbors决定了要选择最近多少点。距离权重weights按是否考虑距离权重,分成两类,uniform和distance。P值是明可斯基距离(4)的参数,采用的是欧拉距离,即P=2时的明可斯基距离。

添加参数后,为快速获得最优参数组合,它将各项参数依次匹配,放在模型中运行,依次循环直到完成所有的参数组合,最终返回最优解。表2为参数改进前后用电器分类情况(部分)。

表2 参数改进前后用电器分类情况(部分)

方法二:数据归一化

由于KNN模型就是依靠样本点之间的距离来分类的,所以距离对模型的分类效果很重要。过大的数字差值,将会对计算结果造成很大影响。即在用电器属性中电流的影响将远超于其他特征量对结果的影响。而造成这种现象的原因就是电流值差值远超其他特征量。作为四个等权重的特征量之一,为减小电流对计算结果的严重影响。可以采取将数值归一化的办法,即将电流数值的取值范围设定在0到1或者-1到1之间。可以将任意取值范围的电流值变化为0到1范围内的值:

公式中min和max指的是数据集中最小特征值和最大特征值。尽管改变特征量的取值范围可能会增加分类器的复杂程度,但为了使得结果更加贴近实际情况,避免干扰因素,最终采取了此方法。表3为进行数据归一化前后用电器分类情况(部分)。

表3 数据归一化前后用电器分类情况(部分)

方法三:K—CV折叠交叉验证

仅对参数进行设置和对某些属性采取数据归一化,可以得到较好的准确率,但不能保证有一个好的测试率[8]。常用的方法是使用交叉验证模型好坏。改进前的模型采用了交叉验证,但该方法得到的验证结果的准确率和原数据的分组密切相关,即由于训练集样本不够,无法代表全体样本分布特性,因此得到的结果及准确率不具有可信度。因此采用K折叠交叉验证法来评估模型的实际情况。

通过多次对参数调整和模型评估,得到了最佳模型,表4是模型改进前后用电器分类准确率(部分)。

表4 模型改进前后用电器分类准确率(部分)

4.3 装置测试与结果分析

在对参数设置最佳值的同时将电流数值归一化,经过K-CV折叠交叉验证法建立了最优模型,再对分类结果进行验证。在单个用电器的识别上,无论是小功率电器,还是大功率电器,平均准确率可达96.4%。对于大功率组合小功率用电器,如电磁炉组合小灯泡类型,算法改进后分类正确率也得到较高改善,能达到95.6%的准确率。对大功率组合类用电器分类准确率可达97.3%。用电器平均准确率在改进模型后达到96.4%。表5是模型改进前后平均准确率对比。

表5 模型改进前后平均准确率

5 结语

该系统主要由用电器数据采集硬件模块和用电器数据解析软件模块组成,所采用的硬件平台性能优异、稳定性高。软件部分复杂度低、准确度高,且便于安装和操作。无论是对单个用电器,还是多种组合类用电器,都有很高的分类准确率。实验结果证明,该系统针对各类用电器的平均分类准确率能达到96.4%以上。

猜你喜欢
用电器准确率功率
『功率』知识巩固
功与功率辨
追本溯源识功率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
带你学习欧姆定律
例析电路中不同用电器的最大功率
做功有快慢功率来表现
高速公路车牌识别标识站准确率验证法