My name is Oliver Parson, and I'm currently employed as a Data Scientist at Centrica Connected Home. I'm interested in investigating the ways in which machine learning can be used to break down household energy consumption data into individual appliances, also known as Non-intrusive Appliance Load Monitoring (NIALM) or energy disaggregation.
Friday, 1 April 2011
NIALM as a combinatorial optimisation problem
NIALM can be formulated as a combinatorial optimisation problem as follows:
For each time instant, minimise the function f:
Pagg - household aggregate power
N - number of appliances
I - vector of appliance binary indicators (1 if appliance is on, 0 otherwise)
P - vector of appliance power when appliance is on
This approach was first proposed by Hart, as explained in the 1992 seminal paper on NIALM. Hart asserts that this is an NP-complete "weighted set" problem, and mentions that the number of combinations of 'on' appliances scales exponentially with the number of appliances. However, despite its computational difficulty, the optimal solution can be found within seconds for a realistic number of appliances, e.g. 30.
I have recently been investigating the performance of this technique using simulated data. 24 hours worth of truth data was generated using 30 appliance profiles, each with realistic power demands and usage patterns. The true household aggregate was calculated by summing the power consumed by each device at that time instant. No noise was added on appliance nor household level.
I have been investigating how the performance of this technique decays as the number of appliances in the household increases. The optimisation function was applied at 1 hour intervals to 24 hours of data, and the accuracy was calculated as the average fraction of correct classifications.
Below is a graph showing the accuracy of this technique for the number of appliances in the house.
The technique is very accurate when there is less than 10 appliances in the household. Although the accuracy starts to drop rapidly, if seems to converge around 0.5 or 0.6. However, further tests of large numbers of appliances are necessary to prove this.
Obvious future work is to investigate how the performance of this approach decays with the introduction of appliance and aggregate level noise to the data.