1.課題概述
基於GSP工具箱的NILM演算法matlab模擬。GSP是圖形訊號處理的縮寫,GSP非常適合對未知資料進行分類,尤其是當訓練資料非常短時。GSPBox的基本理論是譜圖論和圖濾波,因此,GSPBox中的主要物件是圖,圖包括圖的基本元素,如節點、邊和權重矩陣等。
2.系統模擬結果
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中提取出代表各個子裝置消耗的區域性圖訊號。
本課題的演算法流程圖如下圖所示: