基于GSP工具箱的NILM算法matlab仿真

简介: 基于GSP工具箱的NILM算法Matlab仿真,利用图信号处理技术解析家庭或建筑内各电器的独立功耗。GSPBox通过图的节点、边和权重矩阵表示电气系统,实现对未知数据的有效分类。系统使用MATLAB2022a版本,通过滤波或分解技术从全局能耗信号中提取子设备的功耗信息。

1.课题概述
基于GSP工具箱的NILM算法matlab仿真。GSP是图形信号处理的缩写,GSP非常适合对未知数据进行分类,尤其是当训练数据非常短时。GSPBox的基本理论是谱图论和图滤波,因此,GSPBox中的主要对象是图,图包括图的基本元素,如节点、边和权重矩阵等。

2.系统仿真结果

1.jpeg
2.jpeg
3.jpeg

3.核心程序与模型
版本:MATLAB2022a

```while m<=M
[ijk,m]
Smi_train = Smi(1:n,m);
Smi_test = Smi(n+1:N,m);
Smi_all = [Smi_train;Smi_test];

dpmi_train= dPmi(1:n,m);
dpmi_test = dPmi(n+1:N,m);
dpmi_all = [dpmi_train;dpmi_test];
THR = THRm(m);
%构图,利用GSP工具箱计算得到估计值
G = gsp_community(N);
G = gsp_adj2vec(G);
G = gsp_estimate_lmax(G);
G = gsp_compute_fourier_basis(G);
AA = full(G.A);
%更新图矩阵A
delta = 2;
for i = 1:N
for j = 1:N
AA(i,j) = exp(-1*(dpmi_all(i)-dpmi_all(j))^2/delta^2);
end
end
G.A = sparse(AA);
Mask = Smi_all;%训练过程中,输入m个smi和中的P
Y = dpmi_all;%论文公式中的ni
%通过GSP工具箱预测未知的电气的Smi变量,因为论文中提到用已知的Smi作为训练label,那么训练已知的smi,得到的就是未知的smi
sol = gsp_classification_tv_new(G,Mask,Y,0.5);
Pm_pre = sol(n+1:N);
Kr = mean(abs(Pm_pre))/mean(abs(dpmi_all(n+1:N)));
Pm_pre = [dpmi_train;Pm_pre/Kr];

for i = 1:R
    if i> n & abs(Pm_pre(i)) >= THRm(m)

Smi_pre(i,m) = 1;
end
if i> n & abs(Pm_pre(i)) <THRm(m)
Smi_pre(i,m) = -1;
end
end
Sreal{m} = Smi0(:,m);
Spred{m} = Smi_pre(:,m);%即通过GSP工具箱得到公式11中的Sm
Preal{m} = dpmi_all;
Ppred{m} = Pm_pre;
m = m + 1;
end

%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if ijk == 1
save R1.mat SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all
end
if ijk == 2
save R2.mat SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all
end
if ijk == 3
save R3.mat SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all
end

clear SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all

end
02_061m

```

4.系统原理简介
非侵入式负荷监测(Non-Intrusive Load Monitoring, NILM)是一种通过分析整体电能消耗数据,解析出各个子设备独立功耗的技术。近年来,图信号处理(Graph Signal Processing, GSP)作为一种新兴的信号处理范式,被引入到NILM领域,以更好地表征和处理家庭或建筑内部电器之间的复杂交互关系。

   在GSP中,电气系统中的各个设备被视为图(graph)上的节点,设备之间的相互影响关系通过边(edges)表示。图信号是指定义在图节点上的实值函数,它可以代表节点的用电状态或功率消耗。设G=(V,E,W)是一个加权无向图,其中:

V是节点集合,代表单个电器或负荷组;
E是边集合,表示节点之间的关联性;
W是权重矩阵,其元素wij量化了节点i和j之间的耦合强度。
在NILM中,全局总能耗信号视为图信号x,它是在图G上定义的,即x∈R∣V∣,其中∣V∣是节点的数量。目标是通过某种滤波或分解技术从x中提取出代表各个子设备消耗的局部图信号。

   本课题的算法流程图如下图所示:

f0efafe08253954a99fe385d0839ea7f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

相关文章
|
13天前
|
机器学习/深度学习 算法 新能源
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
|
14天前
|
算法 机器人 定位技术
基于机器视觉和Dijkstra算法的平面建筑群地图路线规划matlab仿真
本程序基于机器视觉与Dijkstra算法,实现平面建筑群地图的路径规划。通过MATLAB 2022A读取地图图像,识别障碍物并进行路径搜索,支持鼠标选择起点与终点,最终显示最优路径及长度,适用于智能导航与机器人路径规划场景。
|
13天前
|
传感器 并行计算 算法
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
|
13天前
|
存储 算法 安全
【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)
【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)
|
13天前
|
机器学习/深度学习 传感器 数据采集
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
|
13天前
|
机器学习/深度学习 数据采集 算法
【创新无忧】基于白鲨算法WSO优化广义神经网络GRNN电机故障诊断(Matlab代码实现)
【创新无忧】基于白鲨算法WSO优化广义神经网络GRNN电机故障诊断(Matlab代码实现)
|
14天前
|
算法 Java 调度
【车间调度】基于GA、PSO、SA、ACO、TS优化算法的车间调度比较研究(Matlab代码实现)
【车间调度】基于GA、PSO、SA、ACO、TS优化算法的车间调度比较研究(Matlab代码实现)
|
14天前
|
机器学习/深度学习 算法 计算机视觉
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
|
14天前
|
机器学习/深度学习 算法 网络性能优化
【EI复现】基于元模型优化算法的主从博弈多虚拟电厂动态定价和能量管理(Matlab代码实现)
【EI复现】基于元模型优化算法的主从博弈多虚拟电厂动态定价和能量管理(Matlab代码实现)
|
13天前
|
机器学习/深度学习 存储 并行计算
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)

热门文章

最新文章