一种基于人类行为的负荷分解算法转让专利

申请号 : CN201810725300.4

文献号 : CN109214545B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 殷波魏志强丛艳平黄贤青李振寰

申请人 : 中国海洋大学

摘要 :

本发明公开了一种基于人类行为的负荷分解算法,包括以下步骤:第一步,基于人类行为的模型训练:通过对人类行为的统计分析,根据人类行为的活跃度等级建立时间片,对每个时间片分别建模和训练;第二步,负荷分解:通过上一步得到模型和时间片,根据传入数据时间片的不同选择不同的模型参数进行分解,最终得到单电器的负荷。本发明考虑到了人类行为对于电器开关的影响,引入了时间戳的概念,加入了人类行为对于电器开关的影响因子,将人类经验作为负荷分解的参照依据之一,并将电流电压特征通过计算转化为功率特征,提高了低频采样负荷分解的准确度。

权利要求 :

1.一种基于人类行为的负荷分解算法,其特征在于,包括以下步骤:第一步,基于人类行为的模型训练:通过对人类行为的统计分析,根据人类行为的活跃度等级建立时间片,对每个时间片分别建模和训练;

基于人类行为的模型训练的具体步骤是:

步骤1,采集常用的家庭用电设备数据:采集多个家庭用电设备在日常条件下一段时间内的电流电压数据,并加上时间戳,然后将电流电压数据转换为功率;

步骤2,对采集到的数据进行数据预处理:滤除数据中的噪声数据和采集过程中的奇异值和空值,然后将数据转换为hdf5格式的数据;

步骤3,根据采集的数据构造人类行为时间片;

步骤3构造人类行为时间片的方法如下:

1)将时间分为工作日和节假日,得到日期集合{D|节假日,工作日};

2)将一天的每个小时作为一个时间段,对节假日和工作日分别进行统计得到每个时间段的平均功率Wh和方差Vh,其中,h表示时间段,一个小时为一个时间段;

3)找到方差和平均功率的最大值maxWh和maxVh;每个时间段的人类行为活跃度yh为:

4)找到最大maxyh,将时间段按活跃度同最大活跃度的比值分为H,MH,M,ML,L,等级,每个等级对应一个时间片;

步骤4,对每个时间片分别训练模型:基于FHMM的总负荷模型定义为其中,

π表示负载初始状态的概率矩阵 是隐含状态在初始时刻t=1的概率矩阵;

A是状态转移概率矩阵: 表示在t-1时刻、状态为 条件下,在t时刻状态是 的概率;

表示状态到观测的输出概率矩阵 表示t时刻、隐含状态是条件下,观测状态为ot的概率;

s为隐含状态,o为观测状态,N为隐含状态数目;

步骤5,单个电器负荷参数估计:通过给定的每个电器的电表数据对每个电器进行隐马尔可夫模型建模,通过EM算法迭代估计最优参数;

步骤6,单个模型合成FHMM模型:利用单个电器的负荷数据,对每个电器利用EM算法进行训练得到各个负荷的模型参数,得到每个电器的HMM模型、每个时间片的FHMM模型;第二步,负荷分解:通过上一步得到模型和时间片,根据传入数据时间片的不同选择不同的模型参数进行分解,最终得到单电器的负荷。

2.根据权利要求1所述的基于人类行为的负荷分解算法,其特征在于:步骤5,已知每个电器的负荷 其中i表示电器编号,T表示时序模型的顺序下标,得到每个电器的隐马尔可夫模型 采用EM算法从初始的参数θ0出发,迭代估计最优参数θ,迭代过程包括以下两个步骤:第E步:计算对数似然函数的期望

L(θ,θk)=E(lg(P((S,O)|θ))θk,O)  (4.2)第M步:求解使得对数似然函数最大的模型参数θk+1=arg max L(θ,θk)  (4.3)直到迭代到θk+1→θk,即为最优的模型参数,k为迭代次数;

对于单个电器,隐马尔可夫模型的初始状态概率πi取均匀分布。

3.根据权利要求2所述的基于人类行为的负荷分解算法,其特征在于:在基于个人经验的FHMM的总负荷模型中,各个马尔科夫状态链之间相互独立,因此FHMM模型参数的初始状态概率矩阵和状态转移概率矩阵表示为:对于连续观测状态的HMM模型,观测概率用高斯分布来表示,高斯分布的概率密度函数参数用μ表示高斯分布的期望向量,∑表示高斯分布的协方差矩阵,通常情况下观测到电力负载的多维负荷特征相互独立,因此协方差矩阵∑为p阶的对角阵,p取值1;FHMM中:利用单个电器的负荷数据,对每个电器利用EM算法进行训练得到各个负荷的模型参数,根据公式4.2,4.3得到每个电器的HMM模型,然后通过公式4.4到4.8得到每个时间片的FHMM模型。

4.根据权利要求1-3任一项所述的基于人类行为的负荷分解算法,其特征在于,基于个人经验的负荷分解过程包括:Step1,数据采集:从电源接口采集电流电压和时间;

Step2,数据预处理:对采集到的原始数据处理,滤除数据中的噪声数据和采集过程中的奇异值和空值,同时获得功率数据,然后将数据转换为hdf5格式的数据;

Step3,负荷状态识别:将经过预处理以后的数据导入模型进行负荷分解;

Step4,单个负荷消耗能量的预测。

5.根据权利要求4所述的基于人类行为的负荷分解算法,其特征在于,Step3是已知模型参数和负荷 以及负荷观测到的时间,求解本时间段FHMM负荷模型的最优状态组合,这是一个以后验概率最大为目标的优化问题,即maxP(S|O)  (4.9)

指条件O下S的概率最大;

具体步骤为:

输入:预处理后的电器时间t和总功率W功率数据,根据人类行为得到的时间片D及其对应的模型MD(π,A,B),T表示时间片内的时刻数;

输出:K类设备所消耗的功率值。

6.根据权利要求5所述的基于人类行为的负荷分解算法,其特征在于,具体步骤是:第1步:

定义在t时刻、状态为s的所有单个路径中概率最大值为δ(s);

定义在t时刻、状态为s的所有单个路径中概率最大的路径的第t-1个节点为定义状态j到s的转移概率为ajs;

定义状态s产生观测向量o的概率为bs(os);

初始化t=1,根据电器时间对应的选取时间片对应的模型MD初始化参数π,A,B,第2步:递推对于t=1,2,3...T第3步:终止

第4步,最优路径回溯,对于t=T-1,T-2....1,求的最优路径

7.根据权利要求5所述的基于人类行为的负荷分解算法,其特征在于,Step4能耗分解时,在时刻t,电器i的能量为其中,μ(St)为t时刻、隐含状态S对应的高斯分布的均值。

说明书 :

一种基于人类行为的负荷分解算法

技术领域

[0001] 本发明属于智能电网技术领域,特别涉及一种基于人类行为的负荷分解算法。

背景技术

[0002] 能源需求是人类社会生存和发展的基础。在日常的能源消耗上,电能是主要的消耗形式,电能的消耗比例也在逐年提升。为了不断满足人类对电能的消耗,使能源得到高效合理化的利用,那么家用电器的管理便变得及其重要。
[0003] 目前,我们住宅内的用户智能用电网络还没有形成,电表仅是得到用户端总的干线电流、电压信息,电表本身无法识别电器的类型。为了了解家庭的详细用电情况需要进行负荷分解。负荷分解也被称为非侵入式负荷监测,是利用电力入口处的负荷信息对其内部包含的用电设备进行状态监测和能耗分解,以获取单个电器的用电信息。由于电表获得信息有限,只有电流电压信息,进行负荷分解比较困难,分解的效果也比较差。同时,对负荷数据进行高频采样可以获得区分度更高的负荷特征,但同时会带来较大的数据存储和处理成本,利用负荷低频采样数据进行准确的负荷分解是困难的。
[0004] 目前,负荷分解主要有几种方法:基于HMM的负荷分解算法、基于FHMM的负荷分解算法和基于组合优化的负荷分解算法。HMM基于一条隐马尔可夫链,将每一种电器组合看作马尔科夫模型的一个隐含状态,将特征看作观察状态。FHMM是HMM的扩展,为每个电器单独建立一个马尔科夫模型然后组合成一个含有多个马尔科夫链的因子隐马尔可夫模型。组合优化问题是在有限个可行解的集合中找出最优解的问题,在解决负荷分解问题时通常使用组合优化算法中的遗传算法,系统的负荷个数N等于个体长度,通过迭代找到最优的电器组合来实现负荷分解。
[0005] 各种分解方法均能够在一定程度上实现用电负荷分解,但由于特征性质单一,分解手段单一,负荷分解的结果较差,负荷分解问题仍存在诸多问题,主要表现在:
[0006] 1.对负荷数据进行高频采样可以获得区分度更高的负荷特征,但同时会带来较大的数据存储和处理成本,利用负荷低频采样数据进行准确的负荷分解是困难的。
[0007] 2.对所有样本直接进行训练,忽视了不通时间段电器运行概率的人为因素影响,使用统一的模型进行负荷分解,对负荷分解的准确率造成干扰。如图1所示,使用传统的模型分解得到的洗碗机功率波形与实际波形相差较多,尤其对于电器开关的准确率分解极低。

发明内容

[0008] 针对现有技术存在的不足,本发明考虑到了人类行为对于电器开关的影响,引入了时间戳的概念,加入了人类行为对于电器开关的影响因子,将人类经验作为负荷分解的参照依据之一,并将电流电压特征通过计算转化为功率特征,使用低频采样数据得到了一种基于人类行为的负荷分解算法。
[0009] 为了解决上述技术问题,本发明采用的技术方案是:一种基于人类行为的负荷分解算法,包括以下步骤:
[0010] 第一步,基于人类行为的模型训练:通过对人类行为的统计分析,根据人类行为的活跃度等级建立时间片,对每个时间片分别建模和训练;
[0011] 第二步,负荷分解:通过上一步得到模型和时间片,根据传入数据时间片的不同选择不同的模型参数进行分解,最终得到单电器的负荷。
[0012] 进一步的,基于人类行为的模型训练的具体步骤是:
[0013] 步骤1,采集常用的家庭用电设备数据:采集多个家庭用电设备在日常条件下一段时间内的电流电压数据,并加上时间戳,然后将电流电压数据转换为功率;
[0014] 步骤2,对采集到的数据进行数据预处理:滤除数据中的噪声数据和采集过程中的奇异值和空值,然后将数据转换为hdf5格式的数据;
[0015] 步骤3,根据采集的数据构造人类行为时间片;
[0016] 步骤4,对每个时间片分别训练模型:基于FHMM的总负荷模型定义为[0017] 其中,
[0018] π表示负载初始状态的概率矩阵 是隐含状态在初始时刻t=1的概率矩阵;
[0019] A是状态转移概率矩阵: 表示在t-1时刻、状态为 条件下,在t时刻状态是 的概率;
[0020] 表示状态到观测的输出概率矩阵 表示t时刻、隐含状态是条件下,观察状态为ot的概率;
[0021] s为隐含状态,o为观测状态,N为隐含状态数目;
[0022] 步骤5,单个电器负荷参数估计:通过给定的每个电器的电表数据对每个电器进行隐马尔可夫模型建模,通过EM算法迭代估计最优参数;
[0023] 步骤6,单个模型合成FHMM模型:利用单个电器的负荷数据,对每个电器利用EM算法进行训练得到各个负荷的模型参数,得到每个电器的HMM模型、每个时间片的FHMM模型。
[0024] 优选的是,步骤3构造人类行为时间片的方法如下:
[0025] 1)将时间分为工作日和节假日,得到日期集合{D|节假日,工作日};
[0026] 2)将一天的每个小时作为一个时间段,对节假日和工作日分别进行统计得到每个时间段的平均功率Wh和方差Vh,其中,h表示时间段,一个小时为一个时间段;
[0027] 3)找到方差和平均功率的最大值maxWh和maxVh;每个时间段的人类行为活跃度yh为:
[0028]
[0029] 4)找到最大maxyh,将时间段按活跃度同最大活跃度的比值分为H,MH,M,ML,L,等级,每个等级对应一个时间片。
[0030] 优选的是,步骤5是,已知每个电器的负荷 其中i表示电器编号,T表示时序模型的顺序下标,得到每个电器的隐马尔可夫模型 采用EM算法从初始0
的参数θ出发,迭代估计最优参数θ,迭代过程包括以下两个步骤:
[0031] 第E步:计算对数似然函数的期望
[0032] L(θ,θk)=E(lg(P((S,O)|θ))θk,O)  (4.2)
[0033] 第M步:求解使得对数似然函数最大的模型参数
[0034] θk+1=argmaxL(θ,θk)  (4.3)
[0035] 直到迭代到θk+1→θk,即为最优的模型参数,k为迭代次数;
[0036] 对于单个电器,隐马尔可夫模型的初始状态概率πi取均匀分布。
[0037] 进一步的,在基于个人经验的FHMM的总负荷模型中,各个马尔科夫状态链之间相互独立,因此FHMM模型参数的初始状态概率矩阵和状态转移概率矩阵表示为:
[0038]
[0039]
[0040] 对于连续观测状态的HMM模型,观测概率用高斯分布来表示,
[0041]
[0042] 高斯分布的概率密度函数参数用μ表示高斯分布的期望向量,∑表示高斯分布的协方差矩阵,通常情况下观测到电力负载的多维负荷特征相互独立,因此协方差矩阵∑为p阶的对角阵,p取值1;FHMM中:
[0043]
[0044]
[0045] 利用单个电器的负荷数据,对每个电器利用EM算法进行训练得到各个负荷的模型参数,根据公式4.2,4.3得到每个电器的HMM模型,然后通过公式4.4到4.8得到每个时间片的FHMM模型。
[0046] 进一步的,基于个人经验的负荷分解过程包括:
[0047] Step1,数据采集:从电源接口采集电流电压和时间;
[0048] Step2,数据预处理:对采集到的原始数据处理,滤除数据中的噪声数据和采集过程中的奇异值和空值,同时获得功率数据,然后将数据转换为hdf5格式的数据;
[0049] Step3,负荷状态识别:将经过预处理以后的数据导入模型进行负荷分解;
[0050] Step4,单个负荷消耗能量的预测。
[0051] 进一步的,Step3是已知模型参数和负荷 以及负荷观测到的时间,求解本时间段FHMM负荷模型的最优状态组合,这是一个以后验概率最大为目标的优化问题,即
[0052] maxP(S|O)  (4.9)
[0053] 指条件O下S的概率最大;
[0054] 具体步骤为:
[0055] 输入:预处理后的电器时间t和总功率W功率数据(即观测向量o),根据人类行为得到的时间片D及其对应的模型MD(π,A,B),T表示时间片内的时刻数;
[0056] 输出:K类设备所消耗的功率值。
[0057] 第1步:
[0058] 定义在t时刻、状态为s的所有单个路径中概率最大值为δ(s);
[0059] 定义在t时刻、状态为s的所有单个路径中概率最大的路径的第t-1个节点为[0060] 定义状态j到s的转移概率为ajs;
[0061] 定义状态s产生观测向量o的概率为bs(Os);
[0062] 初始化t=1,根据电器时间对应的选取时间片对应的模型MD初始化参数π,A,B,[0063]
[0064] 第2步:递推对于t=1,2,3...T
[0065] δt(s)=max1≤j≤Nδt-1(j)ajsbs(os)  (4.11)
[0066]
[0067] 第3步:终止
[0068] P*=max1≤s≤NδT(s)  (4.13)
[0069] s*=argmax1≤s≤NδT(s)  (4.14)第4步,最优路径回溯,对于t=T-1,T-2....1,
[0070]
[0071] 求的最优路径
[0072] 进一步的,Step4能耗分解时,在时刻t,电器i的能量为
[0073]
[0074] 其中,μ(St)为t时刻、隐状态S对应的高斯分布的均值。
[0075] 与现有技术相比,本发明优点在于:
[0076] (1)本发明提出了一种基于个人经验的负荷分解算法,考虑到了人类行为对于电器开关的影响,引入了时间戳的概念,基于人类行为提取不同时段的活跃度因子,将人类的行为作为负荷分解的影响因素修正了状态转移矩阵,通过改进的基于时间的鲍姆韦尔奇算法和维特比算法,对不同时间段的数据分别进行训练和分解,避免了其他时间段的电器开关的影响。
[0077] (2)本发明提出了一整套完善的负荷分解方案,包括数据采集、数据预处理、负荷状态识别、能耗分解,提高了低频采样负荷分解的准确度,在一定程度上可以代替高频采样,减少了计算的成本。

附图说明

[0078] 图1传统模型分解得到的洗碗机功率波形与实际波形图;
[0079] 图2为本发明的流程图;
[0080] 图3为本发明基于人类行为的模型训练的流程图;
[0081] 图4为本发明负荷分解流程图。

具体实施方式

[0082] 下面结合附图及具体实施例对本发明作进一步的说明。
[0083] 如图2所示,本发明基于人类行为的负荷分解算法,分为模型训练和负荷分解两部分:
[0084] 第一步,基于人类行为的模型训练:通过对人类行为的统计分析,根据人类行为的活跃度等级建立时间片,对每个时间片分别建模和训练;
[0085] 第二步,负荷分解:通过上一步得到模型和时间片,根据传入数据时间片的不同选择不同的模型参数进行分解,最终得到单电器的负荷。
[0086] 下面结合图3对模型训练的具体步骤一一说明,基于人类行为的模型训练的具体步骤是:
[0087] 步骤1,采集常用的家庭用电设备数据:使用20个家庭常用电器在日常条件下30天的电流电压数据并加上时间戳,然后将电流电压数据转换为功率。
[0088] 步骤2,对采集到的原始数据进行处理,本发明使用的是功率数据,通常需要对电流电压进行计算得到,同时利用程序滤除数据中的噪声数据和采集过程中的奇异值和空值;然后将数据转换为hdf5格式的数据,方便科学计算使用。
[0089] 步骤3,根据采集的数据构造人类行为时间片:
[0090] 1)将时间分为工作日和节假日,得到日期集合{D|节假日,工作日};
[0091] 2)将一天的每个小时作为一个时间段,对节假日和工作日分别进行统计得到每个时间段的平均功率Wh和方差Vh,其中,h表示时间段,一个小时为一个时间段;
[0092] 3)找到方差和平均功率的最大值maxWh和maxVh;每个时间段的人类行为活跃度yh为:
[0093]
[0094] 4)找到最大maxyh,将时间段按活跃度同最大活跃度的比值分为H,MH,M,ML,L,等级,每个等级对应一个时间片,具体规则为
[0095] if yi/maxyi>=0.8
[0096] activity=H;
[0097] elseif yi/maxyi<0.8&&yi/maxyi>0.6
[0098] activity=MH
[0099] elseif yi/maxyi<0.6&&yi/maxyi>0.4
[0100] activity=M
[0101] elseif yi/maxyi<0.4&&yi/maxyi>0.2
[0102] activity=ML
[0103] else
[0104] activity=L
[0105] 步骤4,对每个时间片分别训练模型:基于FHMM的总负荷模型定义为 其中,
[0106] π表示负载初始状态的概率矩阵 是隐含状态在初始时刻t=1的概率矩阵;
[0107] A是状态转移概率矩阵: 表示在t-1时刻、状态为 条件下,在t时刻状态是 的概率;
[0108] 表示状态到观测的输出概率矩阵 表示t时刻、隐含状态是条件下,观察状态为ot的概率;
[0109] s为隐含状态,o为观测状态,N为隐含状态数目。
[0110] 步骤5,单个电器负荷参数估计:通过给定的每个电器的电表数据对每个电器进行隐马尔可夫模型建模。即已知每个电器的负荷 其中i表示电器编号,T表示时序模型的顺序下标,得到每个电器的隐马尔可夫模型 采用EM算法从初始的参数θ0出发,迭代估计最优参数θ,迭代过程包括以下两个步骤:
[0111] 第E步:计算对数似然函数的期望
[0112] L(θ,θk)=E(lg(P((S,O)|θ))θk,O)  (4.2)
[0113] 第M步:求解使得对数似然函数最大的模型参数
[0114] θk+1=argmaxL(θ,θk)  (4.3)
[0115] 直到迭代到θk+1→θk,即为最优的模型参数,k为迭代次数;
[0116] 对于单个电器,隐马尔可夫模型的初始状态概率πi取均匀分布。
[0117] 步骤6,单个模型合成FHMM模型:
[0118] 在基于个人经验的FHMM的总负荷模型中,各个马尔科夫状态链之间相互独立,因此FHMM模型参数的初始状态概率矩阵和状态转移概率矩阵表示为:
[0119]
[0120]
[0121] 对于连续观测状态的HMM模型,观测概率用高斯分布来表示,
[0122]
[0123] 高斯分布的概率密度函数参数用μ表示高斯分布的期望向量,∑表示高斯分布的协方差矩阵,通常情况下观测到电力负载的多维负荷特征相互独立,因此协方差矩阵∑为p阶的对角阵,p取值1;FHMM中:
[0124]
[0125]
[0126] 利用单个电器的负荷数据,对每个电器利用EM算法进行训练得到各个负荷的模型参数,根据公式4.2,4.3得到每个电器的HMM模型,然后通过公式4.4到4.8得到每个时间片的FHMM模型。
[0127] 下面结合图4对本发明的基于个人经验的负荷分解过程作一说明,包括数据采集,数据预处理,负荷状态识别,能耗分解。下面对这几个过程分别进行描述。
[0128] Step1,数据采集:使用非侵入式设备,从电源接口获得电流电压和时间。
[0129] Step2,数据预处理:对采集到的原始数据进行处理,本发明使用的是功率数据,通常需要对电流电压进行计算得到,同时利用程序滤除数据中的噪声数据和采集过程中的奇异值和空值。然后将数据转换为hdf5格式的数据,方便科学计算使用。
[0130] Step3,负荷状态识别:将经过预处理以后的数据导入模型进行负荷分解,是已知模型参数和负荷 以及负荷观测到的时间,求解本时间段FHMM负荷模型的最优状态组合,这是一个以后验概率最大为目标的优化问题,即
[0131] maxP(S|O)  (4.9)
[0132] 指条件O下S的概率最大;
[0133] 具体步骤为:
[0134] 输入:预处理后的电器时间t和总功率W功率数据(即观测向量o),根据人类行为得到的时间片D及其对应的模型MD(π,A,B),T表示时间片内的时刻数;
[0135] 输出:K类设备所消耗的功率值。
[0136] 第1步:
[0137] 定义在t时刻、状态为s的所有单个路径中概率最大值为δ(s);
[0138] 定义在t时刻、状态为s的所有单个路径中概率最大的路径的第t-1个节点为[0139] 定义状态j到s的转移概率为ajs;
[0140] 定义状态s产生观测向量o的概率为bs(os);
[0141] 初始化t=1,根据电器时间对应的选取时间片对应的模型MD初始化参数π,A,B,[0142]
[0143] 第2步:递推对于t=1,2,3...T
[0144] δt(s)=max1≤j≤Nδt-1(j)ajsbs(os)  (4.11)
[0145]
[0146] 第3步:终止
[0147] P*=max1≤s≤NδT(s)  (4.13)
[0148] s*=argmax1≤s≤NδT(s)  (4.14)
[0149] 第4步,最优路径回溯,对于t=T-1,T-2....1,
[0150]
[0151] 求的最优路径
[0152] Step4,单个负荷消耗能量的预测。
[0153] 在时刻t,电器i的能量为
[0154]
[0155] 其中,μ(St)为t时刻、隐状态S对应的高斯分布的均值。(由公式4.6本发明的观测概率使用高斯分布来表示,即观测向量为当前功率的高斯分布的均值μ和协方差∑,这里取μ为最终分解的功率)。
[0156] 综上所述,本发明提出的基于个人经验的负荷分解算法是在FHMM的基础上进行扩展,在原有的因子隐马尔可夫模型的基础上,考虑了人类行为对电器运行状况的影响。本发明基于人类行为提取不同时段的活跃度因子,将人类的行为作为负荷分解的影响因素修正了状态转移矩阵;将样本根据时间戳进行训练和分解,避免了其他时间段的电器开关的影响,本发明的负荷分解方法提高了低频采样负荷分解的准确度,在一定程度上可以代替高频采样减少了计算的成本。
[0157] 当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,做出的变化、改型、添加或替换,都应属于本发明的保护范围。