CN114692672A - 一种基于用电特征和Mean Shift算法的用户类型分类方法 - Google Patents
一种基于用电特征和Mean Shift算法的用户类型分类方法 Download PDFInfo
- Publication number
- CN114692672A CN114692672A CN202210134165.2A CN202210134165A CN114692672A CN 114692672 A CN114692672 A CN 114692672A CN 202210134165 A CN202210134165 A CN 202210134165A CN 114692672 A CN114692672 A CN 114692672A
- Authority
- CN
- China
- Prior art keywords
- load
- data
- week
- day
- month
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
- G06F2218/14—Classification; Matching by matching peak patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J3/00—Circuit arrangements for ac mains or ac distribution networks
- H02J3/003—Load forecast, e.g. methods or systems for forecasting future load demand
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J2203/00—Indexing scheme relating to details of circuit arrangements for AC mains or AC distribution networks
- H02J2203/20—Simulating, e g planning, reliability check, modelling or computer assisted design [CAD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种基于用电特征和Mean Shift算法的用户类型分类方法,涉及电力运维领域。目前,用户类型分类依靠经验,且准确性差。本发明包括步骤:获取各用户用电数据;对数据进行预处理;获取负荷P和电量W两类型数据,并分别抽取相应特征,包括负荷特征和电量特征,并计算对应的负荷变化特征量和电量变化特征量;接着对特征进行筛选和降维处理,最后利用mean shift进行分类。通过采用Mean Shift分类技术,使得在分类过程中既不需要事先准备训练样本和训练标签,也不需要事先准备人工标签和事先确认分类总数,无需事先要求人工经验判断,在提高客观性的同时,有效提高工作效率和准确性。分类可以跟随企业和社会环境的变化而变化,进一步提高分类的准确性和效率。
Description
技术领域
本发明涉及电力运维领域,尤其涉及一种基于用电特征和Mean Shift算法的用户类型分类方法。
背景技术
用电数据分析为我国电力行业运营和服务优化奠定了必要的基础。用户的类型是实现用户用电情况精细化管理的基础数据。例如在电力资源紧张的时间段,鼓励错峰生产型企业进行加工。对于医院等电力持续性保障且用电负荷相对稳定的单位,对电力资源的消耗可以准确的预测与储备。对于突发高负荷生产型企业可以鼓励安排周末和夜间时间启动高负荷生产步骤。对于生产情况不佳的企业也可以早期介入沟通安排电费收取等。用户的精细化管理,能够帮助用电趋势分析预测,安排电能储备等诸多工作。
传统的用户管理,主要基于用户行业登记信息,时效性较弱,更新缓慢。而用户的用电情况是实时产生的数据。根据用户的用电情况,进行用户分类,保证了分类信息的准确无误。近年来也有采用人工设计特征,人工按阈值来划分用户类型的方法。随着机器学习的兴起,也有采用随机森林,SVM算法的用户分类,但这些方法都是有监督学习,需要事先准备训练样本和训练标签,仍旧需要事先准备人工标签。也有采用kmeans算法的分类方法,但是kmeans算法需要事先确认分类总数。这就要求人工事先经验判断。但是随着企业和社会环境的变化,类型是会变化的,这样固定的分类方式是有可能不准确的。
发明内容
本发明要解决的技术问题和提出的技术任务是对现有技术方案进行完善与改进,提供一种基于用电特征和Mean Shift算法的用户类型分类方法,以达到提高用户分类的准确性目的。为此,本发明采取以下技术方案。
一种基于用电特征和Mean Shift算法的用户类型分类方法,包括以下步骤:
1)获取各用户用电数据;
2)数据预处理,包括对异常数据进行筛选、填充、对齐处理;
3)获取预处理后的负荷数据和电量数据;
4)在负荷数据和电量数据中抽取曲线技术指标特征得到对应的负荷特征和电量特征,负荷特征包括日负荷24点特征、负荷的日/周/月/季对应的K线特征、负荷峰谷特征,负荷峰谷特征包括日峰/日谷负荷、日/周/月/季均线特征;电量特征包括电量的日/周/月/季特征;
5)根据负荷特征和电量特征计算对应的负荷变化特征量和电量变化特征量;
6)将负荷特征、电量特征、负荷变化特征量、电量变化特征量拼接组装成向量;将多种类型特征拼接成完整向量是后续算法步骤的基础;
7)对向量进行降维和特征筛选;使用PCA算法对特征进行降维和特征筛选;
8)对降维后的向量使用Mean Shift算法进行用户分类,得到各用户的类别标签;
9)输出类别标签,并根据类别标签进行用电趋势分析预测,进行对应的电能储备。
在本技术方案中,采用的负荷特征包括日负荷24点特征、负荷的日/周/月/季对应的K线特征、负荷峰谷特征,负荷峰谷特征包括日峰/日谷负荷、日/周/月/季均线特征;电量特征包括电量的日/周/月/季特征,主要原因在于:由于不同类型用户的用电情况具有不同的时间周期特征。例如服务性行业主要在白天和前半夜用电,餐饮行业为中餐晚餐时间,居民用电为一早一晚,生产型行业根据生产周期不同用电峰值也不相同(如钢铁企业与水泥企业的周期不同),服装行业和农业则是在季度季节变化时出现波动,波动周期又不相同,医院用电则需要持续稳定7x24小时x365天的用电。所以,在用户分类中,特征需要包括从最小粒度的小时,峰谷时间段,到日,周,月,季的粗粒度用电信息中抽取。如果只采用最细粒度日内信息特征,会导致抽取的特征无法描述粗粒度的变化,如农林牧渔业的季节变化。同理对于只有粗粒度的特征,也无法描述居民用电与普通商业用电日内的差异,无法区分这两类用户。目前的特征设计能够更为全面的描述各类用户的用电行为,有效区分每类用户。
由于基础负荷与电量特征都是某一阶段的状态值,而没有描述变化情况,如医院的日内的变化与餐饮行业的日内变化会有不同,所以需要增加变化特征更有效的区分不同用户;
通过特征筛选和降维可以提高后续算法的效率,并增强泛化能力。
通过Mean Shift算法进行用户分类,能够不完全依赖人工事先分类经验,根据实际数据无监督的自动分类,能够降低人工介入和应对变化的能力。
PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,对高维数据进行降维。
本技术方案中,既不需要事先准备训练样本和训练标签,也不需要事先准备人工标签,不需要事先确认分类总数,避免事先要求人工经验判断,提高客观性,可以跟随企业和社会环境的变化而变化,自动对用户进行分类,有利于提高分类的准确性和效率。
作为优选技术手段:在步骤2)中,数据预处理时,对数据补全修正,并进行归一化处理;
对于缺失的数据,采用相邻点平均的方法,进行填充;当对于每天24个点的电荷数据,缺失某个时间点的数据时,采用相邻两点t1,t2的电荷信息,进行填充,具体公式为Pt=P1+(P2-P1)(t-t1)/(t2-t1),这里Pt是需要填充的数据,P1,P2为与t相邻两个时间点t1,t2对应的数据。
对于异常数据,采用中心点距离检测的方法来计算异常点;对于电荷数据,统计每家企业的电荷均值μ,方差σ,对于μ±5σ的数据点认为是异常数据;去除异常点后留下的空缺数据点采用相邻点平均法替换;
对于不同物理意义的数据,将每一维向量都变换到[-1,1]统一的范围内。
作为优选技术手段:在步骤4)中,负荷特征中:
a)日负荷24点特征为:
b)负荷的日/周/月/季对应的K线特征为:
K线特征包括某时间段的最大值,最小值,平均值;
负荷日K线:为单日用电的K线特征,基于日负荷24点特征来计算,即[Pmax_day,Pmin_day,Pavg_day]=[max(P1,…,P24),min(P1,…,P24),sum(P1,…,P24)/24];这里max()为求取最大值,min()为求取最小值,sum()为求和,文中定义相同。
负荷周K线:为一个周用电负荷的K线特征,基于一周七天的日负荷24点特征来计算,即[Pmax_week,Pmin_week,Pavg_week]=[max(P1_1,…,P24_7),min(P1_1,…,P24_7),sum(P1_1,…,P24_7)/24/7],这里Pn_m为一周中第m天的第n个数据点,m=[1,…,7],n=[1,2,...,24];
负荷月K线:为一个月用电负荷的K线特征,基于一月31天的日负荷24点特征来计算,即[Pmax_month,Pmin_month,Pavg_month]=[max(P1_1_,…,P24_31_),min(P1_1_,…,P24_31_),sum(P1_1_,…,P24_31_)/24/31];Pn_k_为一个月中第k天的第n个数据点,k=[1,…,31],n=[1,2,...,24];对于不满31天的月份,按31天补齐,补齐数据用后续数据填充;
负荷季K线:为一个季度一个月用电负荷的K线特征,基于一个季度一月31天的日负荷24点特征来计算,即[Pmax_season,Pmin_season,Pavg_season]=[max(P1_1_1,…,P24_31_3),min(P1_1_1,…,P24_31_3),sum(P1_1_1,…,P24_31_3)/24/31];Pn_k_s为一季度中第s个月第m天第n个数据点,s=[1,2,3],k=[1,…,31],n=[1,2,...,24];
负荷的日/周/月/季对应的K线特征 为12维;Pmax_day为日负荷最大值,Pmin_day为日负荷最小值,Pavg_day为日负荷平均值,Pmax_week为周负荷最大值,Pmin_week为周负荷最小值,Pavg_week为周负荷平均值;Pmax_month为月负荷最大值,Pmin_month为月负荷最小值,Pavg_month为月负荷平均值;Pmax_season为季负荷最大值,Pmin_season为季负荷最小值,Pavg_season为季负荷平均值;
周,月,季的数据为当前日期的前7天,前31天,前63天的数据窗口统计量;
c)负荷峰谷特征
定义日峰时间段为早上8点-晚上21点共14个小时,日谷时间段为晚上22点-第二天早上7点共10个小时;基于一天内的24个小时每个小时的用电负荷,计算峰谷特征;
日峰负荷,日谷负荷日均线:为单日日峰期间负荷均值,和单日日谷期间负荷均值特征,即[Ppeak_day,Pvalley_day]=[sum(P8,…,P21)/14,sum(P22,…,P7)/10];
日峰负荷,日谷负荷周均线:为一个周的日峰期间负荷均值,和一个周的日谷期间负荷均值,即[Ppeak_week,Pvalley_week]=sum(P8_1,…,P21_7)/14/7,sum(P22_1,…,P7_7)/10/7];这里Pn_m为一周中第m天的第n个数据点;
日峰负荷,日谷负荷月均线:为一个月的日峰期间负荷均值,和一个月的日谷期间负荷均值,即[Ppeak_month,Pvalley_month]=[sum(P8_1_,…,P21_31_)/14/31,sum(P22_1_,…,P7_31_)/10/31];这里Pn_k_为一个月中第k天的第n个数据点;
日峰负荷,日谷负荷季均线:为一个季的日峰期间负荷均值,和一个季的日谷期间负荷均值,即[Ppeak_season,Pvalley_season]=[sum(P8_1_1,…,P21_31_3)/14/31,sum(P22_1_1,…,P7_31_3)/10/31/3];这里Pn_k_s为一季度中第s个月第m天第n个数据点;
作为优选技术手段:在步骤4)中,电量特征中:
定义W为用电量,根据电表采集的数据,一天只有一个数据点,即Wn;
周平均电量:定义一周的电量为[W1,…,W7],则Wweek=sum(W1,…,W7)/7;
双周平均电量:定义双周的电量为[W1,…,W14],则Wdouble_week=sum(W1,…,W14)/14;
月平均电量:定义一个月的电量为[W1,…,W31],则Wmonth=sum(W1,…,W31)/31;
季平均电量:定义一个季的电量为[W1,…,W31x3],则Wseason=sum(W1,…,W31x3)/31/3;
周,双周,月,季的数据为当前日期的前7天,前14天,前31天,前63天的数据窗口的统计量。
作为优选技术手段:在步骤4)中,计算变化特征量dV,这里dV代表对向量V的一阶导数,具体计算为dV=(V_pre–V)/V,其中V是Vp和Vw的每个变量,V_pre是V的上一个周期的对应变量;
dPmax_day=(Pmax_pre-Pmax_day)/Pmax_day,为Pmax_day与前一天的Pmax_day相比的变化幅度;
dPmax_week=(Pmax_week_pre-Pmax_week)/Pmax_week,为Pmax_week与前一周的Pmax_week相比的变化幅度;
dWweek=(Wweek_pre-Wweek)/Wweek,为Wweek与前一周的Wweek的变化幅度,即周平均电量增长率。
然后根据原特征量,计算变化特征量,dV,也是55维,这样[V,dV]组装在一起,就是我们需要的完整分析向量,总共110维;
取一周的向量作为某家单位的电能向量,即使用106x7=742维的向量来表征当前这家单位的用电特征。
作为优选技术手段:在步骤7)中,进行降维和特征筛选时,由于初始特征向量为N维,总共需要分类的用户向量有M个;其中,N=742;使用PCA算法对特征进行降维和特征筛选;其步骤包括:
701)将M条N维数据,组成矩阵X,共N行M列
这里Xi为X的第i行,Xij为向量Xi的第j个元素,对M个元素进行求和平均就可以得到X的每一维的均值;
704)求出协方差矩阵的特征值λ及对应的特征向量V,即求解特征方程
705)将特征向量V按对应特征值λ每一维的大小从上到下按行排列成矩阵,取前k行组成矩阵P,即λ1,…,λk对应的特征向量组成P,P为K行N列的矩阵;这里k=50;
706)将数据X转换到k个特征向量构建的新空间中,就可以得到真正进入分类算法的特征向量Y,计算公式为Y=P X,即Y为矩阵P与X相乘的结果。经过转换之后即将原N维向量转换为K维向量,降低了维度。
作为优选技术手段:在步骤8)中,对于得到的k维特征向量集X,利用Mean shift自动进行分类,最后输出的类别标签就是分类的结果;具体Mean Shift分类步骤如下;
801)在未被标记的数据点中随机选择一个点作为中心center,每个center为一个N维向量;
802)找出离center距离在一定带宽之内的所有点,记做集合M,认为这些点属于簇c;同时,把属于这个类簇的特征点的概率加1;带宽的计算:从特征向量集X中随机选取500个样本,计算每一对样本的距离,然后选取这些距离的0.2分位数作为带宽;
803)以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift;
804)更新中心center,这里center=center+shift;即中心点沿着shift的方向移动,移动距离是||shift||,即shift向量长度;
805)重复步骤802)、803)、804),直到||shift||的小于设定阈值,即迭代收敛,设定阈值为0.01,记住此时的中心点center;这个迭代过程中遇到的点都归类到簇C1;
806)如果收敛时当前簇C1的中心点与其它已经存在的簇C2中心点的距离小于阈值,那么把C2和C1合并;否则,把C1作为新的聚类,增加1类;
807)重复801)、802)、803)、804)、805)、806)直到所有的点都被标记访问;
808)根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。
有益效果:
本技术方案中,通过采用Mean Shift分类技术,使得在分类过程中既不需要事先准备训练样本和训练标签,也不需要事先准备人工标签和事先确认分类总数,无需事先要求人工经验判断,在提高客观性的同时,有效提高工作效率和准确性。分类可以跟随企业和社会环境的变化而变化,进一步提高分类的准确性和效率。
基于用户实时用电情况曲线特征,实现自动分类的分析方法,实时获取企业用电情况,可以了解企业的客观运行状态,分类结果作为后期异动分析,为后期用户跟踪发挥了前期数据分层,起到提高后期工作准确率和效率的作用,方便后期开展工作。
附图说明
图1是本发明的流程图。
具体实施方式
以下结合说明书附图对本发明的技术方案做进一步的详细说明。
如图1所示,本发明包括以下步骤:
S1:获取各用户用电数据;
S2:数据预处理,包括对异常数据进行筛选、填充、对齐处理;
S3:获取预处理后的负荷数据和电量数据;
S4:在负荷数据和电量数据中抽取曲线技术指标特征得到对应的负荷特征和电量特征,负荷特征包括日负荷24点特征、负荷的日/周/月/季对应的K线特征、负荷峰谷特征,负荷峰谷特征包括日峰/日谷负荷、日/周/月/季均线特征;电量特征包括电量的日/周/月/季特征;由于不同类型用户的用电情况具有不同的时间周期特征。例如服务性行业主要在白天和前半夜用电,餐饮行业为中餐晚餐时间,居民用电为一早一晚,生产型行业根据生产周期不同用电峰值也不相同(如钢铁企业与水泥企业的周期不同),服装行业和农业则是在季度季节变化时出现波动,波动周期又不相同,医院用电则需要持续稳定7x24小时x365天的用电。所以,在用户分类中,特征需要包括从最小粒度的小时,峰谷时间段,到日,周,月,季的粗粒度用电信息中抽取。如果只采用最细粒度日内信息特征,会导致抽取的特征无法描述粗粒度的变化,如农林牧渔业的季节变化。同理对于只有粗粒度的特征,也无法描述居民用电与普通商业用电日内的差异,无法区分这两类用户。目前的特征设计能够更为全面的描述各类用户的用电行为,有效区分每类用户。
S5:根据负荷特征和电量特征计算对应的负荷变化特征量和电量变化特征量;基础负荷与电量特征都是某一阶段的状态值,而没有描述变化情况,如医院的日内的变化与餐饮行业的日内变化会有不同,所以需要增加变化特征更有效的区分不同用户。
S6:将负荷特征、电量特征、负荷变化特征量、电量变化特征量拼接组装成向量,将多种类型特征拼接成完整向量是后续算法步骤的基础;
S7:对向量进行降维和特征筛选;使用PCA算法对特征进行降维和特征筛选;特征筛选和降维能提高后续算法的效率,增强泛化能力。
S8:对降维后的向量使用Mean Shift算法进行用户分类,得到各用户的类别标签;使用该算法能够不完全依赖人工事先分类经验,根据实际数据无监督的自动分类,能够降低人工介入和应对变化的能力。
S9:输出类别标签,并根据类别标签进行用电趋势分析预测,进行对应的电能储备。
本技术方案基于每个整点的电表数据,包括负荷P和电量W两类型数据,在负荷P和电量W中分别抽取相应特征。在提取具体特征之前,需要对数据进行预处理(包括数据补全修正以及归一化),保证数据质量,然后再提取特征,接着对特征进行筛选和降维处理,提高特征的有效性,最后利用mean shift进行分类。
以下就部分步骤做进一步的说明:
(1)数据补全修正以及归一化
现在主要的数据来源是电表收集数据,会出现数据缺失,错误数据等问题。
对于缺失的数据,采用相邻点平均的方法,进行填充。例如对于每天24个点的电荷数据,缺失某个时间点的数据,采用相邻两点t1,t2的电荷信息,进行填充具体公式为Pt=P1+(P2-P1)(t-t1)/(t2-t1).这里Pt是需要填充的数据,P1,P2为与t相邻两个时间点t1,t2对应的数据。
对于明显错误的数据,异常数据,采用中心点距离检测的方法来计算异常点。例如对于电荷数据,统计每家企业的电荷均值μ,方差σ,对于μ±5σ的数据点认为是异常数据。去除异常点后留下的空缺数据点采用相邻点平均法替换。
对于不同物理意义的数据,因为尺度不同,会导致不同维度数据计算的不平衡,影响分类的准确性。采用(Vvalue-Vmin_value)/(Vmax_value-Vmin_value)-0.5将每一维向量都变换到[-1,1]统一的范围内。
(2)负荷特征:
a.日负荷24点特征:
b.负荷的日/周/月/季对应的K线特征
K线特征主要为某时间段的最大值,最小值,平均值组成。
负荷日K线:为单日用电的K线特征,基于日负荷24点特征来计算,即[Pmax_day,Pmin_day,Pavg_day]=[max(P1,…,P24),min(P1,…,P24),sum(P1,…,P24)/24]。这里max()为求取最大值,min()为求取最小值,sum()为求和,文中定义相同。
负荷周K线:为一个周用电负荷的K线特征,基于一周七天的日负荷24点特征来计算,即[Pmax_week,Pmin_week,Pavg_week]=[max(P1_1,…,P24_7),min(P1_1,…,P24_7),sum(P1_1,…,P24_7)/24/7],这里Pn_m为一周中第m天的第n个数据点,m=[1,…,7],n=[1,2,...,24]。
负荷月K线:为一个月用电负荷的K线特征,基于一月31天的日负荷24点特征来计算,即[Pmax_month,Pmin_month,Pavg_month]=[max(P1_1_,…,P24_31_),min(P1_1_,…,P24_31_),sum(P1_1_,…,P24_31_)/24/31]。Pn_k_为一个月中第k天的第n个数据点,k=[1,…,31],n=[1,2,...,24]。对于不满31天的月份,按31天补齐,补齐数据用后续数据填充。
负荷季K线:为一个季度一个月用电负荷的K线特征,基于一个季度一月31天的日负荷24点特征来计算,即[Pmax_season,Pmin_season,Pavg_season]=[max(P1_1_1,…,P24_31_3),min(P1_1_1,…,P24_31_3),sum(P1_1_1,…,P24_31_3)/24/31]。Pn_k_s为一季度中第s个月第m天第n个数据点,s=[1,2,3],k=[1,…,31],n=[1,2,...,24]
这里周,月,季的数据为当前日期的前7天,前31天,前63天的数据窗口统计量。
c.负荷峰谷特征
定义日峰时间段为早上8点-晚上21点共14个小时,日谷时间段为晚上22点-第二天早上7点共10个小时。基于一天内的24个小时每个小时的用电负荷,计算峰谷特征。
日峰负荷,日谷负荷日均线:为单日日峰期间负荷均值,和单日日谷期间负荷均值特征,即[Ppeak_day,Pvalley_day]=[sum(P8,…,P21)/14,sum(P22,…,P7)/10],
日峰负荷,日谷负荷周均线:为一个周的日峰期间负荷均值,和一个周的日谷期间负荷均值,即[Ppeak_week,Pvalley_week]=sum(P8_1,…,P21_7)/14/7,sum(P22_1,…,P7_7)/10/7]。这里Pn_m为一周中第m天的第n个数据点
日峰负荷,日谷负荷月均线:为一个月的日峰期间负荷均值,和一个月的日谷期间负荷均值,即[Ppeak_month,Pvalley_month]=[sum(P8_1_,…,P21_31_)/14/31,sum(P22_1_,…,P7_31_)/10/31]。这里Pn_k_为一个月中第k天的第n个数据点
日峰负荷,日谷负荷季均线:为一个季的日峰期间负荷均值,和一个季的日谷期间负荷均值,即[Ppeak_season,Pvalley_season]=[sum(P8_1_1,…,P21_31_3)/14/31,sum(P22_1_1,…,P7_31_3)/10/31/3]。这里Pn_k_s为一季度中第s个月第m天第n个数据点
(3)电量特征:
a.电量(日/周/月/季)特征向量:
定义W为用电量,根据电表采集的数据,一天只有一个数据点,即Wn;
周平均电量:定义一周的电量为[W1,…,W7],则Wweek=sum(W1,…,W7)/7;
双周平均电量:定义双周的电量为[W1,…,W14],则Wdouble_week=sum(W1,…,W14)/14;
月平均电量:定义一个月的电量为[W1,…,W31],则Wmonth=sum(W1,…,W31)/31;
季平均电量:定义一个季的电量为[W1,…,W31x3],则Wseason=sum(W1,…,W31x3)/31/3;
(4)变化特征量:
变化特征量d V=(V_pre–V)/V,这里V可以是负荷和电量的每维特征,V_pre是V的上一个周期的对应变量。如:
d Pmax_day=(Pmax_pre-Pmax_day)/Pmax_day,指Pmax_day与前一天的Pmax相比的变化幅度。
d Pmax_week=(Pmax_week_pre-Pmax_week)/Pmax_week,指Pmax_week与前一周的Pmax_week相比的变化幅度。
d Wweek=(Wweek_pre-Wweek)/Wweek,指Wweek与前一周的Wweek的变化幅度,即周平均电量增长率,
(5)组装向量
然后根据原特征量,计算变化特征量,dV,也是55维,这样[V,dV]组装在一起,就是我们需要的完整分析向量,总共110维。
取一周的向量作为某家单位的电能向量,即使用106x7=742维的向量来表征当前这家单位的用电特征。
(6)降维和特征筛选
为了降低计算量,使用PCA算法对特征进行降维和特征筛选。因为初始特征向量为N维,总共需要分类的用户向量有M个。这里N=742。
1)将M条N维数据,组成矩阵X,共N行M列
4)求出协方差矩阵的特征值λ及对应的特征向量X,即求解特征方程
5)将特征向量X按对应特征值λ每一维的大小从上到下按行排列成矩阵,取前k行组成矩阵P,即λ1,…,λk对应的特征向量组成P,P为K行N列的矩阵。这里K=50。
6)将数据转换到k个特征向量构建的新空间中,就可以得到真正进入分类算法的特征向量Y,计算公式为Y=P X,即Y为矩阵P与X相乘的结果。经过转换之后即将原N维向量转换为K维向量,降低了维度。
(7)Mean Shift分类
对于得到的k维特征向量集X,利用Mean shift自动进行分类,最后输出的类别标签就是分类的结果。具体Mean Shift分类步骤如下。
a.在未被标记的数据点中随机选择一个点作为中心center,每个center为一个N维向量;
b.找出离center距离在一定带宽之内的所有点,记做集合M,认为这些点属于簇c。同时,把属于这个类簇的特征点的概率加1。(带宽的计算:从特征向量集X中随机选取500个样本,计算每一对样本的距离,然后选取这些距离的0.2分位数作为带宽)
c.以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift。
d.计算center=center+shift。即中心点沿着shift的方向移动,移动距离是||shift||。
e.重复步骤b、c、d,直到||shift||的大小很小即迭代收敛,(设定阈值为0.01),记住此时的中心点center。这个迭代过程中遇到的点都归类到簇C1。
f.如果收敛时当前簇C1的中心点与其它已经存在的簇C2中心点的距离小于阈值,那么把C2和C1合并。否则,把C1作为新的聚类,增加1类。
g.重复a、b、c、d、e、f直到所有的点都被标记访问。
h.根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。
以上图1所示的一种基于用电特征和Mean Shift算法的用户类型分类方法是本发明的具体实施例,已经体现出本发明实质性特点和进步,可根据实际的使用需要,在本发明的启示下,对其进行形状、结构等方面的等同修改,均在本方案的保护范围之列。
Claims (8)
1.一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于包括以下步骤:
1)获取各用户用电数据;
2)数据预处理,包括对异常数据进行筛选、填充、对齐处理;
3)获取预处理后的负荷数据和电量数据;
4)在负荷数据和电量数据中抽取曲线技术指标特征得到对应的负荷特征和电量特征,负荷特征包括日负荷24点特征、负荷的日/周/月/季对应的K线特征、负荷峰谷特征,负荷峰谷特征包括日峰/日谷负荷、日/周/月/季均线特征;电量特征包括电量的日/周/月/季特征;
5)根据负荷特征和电量特征计算对应的负荷变化特征量和电量变化特征量;
6)将负荷特征、电量特征、负荷变化特征量、电量变化特征量拼接组装成向量;
7)对向量进行降维和特征筛选;使用PCA算法对特征进行降维和特征筛选;
8)对降维后的向量使用Mean Shift算法进行用户分类,得到各用户的类别标签;
9)输出类别标签,并根据类别标签进行用电趋势分析预测,进行对应的电能储备。
2.根据权利要求1所述的一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于:在步骤2)中,数据预处理时,对数据补全修正,并进行归一化处理;
对于缺失的数据,采用相邻点平均的方法,进行填充;当对于每天24个点的电荷数据,缺失某个时间点的数据时,采用相邻两点t1,t2的电荷信息,进行填充,具体公式为Pt=P1+(P2-P1)(t-t1)/(t2-t1);Pt是需要填充的数据,P1,P2为与t相邻两个时间点t1,t2对应的数据;
对于异常数据,采用中心点距离检测的方法来计算异常点;对于电荷数据,统计每家企业的电荷均值μ,方差σ,对于μ±5σ的数据点认为是异常数据;去除异常点后留下的空缺数据点采用相邻点平均法替换;
对于不同物理意义的数据,将每一维向量都变换到[-1,1]统一的范围内。
3.根据权利要求1所述的一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于:在步骤4)中,负荷特征中:
a)日负荷24点特征为:
b)负荷的日/周/月/季对应的K线特征为:
K线特征包括某时间段的最大值,最小值,平均值;
负荷日K线:为单日用电的K线特征,基于日负荷24点特征来计算,即[Pmax_day,Pmin_day,Pavg_day]=[max(P1,…,P24),min(P1,…,P24),sum(P1,…,P24)/24];其中,max()为求取最大值,min()为求取最小值,sum()为求和;
负荷周K线:为一个周用电负荷的K线特征,基于一周七天的日负荷24点特征来计算,即[Pmax_week,Pmin_week,Pavg_week]=[max(P1_1,…,P24_7),min(P1_1,…,P24_7),sum(P1_1,…,P24_7)/24/7],这里Pn_m为一周中第m天的第n个数据点,m=[1,…,7],n=[1,2,...,24];
负荷月K线:为一个月用电负荷的K线特征,基于一月31天的日负荷24点特征来计算,即[Pmax_month,Pmin_month,Pavg_month]=[max(P1_1_,…,P24_31_),min(P1_1_,…,P24_31_),sum(P1_1_,…,P24_31_)/24/31];Pn_k_为一个月中第k天的第n个数据点,k=[1,…,31],n=[1,2,...,24];对于不满31天的月份,按31天补齐,补齐数据用后续数据填充;
负荷季K线:为一个季度一个月用电负荷的K线特征,基于一个季度一月31天的日负荷24点特征来计算,即[Pmax_season,Pmin_season,Pavg_season]=[max(P1_1_1,…,P24_31_3),min(P1_1_1,…,P24_31_3),sum(P1_1_1,…,P24_31_3)/24/31];Pn_k_s为一季度中第s个月第m天第n个数据点,s=[1,2,3],k=[1,…,31],n=[1,2,...,24];
负荷的日/周/月/季对应的K线特征 为12维;Pmax_day为日负荷最大值,Pmin_day为日负荷最小值,Pavg_day为日负荷平均值,Pmax_week为周负荷最大值,Pmin_week为周负荷最小值,Pavg_week为周负荷平均值;Pmax_month为月负荷最大值,Pmin_month为月负荷最小值,Pavg_month为月负荷平均值;Pmax_season为季负荷最大值,Pmin_season为季负荷最小值,Pavg_season为季负荷平均值;
周,月,季的数据为当前日期的前7天,前31天,前63天的数据窗口统计量;
c)负荷峰谷特征
定义日峰时间段为早上8点-晚上21点共14个小时,日谷时间段为晚上22点-第二天早上7点共10个小时;基于一天内的24个小时每个小时的用电负荷,计算峰谷特征;
日峰负荷,日谷负荷日均线:为单日日峰期间负荷均值,和单日日谷期间负荷均值特征,即[Ppeak_day,Pvalley_day]=[sum(P8,…,P21)/14,sum(P22,…,P7)/10];
日峰负荷,日谷负荷周均线:为一个周的日峰期间负荷均值,和一个周的日谷期间负荷均值,即[Ppeak_week,Pvalley_week]=sum(P8_1,…,P21_7)/14/7,sum(P22_1,…,P7_7)/10/7];这里Pn_m为一周中第m天的第n个数据点;
日峰负荷,日谷负荷月均线:为一个月的日峰期间负荷均值,和一个月的日谷期间负荷均值,即[Ppeak_month,Pvalley_month]=[sum(P8_1_,…,P21_31_)/14/31,sum(P22_1_,…,P7_31_)/10/31];这里Pn_k_为一个月中第k天的第n个数据点;
日峰负荷,日谷负荷季均线:为一个季的日峰期间负荷均值,和一个季的日谷期间负荷均值,即[Ppeak_season,Pvalley_season]=[sum(P8_1_1,…,P21_31_3)/14/31,sum(P22_1_1,…,P7_31_3)/10/31/3];这里Pn_k_s为一季度中第s个月第m天第n个数据点;
4.根据权利要求3所述的一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于:在步骤4)中,电量特征中:
定义W为用电量,根据电表采集的数据,一天只有一个数据点,即Wn;
周平均电量:定义一周的电量为[W1,…,W7],则Wweek=sum(W1,…,W7)/7;
双周平均电量:定义双周的电量为[W1,…,W14],则Wdouble_week=sum(W1,…,W14)/14;
月平均电量:定义一个月的电量为[W1,…,W31],则Wmonth=sum(W1,…,W31)/31;
季平均电量:定义一个季的电量为[W1,…,W31x3],则Wseason=sum(W1,…,W31x3)/31/3;
周,双周,月,季的数据为当前日期的前7天,前14天,前31天,前63天的数据窗口的统计量。
5.根据权利要求4所述的一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于:在步骤4)中,计算变化特征量,dV代表对向量V的一阶导数,具体计算为:d V=(V_pre–V)/V,其中V是Vp和Vw的每个变量,V_pre是V的上一个周期的对应变量;
d Pmax_day=(Pmax_pre-Pmax_day)/Pmax_day,为Pmax_day与前一天的Pmax_day相比的变化幅度;
d Pmax_week=(Pmax_week_pre-Pmax_week)/Pmax_week,为Pmax_week与前一周的Pmax_week相比的变化幅度;
d Wweek=(Wweek_pre-Wweek)/Wweek,为Wweek与前一周的Wweek的变化幅度,即周平均电量增长率。
7.根据权利要求6所述的一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于:在步骤7)中,进行降维和特征筛选时,由于初始特征向量为N维,总共需要分类的用户向量有M个;其中,N=742;使用PCA算法对特征进行降维和特征筛选;其步骤包括:
701)将M条N维数据,组成矩阵X,共N行M列;
704)求出协方差矩阵的特征值λ及对应的特征向量X,即求解特征方程;
705)将特征向量X按对应特征值λ每一维的大小从上到下按行排列成矩阵,取前k行组成矩阵P;即λ1,…,λk对应的特征向量组成P,P为K行N列的矩阵;
706)将数据转换到k个特征向量构建的新空间中,得到真正进入分类算法的特征向量Y,计算公式为Y=P X,即Y为矩阵P与X相乘的结果;经过转换之后即将原N维向量转换为K维向量,降低了维度。
8.根据权利要求7所述的一种基于用电特征和Mean Shift算法的用户类型分类方法,其特征在于:在步骤8)中,对于得到的k维特征向量集X,利用Mean shift自动进行分类,最后输出的类别标签就是分类的结果;具体Mean Shift分类步骤如下;
801)在未被标记的数据点中随机选择一个点作为中心center,每个center为一个N维向量;
802)找出离center距离在一定带宽之内的所有点,记做集合M,认为这些点属于簇c;同时,把属于这个类簇的特征点的概率加1;其中带宽的计算:从特征向量集X中随机选取500个样本,计算每一对样本的距离,然后选取这些距离的0.2分位数作为带宽;
803)以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift;
804)计算center=center+shift;即中心点沿着shift的方向移动,移动距离是||shift||;
805)重复步骤802)、803)、804),直到||shift||小于设定阈值,即迭代收敛,记住此时的中心点center;这个迭代过程中遇到的点都归类到簇C1;
806)如果收敛时当前簇C1的中心点与其它已经存在的簇C2中心点的距离小于阈值,那么把C2和C1合并;否则,把C1作为新的聚类,增加1类;
807)重复801)、802)、803)、804)、805)、806)直到所有的点都被标记访问;
808)根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210134165.2A CN114692672A (zh) | 2022-02-14 | 2022-02-14 | 一种基于用电特征和Mean Shift算法的用户类型分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210134165.2A CN114692672A (zh) | 2022-02-14 | 2022-02-14 | 一种基于用电特征和Mean Shift算法的用户类型分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114692672A true CN114692672A (zh) | 2022-07-01 |
Family
ID=82136873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210134165.2A Pending CN114692672A (zh) | 2022-02-14 | 2022-02-14 | 一种基于用电特征和Mean Shift算法的用户类型分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114692672A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436002A (zh) * | 2023-06-13 | 2023-07-14 | 成都航空职业技术学院 | 一种楼宇用电预测方法 |
-
2022
- 2022-02-14 CN CN202210134165.2A patent/CN114692672A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436002A (zh) * | 2023-06-13 | 2023-07-14 | 成都航空职业技术学院 | 一种楼宇用电预测方法 |
CN116436002B (zh) * | 2023-06-13 | 2023-09-05 | 成都航空职业技术学院 | 一种楼宇用电预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113962364B (zh) | 一种基于深度学习的多因素用电负荷预测方法 | |
CN111199016B (zh) | 一种基于DTW的改进K-means的日负荷曲线聚类方法 | |
CN110503256A (zh) | 基于大数据技术的短期负荷预测方法及系统 | |
CN114792156B (zh) | 基于曲线特征指标聚类的光伏输出功率预测方法和系统 | |
CN104598986A (zh) | 基于大数据的电力负荷预测方法 | |
CN110119421A (zh) | 一种基于Spark流式分类的电力窃电用户识别方法 | |
CN108492134A (zh) | 基于多周期回归树集成的大数据用户用电行为分析系统 | |
CN111460001B (zh) | 一种配电网理论线损率评估方法及系统 | |
CN106779219A (zh) | 一种用电量预测方法及系统 | |
CN107248031B (zh) | 一种针对负荷曲线峰谷差的快速电力用户分类方法 | |
CN110188919A (zh) | 一种基于长短期记忆网络的负荷预测方法 | |
CN108694470A (zh) | 一种基于人工智能的数据预测方法及装置 | |
CN108681744A (zh) | 一种基于数据划分的电力负荷曲线层次聚类方法 | |
CN106980906B (zh) | 一种基于spark的Ftrl电压预测方法 | |
CN108428055A (zh) | 一种考虑负荷纵向特性的负荷聚类方法 | |
CN114611738A (zh) | 一种基于用户用电行为分析的负荷预测方法 | |
CN114692672A (zh) | 一种基于用电特征和Mean Shift算法的用户类型分类方法 | |
CN114611757A (zh) | 基于遗传算法与改进深度残差网络的电力系统短期负荷预测方法 | |
CN117151770A (zh) | 一种基于注意力机制的lstm碳价预测方法和系统 | |
CN114676931B (zh) | 一种基于数据中台技术的电量预测系统 | |
CN113837486B (zh) | 一种基于rnn-rbm的配网馈线长期负荷预测方法 | |
CN114048200A (zh) | 一种计及缺失数据补齐的用户用电行为分析方法 | |
Prashanthi et al. | A comparative study of the performance of machine learning based load forecasting methods | |
CN109034453A (zh) | 一种基于多标记神经网络的短期电力负荷预测方法 | |
CN115034285A (zh) | 一种基于svm-ws的智能电表故障预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |