The document presents an optimization-based algorithm for energy disaggregation from low frequency smart meter data. The algorithm formulates energy disaggregation as a least squares minimization problem with penalty terms to impose piecewise constant appliance usage profiles. The objective function fits aggregate consumption while penalizing frequent on/off switching. Constraints ensure each appliance operates at one level per time interval, maximum energy usage over time is not exceeded, and minimum daily usage is satisfied on activation days. The algorithm aims to address challenges of ultra-low frequency smart meter data for energy disaggregation.
3. Metering equipment
Landis+Gyr smart meter
Clemap sub metering device
Smart meters
Sub-metering devices
Low frequency: 1Hz
High frequency: 1.2 - 2 Khz
Ultra low frequency: 0.001 Hz
(1 sample every 15 mins)
4. Datasets
• Various public datasets have been collected over the
years, such as:
• REDD: 6 homes, 15Khz, 119 days
• UK-DALE: 5 homes, 16Khz, 655 days
• BLUED: one home, 12Khz, 1 week
• GREEND: 8 homes, 1Hz, 1 year
• AMPds: 1 house, 1Hz, 2 years,
5. The recorded data
• Information about the
household (type, inhabitants,
etc)
• Aggregate power at given
resolution (sometimes active
and apparent power)
• Power consumption of each
appliance
(Kelly and Knottenbelt, 2015)
6. Applications
• Identify energy inefficient devices
• Provide feedback on energy usage
• Stimulate energy saving behaviours
• Understand and extrapolate user behaviour
9. Algorithm assumptions
• We need an algorithm able to deal with ultra low frequency
data
• In a previous work it was assumed that the power demand
profiles were piecewise constant
• We treat the problem as a least-square minimisation with a
penalty term to impose the piecewise-constant shape
• This is difficult to hold for ultra-low frequencies
• The problem has been formulated as a mixed integer QP
10. The objective function
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a can be turned on at time t
1 if appliance a operates at consumption level l during time epoch t
the aggregate energy consumption during time epoch t
is the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
Fit to consumption Penalize on/off switching
11. The objective function
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a can be turned on at time t
1 if appliance a operates at consumption level l during time epoch t
the aggregate energy consumption during time epoch t
the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
12. The objective function
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a can be turned on at time t
1 if appliance a operates at consumption level l during time epoch t
the aggregate energy consumption during time epoch t
the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
13. The objective function
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a can be turned on at time t
1 if appliance a operates at consumption level l during time epoch t
the aggregate energy consumption during time epoch t
the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
14. The objective function
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a operates (at consumption level l) during time epoch t
the aggregate energy consumption during time epoch t
the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
1 if appliance a can be turned on at time t
15. The objective function
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a operates at consumption level l during time epoch t
the aggregate energy consumption during time epoch t
is the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
1 if appliance a can be turned on at time t
16. The objective function
𝑚𝑖𝑛 ∑
𝑡∈𝑇
𝑐𝑡 − ∑
𝑎∈𝐴,𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡
2
+ ∑
𝑡∈𝑇,𝑎∈𝐴
𝛼 𝑎 ⋅ 𝑦 𝑎,𝑡
the set of appliances
set of energy consumption levels of appliance a
1 if appliance a can be turned on at time t
1 if appliance a operates at consumption level l during time epoch t
the aggregate energy consumption during time epoch t
the multiplicative weight of appliance a
1 if appliance a changes consumption level at time epoch t
22. Constraints
∀𝑎 ∈ 𝐴∑
𝑡∈𝑇
𝑜 𝑎,𝑡 ≥ 𝑤 𝑎 ⋅ 𝑓𝑎
𝑜 𝑎,𝑡 ⋅ 𝑡 − 𝑜 𝑎,𝑡′ ⋅ (𝑡′) ≤ 𝑑 𝑎 1 − |𝑇| ⋅ (𝑜 𝑎,𝑡 + 𝑜 𝑎,𝑡′ − 2)
∀𝑎 ∈ 𝐴; 𝑡, 𝑡′ ∈ 𝑇2: 𝑡 > 𝑡′
∑
𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡 ≤ 𝑚𝑎𝑥
𝑙∈𝐿 𝑎
𝑙 ⋅ 𝑜 𝑎,𝑡
the daily energy consumption of appliance a (if
activated) is not lower than the daily lower limit w
[f is 1 if a is on at least once over 0..T]
∀𝑡 ∈ 𝑇, 𝑎 ∈ 𝐴
23. Constraints
𝑓𝑎 ⋅ |𝑇| ≥ ∑
𝑙∈𝐿 𝑎,𝑡∈𝑇
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡 ∀𝑎 ∈ 𝐴
Makes sure that f and x are coherent
∑
𝑡∈𝑇
𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙′,𝑡 ≥ 𝑓𝑎 ∀𝑎 ∈ 𝐴
˜
, 𝑙′ = 𝑚𝑎𝑥
𝑙∈𝐿 𝑎
𝑙
24. Constraints
𝑓𝑎 ⋅ |𝑇| ≥ ∑
𝑙∈𝐿 𝑎,𝑡∈𝑇
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡 ∀𝑎 ∈ 𝐴
Each appliance in set A works at maximum at the highest
consumption level if activated
∑
𝑡∈𝑇
𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙′,𝑡 ≥ 𝑓𝑎
∀𝑎 ∈ 𝐴
˜
, 𝑙′
= 𝑚𝑎𝑥
𝑙∈𝐿 𝑎
𝑙
Note: our set includes the dishwasher, the tumbler, the
washing machine
25. Constraints
𝑤𝑚 ≥ 𝑜 𝑤𝑚,𝑡 ⋅ 𝑡
∀𝑡 ∈ 𝑇𝑐𝑑 ≤ 𝑜 𝑐𝑑,𝑡 ⋅ 𝑡 + |𝑇| ⋅ (1 − 𝑜 𝑐𝑑,𝑡)
∀𝑡 ∈ 𝑇𝑐𝑑 ≥ 𝑤𝑚 + 1
wm is set to the last time epoch during which the washing
machine is active
26. Constraints
𝑤𝑚 ≥ 𝑜 𝑤𝑚,𝑡 ⋅ 𝑡
∀𝑡 ∈ 𝑇𝑐𝑑 ≤ 𝑜 𝑐𝑑,𝑡 ⋅ 𝑡 + |𝑇| ⋅ (1 − 𝑜 𝑐𝑑,𝑡)
∀𝑡 ∈ 𝑇𝑐𝑑 ≥ 𝑤𝑚 + 1
sets variable cd to the
first epoch of activity of the clothes dryer
27. Constraints
𝑤𝑚 ≥ 𝑜 𝑤𝑚,𝑡 ⋅ 𝑡
∀𝑡 ∈ 𝑇𝑐𝑑 ≤ 𝑜 𝑐𝑑,𝑡 ⋅ 𝑡 + |𝑇| ⋅ (1 − 𝑜 𝑐𝑑,𝑡)
∀𝑡 ∈ 𝑇𝑐𝑑 ≥ 𝑤𝑚 + 1
imposes that the clothes dryer is turned on after the end of
the operational period of the washing machine
28. Constraints
∑
𝑎∈𝐴,𝑙∈𝐿 𝑎,𝑡∈𝑇
𝑙 ⋅ 𝑢 𝑎,𝑡 ⋅ 𝑥 𝑎,𝑙,𝑡 ≤ ∑
𝑡∈𝑇
𝑐𝑡
imposes that the sum of the disaggregated energy
consumption profiles does not exceed the total energy
usage measured by the smart meter located at the user’s
premises.
29. Solving the model
• The horizon length T is selected
• The set A is defined
• The set of consumption levels L_a are defined (extracted from training
data)
• Parameter c is extracted from measured aggregated power
• Parameters m,d,w are either learned from data or from public datasets
• Parameter u is used to prevent switching on appliances at some epochs
• Parameter alpha is used to modulate the assumption of piecewise
constantness
30. Evaluation
• Training and validation performed using UK-DALE dataset
• Used 3 buildings:
• building 1 from April 1, 2013 to May 31, 2013,
• building 2 from May 1, 2013 to June 30, 2013,
• building 5 from July 1, 2014 to August 31, 2014.
• In the numerical assessment, we considered a scenario where
performed the disaggregation of the 5 top consuming appliances,
• Comparison with HMM and CO from NILMTK (Batra 2014)
38. The enCOMPASS case
User 79
{"date_start":"2019-08-12",
"date_end":"2019-09-10",
"fridge":67.2,
"washing_machine":23.75,
“tumble_dryer":18.3,
“dishwasher":38.8,
“electric_oven":31.2,
“other":72.499,
"total_consumption":251.749}
39. Conclusions
• The proposed algorithm compares to the state-of-the-art
algorithms when applied to low frequency data
• It has the nice property of performance degrading
smoothly with the decrease of the sampling frequency
• The disaggregation at 15 minutes resolution can provide
only an aggregate (daily, weekly) indication of how energy
has been shared across appliances
40. Acknowledgments
• This research received funding from the enCOMPASS
project (Grant N. 723059)
• http://www.encompass-project.eu