# Applying Wavelet on energy disaggregation as denoising technique to remove uncertainties

I would like to apply Wavelet in MATLAB as a denoising technique on Non-Intrusive load Monitoring data. The data was captured by sensors on each appliance and one sensor on the smart meter (Normally called Aggregated Data). The dataset contains the following:

1. timestamp
2. Aggregate
3. and Appliance from 1 - 9

Why Denoising and with Wavelets

Research has shown that denoising signals before passing it through your Machine Learning Algorithm give better results. This result can improve prediction accuracy. And I am interested in investigating using wavelet to remove uncertainties since my dataset is in the time domain.

This is a sample dataset

Approach Used

function allXd = denoiseSignalToCsvFile(filePath,saveAs)


allData=csvread(filePath,1,1); allXd = []; %allX = []; [row,col] = size(allData); % disp(col); % disp(row);

for applicantIndex = 2:col

% disp(applicantIndex)

x=allData(:,applicantIndex);
xd = waveletTransform(x);

allXd = [allXd; xd];

%allX  = [allX; {xd}];


end allXd = allXd' ;

csvwrite(saveAs,allXd);


end

function denoisedOutput= waveletTransform(input) %Wavelet Function wname = 'db7'; % number of levels n = 4; denoisedOutput = cmddenoise(input,wname,n); %denoisedOutput = wdenoise(input,n); end

Question:

1. Is the approach corrects?

Thank you.

• Welcome to SE.DSP. Typical targets on Nonintrusive Appliance Load Monitoring are related to source separation, to recover each appliance from the Aggregate. Which signals do you want to denoising, why (with what kind of noise), and more importantly, why with wavelets? – Laurent Duval Dec 29 '19 at 12:57
• One possible source : Nonintrusive Load Monitoring Using Wavelet Design and Machine Learning, 2015 – Laurent Duval Dec 29 '19 at 13:01