system: [SYSTEM]

user: 3. 人机协同窃电用户判别方法 3.1. 总体框架 在实际工业场景中，模型使用者在了解模型所面临的高识别率与低排查成本之间的矛盾后，结合自身情况与偏好，可以对模型进行更合理的运用。 本文提出的方法的具体流程如图1所示。模型使用方将用户用电相关数据作为输入(见①)，根据对高识别率与低排查成本的权衡设置合适的模型判别阈值(见②)，训练好的窃电用户判别模型可以对所有待测试的用户进行判别并得到每个待测试用户是窃电用户的疑似程度，结合给定阈值，可以得到模型判别的疑似窃电用户；工作人员结合自身经验知识与模型判别时产生的依据对模型判别的疑似窃电用户进一步筛查，最终得到数量相对较少的疑似窃电用户(见③)。此外，工作人员还可以根据模型从大量数据中学到的“知识”来丰富自身的经验知识(见④)，也可以根据自身经验知识对模型所使用的指标体系进行进一步优化、改善(见⑤)。 图1. 人机协同判别窃电用户方法流程图 3.2. 窃电用户判别模型构建 本文的窃电用户判别模型构建过程主要包括用户用电指标体系构建与判别模型构建两个部分。 3.2.1. 用户用电指标体系构建 科学、合理的窃电用户指标体系对于人工智能模型的正确判别来说至关重要。用电信息采集系统中用户用电数据时间跨度大、更新速度快且存在大量噪声与缺失值，故所设计的指标体系不仅需要能够真实反映用户用电行为的特点，还需使得具有上述特点的用电数据能够方便计算。本文所构建的指标体系主要基于用户用电数据中的电量、电流、电压时间序列数据获得，主要包括电量移动平均时间序列、电量移动平均差分时间序列、电压不平衡度时间序列以及电流不平衡度时间序列的统计学指标。 (1) 日冻结电量指标 对于每个用户的每日用电量时间序列 Q = ( Q 1 ， Q 2 ， ⋯ ， Q T ) T (下标T表示以天为单位的时间序列长度，下同)，可以计算电量移动平均(取移动窗口长度n = 5)。对于第t天(t ≥ 5)的移动平均值计算方式如下： M t Q = Q t − 4 + Q t − 3 + Q t − 2 + Q t − 1 + Q t 5 (1) 根据每个用户的日平均电量移动平均，计算其第t天(t ≥ 6)的电量移动平均差分值 Δ M t Q ： Δ M t Q = M t Q − M t − 1 Q (2) 对于每个用户，我们得到日平均电量移动平均时间序列 M Q = ( M 5 Q ， M 6 Q ， ⋯ ， M T Q ) T 及日平均电量移动平均差分时间序列 Δ M Q = ( Δ M 6 Q ， Δ M 7 Q ， ⋯ ， Δ M T Q ) T ，针对上述两个时间序列，分别计算均值、中位数、标准差、偏度及峰度五个统计量，最终每个用户得到十个关于电量的统计量特征。 (2) 用户电压、电流指标 根据每个用户每日96点电压示值，可得到每个用户的三相电压时间序列 V a = ( V a 1 ， V a 2 ， ⋯ ， V a T ) T ， V b = ( V b 1 ， V b 2 ， ⋯ ， V b T ) T 与 V c = ( V c 1 ， V c 2 ， ⋯ ， V c T ) T 。第t时刻的电压不平衡度可由下式计算得到： V U R t = max ( V a t ， V b t ， V c t ) − min ( V a t ， V b t ， V c t ) max ( V a t ， V b t ， V c t ) (3) 之后，根据一天内各时刻的电压不平衡度，分别计算每个用户每日的三相电压不平衡度。 同理，根据每个用户每日96点电流示值，可计算每个用户的三相电流时间序列 I a = ( I a 1 ， I a 2 ， ⋯ ， I a T ) T ， I b = ( I b 1 ， I b 2 ， ⋯ ， I b T ) T 与 I c = ( I c 1 ， I c 2 ， ⋯ ， I c T ) T 。第t时刻的电流不平衡度可由下式计算得到： I U R t = max ( I a t ， I b t ， I c t ) − min ( I a t ， I b t ， I c t ) max ( I a t ， I b t ， I c t ) (4) 之后，根据一天内各时刻的电流不平衡度，分别计算每个用户每日的三相电流不平衡度。 最后，由用户的电压、电流每日不平衡度的时间序列可以计算均值、中位数、标准差、偏度及峰度五个统计量，最终每个用户得到十个关于电压不平衡度和电流不平衡度的统计量特征。 经过上述计算，每个用户样本得到20个特征见表1。 Table 1 Features of electricity using behavior 电量移动平均统计量 电量移动平均差分统计量 电流不平衡度统计量 电压不平衡度统计量 电量移动平均均值 电量移动平均差分均值 电流不平衡度均值 电压不平衡度均值 电量移动平均中位数 电量移动平均差分中位数 电流不平衡度中位数 电压不平衡度中位数 电量移动平均标准差 电量移动平均差分标准差 电流不平衡度标准差 电压不平衡度标准差 电量移动平均偏度 电量移动平均差分偏度 电流不平衡度偏度 电压不平衡度偏度 电量移动平均峰度 电量移动平均差分峰度 电流不平衡度峰度 电压不平衡度峰度 表1. 用户用电行为特征 3.2.2. 窃电用户判别模型构建 经过上述指标体系的构建过程，每个用电用户得到20个特征。根据用电用户特征矩阵与是否为窃电用户的标签数据可构建窃电用户的判别模型。本文采用常见的机器学习模型对用户用电数据进行建模，通过对比选取预测效果最好的模型。模型包括XGBoost (eXtreme Gradient Boosting，极度梯度提升树)、随机森林、决策树、支持向量机、逻辑回归以及多层感知机。在本研究中，首先使用分层抽样将整个数据集按照7:3的比例划分训练集与测试集。然后在训练集中使用网格搜索与交叉验证对每个模型的参数进行调整，以最大化预测准确率(Accuracy)为目标选取每个模型的最优超参数组合，然后使用该超参数组合在训练集上重新训练模型，使用测试集进行模型评估。 3.3. 模型判别阈值设定 机器学习模型在解决分类预测问题时，可以对每个测试样本输出一个之间的值，该值的大小代表模型在多大程度上倾向于判别其为正例样本或负例样本。若模型的阈值被设定为0.5，即表示当一个样本的预测值大于0.5时则判定其为正例，反之为负例。模型阈值其实可以根据电网公司的需求进行合理设定。选取一个小的阈值意味着倾向于将更多的样本判定为正例，提高窃电用户的识别率，但也将增大非窃电用户误识别率，从而耗费巨大的人力、物力成本；反之，较大的阈值，能够节省更多现场排查的成本，但却只能使模型获得相对较低的识别率。 3.4. 人工判别依据 传统的窃电用户判别任务通常由人对用户的用电数据进行分析，结合自身经验对用户是否存在窃电行为进行判别，这将耗费大量的人力资源。并且人工判别依赖于人的经验知识，其差异可能导致判别的不稳定性。此外，窃电用户所采用的窃电手段多种多样，造成的用电数据特点也有所差异，进一步加大了人工判别的难度。表2中简要总结了正常用户与窃电用户在几个用电指标上的差异。电量的移动平均及移动平均差分时间序列无法单独作为判定用户是否窃电的指标，而是在用户的三相电流不平衡度与三相电压不平衡度出现异常时进一步辅助判断。正常用户的每相电流间趋势相近，不平衡度较低，大多数在0.4以下，而窃电用户的三相电流间差异较大，不平衡度很大。其中有两种极端情况，第一种是用户三相电流为0，导致不平衡度计算结果为空；第二种是三相电流中有一相电流为0，导致不平衡度计算为1。三相电压也是判别用户是否窃电的重要依据。正常用户三相电压间趋势相近，大多数用户不平衡度小于0.1，而窃电用户的三相电压趋势不同，不平衡度较高。根据上述比较明显的差异以及工作人员本身的经验，可以对窃电用户进行判别。 Table 2 Basis of artificial distinguishin 用电指标 正常用户 窃电用户 电量移动平均 无明显波动，近似平稳时间序列 窃电时间区间中有下降趋势，整体波动幅度较大 电量移动平均差分 无明显波动，近似平稳时间序列 存在一定的上升或下降趋势，有一定波动 电流三相不平衡 大多数取值较低，在0.4以下 取值较大，且存在取值为空与取值为1的情况 电压三相不平衡 大多数取值较低，在0.1以下 取值较大，且存在取值为空与取值为1的情况 表2. 人工判别依据 3.5. 模型判别依据 在本文中，模型判别依据指的是针对一个用户，其各个特征的取值在多大程度上使得模型倾向于判定其为窃电用户还是非窃电用户。本文使用基于Shapley值的方法对模型的判别结果进行解释，可以得到模型判别一个用电用户为窃电用户或正常用户的依据，而将模型对大量样本的判别依据进行汇总后，可以得到群体层面的解释，即模型从数据中学习到的“知识”。Shapley值是来自于博弈论的概念，其目的是将联盟的总收益以尽可能公平的方式按照成员的贡献进行分配。在使用Shapley进行机器学习解释的方法中，一个特征的Shapley值是其对最终判别结果的贡献量，第j个特征的Shapley值可以由下式计算而得 [ 16 ]： ϕ j ( v a l ) = ∑ S ⊆ { x 1 ， ⋯ ， x p } \ { x j } | S | ! ( p − | S | − 1 ) ! p ! ( v a l ( S ∪ { x j } ) − v a l ( S ) ) (5) 其中S是模型所使用的特征的子集合，x为样本的特征向量，p为特征的数目。该求和在所有不含玩家i的特征子集上进行，所计算的每一项 v a l ( S ∪ { x j } ) − v a l ( S ) 中都对包含特征i与不含特征i的预测值差异进行计算，从而计算一个样本的特征对其预测结果在多大程度上使得模型倾向于判定其为窃电用户还是非窃电用户。