基于协同过滤推荐的电价计划智能推荐算法

2021-12-23 07:58钟华赞包新晔
计算机工程与设计 2021年12期
关键词:相似性度量计划

钟华赞,包新晔,杜 杰

(1.中国南方电网有限责任公司 生产技术部,广东 广州 510623;2.天津大学 电气工程学院,天津 300011)

0 引 言

随着智能电网的发展,居民用户可以通过需求响应(DR)重新安排家用电器的运行时间[1-4],减少关键高峰时段的负荷[5,6],或转移到现场分布式发电机[7,8]等手段,将电力支出最小化。但由于客户担忧使用DR后会造成舒适度的丧失,生活模式的改变,以及隐私泄露等。这些问题阻碍了DR在住宅中的广泛应用。目前,已经开发了一些工具来帮助客户选择具有成本效益的电力计划。但这些方法都存在着:考虑因素不全面导致估计总用电量时不准确,需要用户手动添加特定电价,以及无法针对每一个用户制定独有方案等缺点,造成推荐方案不可靠。

近年来,协同过滤推荐(collaborative filtering recommender,CFR)已广泛应用在历史交易记录丰富的商品的推荐系统中[9,10]。其核心是通过相似用户在购买活动中表现出相似偏好的实际经验,从该客户和其他客户的历史交易数据中得出客户对未购买商品的潜在偏好。由于电力客户有着相似的用电模式,并可能喜欢同样的成本效益零售计划。因此,本文提出了一种基于CFR的智能电力计划推荐算法(electricity plan recommender,EPR)。为了提高精确度,利用一种适合EPR的加权相似性度量,通过比较一些容易获得的用电特征结合Jaccard加权欧几里德度量来评估两个用户之间的相似性。在给定相似度值的前提下,将相似客户作为目标客户的邻居进行检索。然后从邻居的偏好中得出目标客户对不同计划的潜在偏好。推荐前N个最喜欢的计划。该方法有效地解决了现有电力计划推荐策略所面临的挑战性问题,提供了一种可靠、准确、方便的方法。

1 基础原理介绍

1.1 推荐原理介绍

推荐系统一般可用效用函数FU:U×I→R来表示集合U和I到集合R的映射,U中的元素是用户,用u表示。I中的元素是项目,用i表示。为了评估用户u对项目i的偏好,引入了术语等级(rating)并用rni表示。R是所有可能的u和i的rni集合。推荐系统通过使用效用函数FU来预测用户对所有候选项的潜在评级。如果较高的评分意味着强烈的偏好,则推荐评级较高的项目。为了实现FU函数,一般采用协同过滤的方法,同时该方法又能分成:基于邻域的、基于模型的和混合3种模式。本文在此采用的是基于领域的协同过滤方法[11]。

1.2 项目推荐和结果评估

(1)

在这里,帽子符号^代表预测值,smn代表用户m和n之间的相似性。如果较高的评分表明用户对某个项目的偏好更强,则建议用户使用预测评分值较高的项目。

推荐的性能可以通过各种指标来评估[12]。一个流行的度量标准是均方根误差(RMSE),它从统计学上度量所有项目的预测值和实际值之间的误差。式(2)向用户m给出了建议的RMSE,如下所示

(2)

(3)

2 EPR系统

2.1 EPR与CFR的区别

虽然EPR是从基于邻域的CFR发展而来的,但它与其它推荐系统有两个不同之处。首先,相似性评价方法不同。CFR主要是比较两个用户对同等级商品的偏好,而EPR通过比较家用电器的每周运营时间来评估两个客户之间的相似性。二是偏好评价方法不同。在CFR中,用户对商品的最终评分是由多种因素影响的。在EPR中,评分只与方案的相对价格有关。

2.2 EPR的原理

EPR采用基于邻域的协同过滤方法,并采用了专门设计的相似性度量。在EPR中,项目表示电力零售计划,而用户表示住宅用户。在本文中,Utr和Ute表示训练和测试用户集。通过简单地提供几个容易获得的特性,测试用户可以从EPR获得可靠的计划建议。

EPR的结构如图1所示。可见,本文提出了一个离线数据抽取和在线推荐两个阶段的框架。①离线数据提取阶段:从总使用量和设备使用量数据中提取每个培训用户的评分和特征。所有训练用户的评分构成一个训练评分集,而这些用户的特征构成一个训练特征集。②在线推荐阶段:测试用户提供估计的特征,在此基础上评估该测试用户与每个训练用户之间的相似度。根据得到的相似度值和训练评分集,预测测试用户给出的潜在评分。然后,可以根据预测的评级确定具有成本效益的计划以供推荐。

以下各部分解释了每个阶段的细节。最后介绍了推荐准确度的评价指标。

图1 EPR结构

2.3 数据提取

训练用户向EPR提供两个数据集,即训练评分集和特征集。这两组数据可以从训练用户的用电记录中提取出来。

(1)训练评分集提取:推荐系统使用评分来量化用户对某个项目的偏好。由于住宅用户的偏好与计划收费高度相关,EPR中等级表示为方案对用户收取的标准化价格。设cni为用户n的方案i的费用,cn为cni对所有方案i形成的向量。等级rni可以通过式(4)计算得到

(4)

根据式(4),方案向用户收取的费用越低,用户对该方案的评分就越低。考虑到居民用户对低电价方案的普遍偏好,可以推断用户更喜欢较低的电价方案而不是较高的电价方案。所以EPR的目的是估计每个方案的评级,并向客户介绍相关方案。

方案费用cni可以很容易地从用户n的总使用记录和方案i的费率中得出。总使用记录是一个时间序列,记录了整个房屋的用电量。

(2)训练特征集提取:理想情况下,电力用户可以计算所有方案的费用,一旦总使用记录可用,并进一步搜索更便宜的方案。但在许多情况下,无法访问总使用记录,例如,未安装智能电表,或用户无法访问电表数据。EPR通过引入新功能,免除了对总使用记录的要求。用户需要一个特征来表示用户的用电习惯,同时也要便于用户获取,并且不暴露太多的隐私信息。在EPR中,家电每周运行持续时间被设置为一个特征,它衡量一个家用电器平均每周使用多长时间。与其它电力计划推荐方法[13-15]中使用的抽象因素相比,估计一台设备每周使用的小时数要容易得多,而且往往更准确。此外,每周设备运行时间比详细的电源记录更不敏感,因此有助于私人保护。

设备的每周运行时间可以从设备使用记录中提取出来,它是记录设备耗电量的时间序列。图2(a)示出了一天中的设备使用记录的示例。从该图中可以看出,设备操作持续时间是设备功率超过开启阈值时的总时间,该阈值在图2(a)中被描绘为虚线。为了延长电器的工作时间,选择合适的开启阈值是至关重要的。在以往的许多研究中,对于所有类型的家用电器,这个阈值通常被设定为一个定值[16],但这有一些问题:开启阈值随电器类型的不同而变化,以及电器使用记录中含有不同程度的噪声。所以本文针对冰箱、台式机等多模式,长时间使用的电器,设定了一个恒定的开启阈值。对于偶尔打开的电器(如洗碗机和洗衣机),结合其它一些外部因素,如假期和晴天使用洗衣机的频率较高,时长较长,晚上使用洗碗机的概率较大等情况,然后通过利用概率密度函数(PDF)得到使用时间,然后根据它们来设置阈值。对于这些电器,其功率PDF显示了大约0 W的全局最大值和典型工作功率附近的局部最大值,如图2(b)所示。在这种情况下,开启阈值被设置为两个最大值之间的局部最小值的功率值。

图2 家用设备使用记录和概率密度函数

用核密度估计(KDE)方法实现了设备功率PDF的近似,它提供了比直方图方法更平滑的估计[17]。设P是一系列设备使用记录。P中的每个元素Pl都被视为随机变量p的一个样本,这里p代表设备的功耗。对于p的KDE计算方法如式(5)所示

(5)

在这里,FK是核函数,可以是任何非负的零均值函数。本文以高斯函数为核函数。系数h是带宽,其值由斯科特经验法则决定。

2.4 相似度评估

相似性量化了两种能源消耗模式的相似程度。本文通过比较两个用户的特征,即设备周运行时间,得出两个用户之间的相似性。然而,在不同的用电用户中,某些特征的缺失是非常普遍的。例如,当没有记录设备的电源使用情况时,该设备的每周运行持续时间将不可用,因此该功能将丢失。为了解决这个问题,在此提出了一种相似性度量

(6)

(7)

A是所有电器的集合。它的元素表示为a。设fna为用户m和n使用的设备a的标准化的每周操作持续时间。所以,加权欧几里德相似度可用式(8)计算得到

(8)

权重可以由以下步骤计算得到。首先根据式(4)得到的评分值将训练用户集中的所有用户分为Q组。Utr(q)表示第q-th个聚类。然后针对不同的设备a从Utr(q)中提取不同的子集Utr(q)-a。Utr(q)-a中的元素表示为在聚类Utr(q)中的用户n,能够为设备a提供有效的运行持续时间值fna。设fa(q)是收集Utr(q)-a中所有用户n的fna的集合。fa(q)的中心由ca(q)得到,其中ca(q)表示集合ca的可能q。基于这些符号,每个设备a的变量集群分散指示符(CDI)计算如下

(9)

式中:FD是集合内距离运算符号。对于任何集合v,其集合内距离可用式(10)计算

(10)

(11)

ωa=ω′a/∑a∈Aω′a

(12)

在式(11)中的系数ωmin称为最小权重,手动设置在0和1之间。当ωmin等于1时,所有设备具有相同的权重,且式(8)中加权的欧几里德相似性度量与传统欧几里德相似性等价,选择ωmin的最优值作为推荐结果最小RMSE的对应值。

在式(9)~式(11)中定义的ωa的推导类似于特征选择,并根据计划评级来衡量每台设备每周运行持续时间与客户群之间的相关性。与聚类结果密切相关的设备具有更大的变异CDI值。本文采用层次聚类算法实现了对用户的聚类操作。该方法首先将每个用户视为自己的集群。对于每个集群,导出一个典型的等级集。然后,根据典型的评级集将集群依次合并在一起[18]。最佳聚类数量对应于CDI-Q曲线的拐点,CDI在曲线中衡量聚类效果。

2.5 评分预测、方案推荐、评估

ERP应用基于邻域的协同过滤方法来预测测试用户对每个计划的潜在评级,并找到具有成本效益的方案进行推荐。基于式(6)中的相似性度量,EPR计算测试用户和每个训练用户之间的相似度,并选择相似度前k最大的训练用户作为测试用户的k近邻。然后,可以使用式(1)基于这些k-最近邻的评级数据估计测试用户对计划的潜在评级。根据式(4)中费率的定义,较低的费率表示计划费用较低,因此电力用户对计划的偏好更强。在这种情况下,预先向测试用户推荐具有较低估计评级的计划。在实际应用中,推荐前N个最低等级方案的top-N机制是一个明智的选择。Top-N推荐能更好地满足顾客对零售商声誉和服务质量等其它因素的个人偏好,在所有推荐候选人中做出自己的选择。

为了评估推荐结果,使用式(2)中定义的RMSE指标对所有计划的评级真实值和估计值进行统计比较。应用式(3)中定义的精度度量来评估top-N推荐。较低的RMSE或较高的精度表明电力计划的推荐结果更准确。

3 实验论证与测试

3.1 实验环境与数据集

测试数据分为用户数据和项目数据两部分。用户数据来自澳洲居民能源统计项目(AES),收集到的3735户居民在2017年~2019年的智能电表数据[19]。从AES数据集中,选择730个客户进行数值实验。这些客户满足两个要求。首先,他们可以提供一定时期(在此设置为30天)的总用电量记录。其次,他们可以在同一时期提供至少4种常用家用电器的仪表读数。实验共考虑了微波炉(Micro)、烤箱(Oven)、电磁炉(Stove)、洗碗机(Dish)、洗衣机(Wash)、烘干机(Dryer)、电视(TV)、计算机(CPU)、空调(AC)、热水系统(Water)等10种电器。

测试中的项目数据取自2017年中15家当地零售商针对用户发布的62项电力计划[20]。在所有的计划中,有一半使用统一费率电价,另一半采用分时电价。

3.2 数据预处理

在测试之前,所有735位客户的评级和特征都是事先从他们的智能电表读数中提取出来的。为了进行5倍交叉验证,将这些客户随机平均分为5组,即每个组有147个测试用户和588个训练用户。

数值实验过程包括两个步骤。第一步是系数设置。在这个步骤中,k-最近邻的系数k被设置为1和训练组的大小之间的整数。另一个系数,最小机密权重ωmin,被设置为0到1之间的数字。在已知ωmin的情况下,从训练组的数据中提取每个设备a的器械权重ωa。在这一步中,采用试错法来获得k和ωmin的精确最优值,需要注意的是,在不同的测试用例中,不同的值可以设置为k和ωa。此步骤的伪代码如下所示。

步骤1 折叠系数设置

输入:训练评分集Rtr和特征集Ftr,所有测试用户m和所有方案i的真实额定值rmi;所有测试用户m和所有家用电器a的功能fma。

输出:系数k,ωmin和ωa,

Forωminin [0,1]

(1)根据训练等级集Utr中每个用户的评分,将集合Rtr中的训练用户分为Q组。

(2)使用式(9)~式(12)从Ftr中提取所有器具a的ωa。

(3)对于测试用户集Ute中的用户m:使用式(6)计算训练用户集Utr中所有用户n的相似度smn。

(4)对于[1,|Utr|]中的k:

1)测试用户集Ute中的用户m:

2)在测试用户集Ute时,计算向所有用户m推荐结果的RMSE的平均值和最大值。

(5)绘制最大RMSE-k曲线,平均RMSE-k曲线。

根据最大RMSE-k曲线和平均RMSE-k曲线设置k的值。

根据选定的k绘制平均RMSE-ωmin曲线。

根据平均RMSE-ωmin曲线设定ωmin值。

通过将ωmin代入式(11),计算所有设备的ωa。

第二步是方案推荐和结果评价。在这一步骤中,EPRS根据训练用户的评分和特征数据,对每个测试用户给出的所有方案的潜在评分进行估计。测试用户的实际评级和预测评级之间的差异通过RMSE度量进行量化。为了得到综合评价,计算了所有测试用户的RMSE平均值和最大值。第二步的伪代码如下所示。

步骤2 对每个环节进行计划建议和结果评估

输入:训练评分集Rtr和训练特征集Ftr;所有测试用户m和所有计划i的真实评级值rmi;所有测试用户m和所有家用电器a的功能fma。

ForuteinUte:

(1)使用式(6)计算训练用户集Utr中所有用户n的相似性smn。

计算RMSE的平均值和在测试用户集Ute时向用户m推荐的精度。

在每个测试案例中,EPRS接收到的推荐结果与其它4种相似性度量策略的结果进行比较。用于比较的度量是欧几里德(EUC)、余弦(COS)、Jaccard-Euclidean(Jaccard和Euclidean相似度的乘法,J-EUC)和Jaccard Cosine(Jaccard和Cosine相似性的乘法,J-COS)。对训练用户与测试用户具有相同相似性的等相似性策略的性能进行了测试,并将其作为比较的基准值。

3.3 实验结果

3.3.1 系数设置

(1)单一费率方案推荐系数:在这里设置了两个EPR系数:最近邻数k和最小设备权重ωmin,图3给出了设置过程。在前两个子部分(图3(a)和图3(b)中,平均RMSE和k之间以及最大RMSE和k之间的关系用曲线表示,在ωmin值介于0和1之间的情况下。当k不大于20时,小图形显示部分曲线。从这些子部分可以看出,当ωmin设置不同时,平均RMSE-k和最大RMSE-k曲线都没有明显变化。根据这一观察,将系数k与系数ωmin无关是安全的。考虑到图3(a)和图3(b)中所示,将单一费率方案建议的k设置为5,以确保平均和最大RMSE的值都较低。图3(c)显示了k等于5时平均RMSE与ωmin之间的关系。在此图的基础上,将ωmin设为0.6,对应于平均RMSE-ωmin曲线的最小点。利用选定的ωmin,将ωmin代入式(11)中,进一步导出应用机密权重ωa,结果如图3(d)所示。可以看出,前3个最大的权重是炉灶、计算机和热水系统。这准确地表明这3种家用电器对家庭总用电量的影响更深。

图3 单一费率方案中的参数设置过程

(2)分时方案推荐系数:

在图4(a)和图4(b)中,平均RMSE和k之间的关系以及不同ωmin情况下的最大RMSE和k曲线之间的关系用曲线表示。与单一费率一样,这两个子部分也揭示了k与ωmin的依赖关系。因此,k与ωmin无关。与图3(a)一样,当k约为4时,图4(a)中出现一个缺口,因此4是k的一个有希望的选择,以确保较低的平均RMSE。然而,当k在4左右时,最大RMSE相当高。而当k增加到25时,最大RMSE急剧下降。而在k为20时,平均值和最大值RMSE值都较低,所以最佳k值应为20。图4(c)描绘了k=20时平均RMSE与ωmin曲线之间的关系。当ωmin等于0和0.4时,出现两个最小的平均RMSE值。由于当ωmin从0和0.1增加时,平均RMSE急剧增加,因此0不是ωmin的合适选择。因此,将ωmin设置为0.4,以推荐使用时计划。图4(d)列出了ωmin为0.4时的所有设备权重ωa。前3位权重最大的设备是炉灶、热水系统和计算机,这表明这3种设备的运行特性在很大程度上影响了分时计划的推荐结果。

图4 分时方案中的参数设置过程

(3)联合方案推荐系数:图5给出了联合方案推荐实验的系数设置过程。如图5(a)和图5(b)所示,当使用不同的ωmin时,平均RMSE-k曲线和最大RMSE-k曲线几乎没有差别。k的值被设置为20,与ωmin无关。一旦k被设置,则根据图5(c)中给出的平均RMSE-ωmin曲线选择最小权重ωmin为0.4。然后导出设备权重ωa,并在图5(d)中列出。

图5 联合方案中的参数设置过程

与前两个测试用例相同,在这个测试中具有3个最高权重的设备是炉子、热水系统和计算机。对于计算机拥有较大权重,说明计算机的运行时间越长,表示在家停留的时间越长,在这段时间内使用其它家用电器的可能性也就越大。

3.3.2 所有推荐结果

(1)EPR的有效性:图6显示了当应用不同的相似性度量时,收到的计划推荐结果的RMSE的统计特征。实线和虚线表示RMSE的中值和平均值。为了便于比较,表1列出了前平均RMSE值。表1还列出了采用等相似性策略得到的平均RMSE,其中所有训练用户与测试用户具有相同的相似性。

图6 3个测试用例中相似度量对RMSE的影响

表1 EPR中不同方案的平均RMSE

通过比较图6中的3个子部分,可以发现,无论采用哪种相似性度量,基于单一费率电价的方案的建议的误差总是最小的,而基于分时电价的方案的建议误差更大,而基于分时电价和单一费率电价的方案的建议误差最大。推荐使用联合计划的困难是由两个因素造成的。首先,推荐候选人包含分时计费计划,收费率不是固定的,而是随时间变化的。因此,除了设备每周运行持续时间外,还需要提供可靠的建议。第二,参加分时和单一费率计划推荐测试的多于其它两个测试。随着推荐候选方案的增多,获得的准确率较低是公平的。

尽管存在上述困难,但在3个测试中,基于协同过滤的不同相似度策略的表现仍然好于同等相似度策略,如表1所示。验证了基于协同过滤的电力计划推荐方法考虑了不同用户对之间相似度的变化,提高了电力计划推荐的准确性。

采用更有效的相似性度量可以进一步提高计算精度。图6比较了5种不同相似度度量的推荐效果,从中可以得出两个结论。首先,基于Jaccard的度量(J-EUC、J-COS和J-wEUC)比基于非Jaccard的度量(EUC和COS)能提供更好的建议。其次,J-wEUC度量在计划推荐方面优于其它两个基于Jaccard的度量(J-EUC和J-COS)。根据式(6)~式(8),J-wEUC的高效性归因于欧几里德相似度量中的权重。EPR得益于J-wEUC,能够提供比其它策略更高的推荐服务。

(2)Jaccard度量的影响:图7显示了在应用不同的相似性度量时,在联合计划推荐测试中收到的平均RMSE-k曲线。基于Jaccard的度量(J-EUC、J-COS和J-wEUC)在推荐准确度方面的优势在该图中很明显。另一个现象是,当应用基于Jaccard的度量时,需要较少的最近邻(较小的k)来确保较低的误差。相反,如果使用非Jaccard的度量,则需要更大的k来降低错误。在单独针对单一个费率计划或分时计划的计划建议测试中也可以发现相同的观察结果,由于篇幅限制,此处未给出结果。由于最近邻数较少的情况下(1)的等级估计运算是有效的,在相似度评估中引入Jaccard度量提高了计划推荐系统的响应速度。因此,EPR将Jaccard度量应用于相似度评估,以获得更好的性能,并引入机密权重来进一步改进。

图7 采用不同度量时,平均RMSE和k的关系

(3)与现有方法的比较:在推荐性能方面,将EPR与EME[21]中的方法和基于集群的推荐系统(cluster)[13]中开发的策略进行了比较。共有80位客户在同一地区进行测试。为了简洁起见,本文只给出了分时和单一费率方案推荐测试的结果。如图8(a)和图8(b)所示,当通过RMSE和 精度度量进行评估时,EPR优于其它两种方法。此外,根据图8(b)中给出的精度与top-N方案数的关系,随着N的增加,精度也呈波动性上升。

图8 EPR、EME和CLUSTER方法的性能

4 结束语

本文提出了一种基于协同过滤算法的智能电力计划EPR。该方案克服了现行电力计划推荐策略的3个缺点。首先,EPR使用户不必提供抽象和详细的电气使用记录,而是需要其它容易获得的特性。第二,新的度量方法明显提高了精度。第三,以不同方案的预测评分为依据,对EPR的用户进行广告宣传,使用户能够选择最合适的方案,并制定适当的电价。实验结果表明,在不同的计划推荐任务中,EPR策略的表现通常优于其它策略。由于EPR拥有较低的RMSE和较高的推荐精度,所以保证了用户有更好的削减电费开销的能力。

猜你喜欢
相似性度量计划
一类上三角算子矩阵的相似性与酉相似性
鲍文慧《度量空间之一》
模糊度量空间的强嵌入
浅析当代中西方绘画的相似性
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
暑假计划
学做假期计划
学做假期计划
Learn to Make a Holiday Plan学做假期计划
低渗透黏土中氯离子弥散作用离心模拟相似性