My name is Oliver Parson, and I'm currently employed as a Product Data Science Lead at Octopus. 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 (NILM) or energy disaggregation.
Thursday, 22 November 2012
New name, new domain
I recently decided my blog could do with a little refreshing to more closely reflect its content. I've therefore changed its name to Disaggregated Homes, which can now be found at blog.oliverparson.co.uk. Please update your links, although any visits to the old URL should be automatically redirected.
Wednesday, 14 November 2012
Opening up the “black box” of the Home
Yesterday I attended a Smart Demand seminar titled 'Opening up the “black box” of the Home', organised by Pilgrim Beart, founder of AlertMe. The purpose of the seminar was to present a range of ideas related to smart metering in the UK, and to discuss what would need to be done in order to collect a data set that accurately describes domestic electricity consumption. The seminar was well attended by UK energy monitoring companies, such as Moixa and Onzo, but also represented views from academia. I particularly enjoyed Miroslav Hamouz's talk on the abilities and limitations of disaggregation, and completely agree that it is essential to understand what disaggregation can realistically achieve using actual smart meter data.
Saturday, 27 October 2012
My home energy disaggregation system
This post describes my home energy disaggregation system, using tools from AlertMe and PlotWatt. I've cross-posted it from its own page on my website, and although this post probably won't stay up to date, the page on my website should. If you're interested in setting up a similar system, feel free to leave a comment!
In order to monitor the electricity consumption of my home, I use an AlertMe SmartEnergy kit. This consists of a battery powered SmartMeter reader and a mains powered SmartHub. The SmartMeter reader is a current clamp, which clips onto the electricity input to my home within my circuit breaker box. This clamp calculates the flow of electricity through the wire by measuring the magnetic field surrounding it, and therefore doesn't need to physically break the circuit. The current clamp sends second-by-second readings of my home's power demand to the SmartHub via a ZigBee wireless network. The hub is attached to my router via an Ethernet cable, which allows it to upload my electricity data to AlertMe's cloud storage.
In order to monitor the electricity consumption of my home, I use an AlertMe SmartEnergy kit. This consists of a battery powered SmartMeter reader and a mains powered SmartHub. The SmartMeter reader is a current clamp, which clips onto the electricity input to my home within my circuit breaker box. This clamp calculates the flow of electricity through the wire by measuring the magnetic field surrounding it, and therefore doesn't need to physically break the circuit. The current clamp sends second-by-second readings of my home's power demand to the SmartHub via a ZigBee wireless network. The hub is attached to my router via an Ethernet cable, which allows it to upload my electricity data to AlertMe's cloud storage.
My AlertMe SmartMeter reader.
My PhD has built up my interest in non-intrusive appliance monitoring; software which calculates appliance-level energy feedback using only home-level energy data. Although AlertMe don't offer such a service, this is where PlotWatt, a cloud-based software company, comes in. To make use of PlotWatt's appliance-level analysis, I needed to transfer my data from AlertMe's data cloud to PlotWatt's data cloud. To do so, I set up my Raspberry Pi to periodically download my data from AlertMe and upload it to PlotWatt. I've since open-sourced the project to allow anyone to use or modify my code. This software and PlotWatt's algorithms have allowed me to find out how much money I spend keeping each appliance running using PlotWatt's online dashboard.
My Raspberry Pi.
A breakdown of my household's monthly energy costs is available at plotwatt.com. However, even enthusiasts like myself don't check this daily. Therefore, I wanted an energy display from which I could pick up this information as I walked past. To create such a display, I set up an old monitor attached to my Raspberry Pi, which displays the dashboard from plotwatt.com.
My home energy monitoring system.
Wednesday, 24 October 2012
Public NIALM Reference Library
Today I decided to make my NIALM reference library public. Over the past few years I've collected about 150 references which I'd like to share with the wider NIALM community. Since I use Mendeley to manage my references, the easiest way to share it was through a public group:
Oliver Parson's NIALM library
This group will be updated as new papers are published, so feel free to join it to receive updates.
Happy reading!
UPDATE: Please feel free to follow the group, which should give you updates when I add references to the library. However, I'll just ignore any requests to join the group, which would give you write access!
Oliver Parson's NIALM library
This group will be updated as new papers are published, so feel free to join it to receive updates.
Happy reading!
UPDATE: Please feel free to follow the group, which should give you updates when I add references to the library. However, I'll just ignore any requests to join the group, which would give you write access!
Tuesday, 16 October 2012
Tracebase - an appliance training data repository
The tracebase repository contains individual appliance data with the intention of creating a database for training appliance recognition algorithms. The repository contains a total of 1883 days of power readings, taken at 1 second intervals, for 158 appliance instances, of 43 different appliance types. Since the aim is to create an appliance database, no aggregate measurements are collected.
The data is introduced in Reinhardt et al. 2012 and is available from the tracebase repository. The files are password protected, but a password can be requested via the download page.
I've also updated my post of Public Data Sets for NIALM.
The data is introduced in Reinhardt et al. 2012 and is available from the tracebase repository. The files are password protected, but a password can be requested via the download page.
I've also updated my post of Public Data Sets for NIALM.
Sunday, 14 October 2012
alertme2plotwatt - Using PlotWatt to disaggregate AlertMe data
Today I want to opensource a project I've been working called alertme2plotwatt, a python library for uploading AlertMe data to PlotWatt. I use an AlertMe system to collect second-by-second electricity data and upload it to the cloud. However, as yet AlertMe doesn't offer any disaggregation capability. Conversely, PlotWatt offers a hardware-agnostic cloud-based data analysis toolkit to disaggregate your energy data. Unfortunately, PlotWatt doesn't yet support AlertMe data out-of-the-box. Luckily, both AlertMe and PlotWatt offer their own APIs to provide data access. This has allowed me to write a script to download second-by-second household aggregate data collected by my AlertMe system and upload it to PlotWatt to be disaggregated into individual appliances.
To use this, you will need:
To use this, you will need:
- An AlertMe account (and subscription)
- An AlertMe MeterReader attached to your household electricity input
- A PlotWatt account (free)
Full details for using the library can be found on the github project page.
So far, I've used the library to copy about a year of second-by-second data from my AlertMe account to my PlotWatt account. However, the project is far from perfect, so please feel free to contribute code to increase the reliability, flexibility or clarity of documentation.
Friday, 28 September 2012
NIALM in academia v NIALM in industry
Now I've had the chance to experience the field of NIALM from both an academic and industry perspective, I felt compelled to share my thoughts on both. Here they are:
A luxury of academia is the ability to imagine possible future scenarios, and design approaches which provide value in such a scenario. Although this allows academia to think beyond the current state of the world, it often results in the opening of a reality gap. As such, scenarios are often proposed to fit a model, rather than a model which fits the real-world in either its current state or near future. Conversely, industry needs to provide value today, or within the near future, or it cannot become a profitable business.
In industry, mathematical elegance and theoretical proof matter little. Conversely, this is generally considered to be the core of an academic paper. Instead, performance is again considered to be the primary measure worth worrying about by industry folk. As a result, if the an unprincipled heuristic approach is shown to outperform its principalled rivals, the unprincipled approach is always the winner.
In academia, each publication must have a clear and measurable contribution. This generally takes the form of a description and evaluation of a model being applied within a domain for the first time. By this definition, there is no value in reimplementing an existing approach in the same domain. As such, unless authors have packaged and released their code, there is little chance of a side by side comparison. However, in industry performance is far more important than novelty. Consequently, there is the most value in implementing the state of the art, and any extensions only provide value if justified by the increase in performance.
Computer science academics talk a lot about computational complexity. Algorithms are generally discussed in terms of their linear, quadratic, exponential etc. complexity, and practical applicability is often lost in the search for optimal solutions. If an application is the focus of a contribution, I'd prefer to see the complexity grounded in terms of cost when scaling from neighborhood to national scales, or minute to year scales.
Academics often dismiss implementation problems as not worth their attention. Instead, it's generally sufficient for a publication to demonstrate a proof-of-concept, in which the proposed approach is shown to work on a small scale example. However, such implementation issues are key for a product to be viable in the real world. As such, industry focuses heavily upon such issues, since it's essential that their products execute reliably and in an unsupervised manner at real world scales.
Reality Gap
A luxury of academia is the ability to imagine possible future scenarios, and design approaches which provide value in such a scenario. Although this allows academia to think beyond the current state of the world, it often results in the opening of a reality gap. As such, scenarios are often proposed to fit a model, rather than a model which fits the real-world in either its current state or near future. Conversely, industry needs to provide value today, or within the near future, or it cannot become a profitable business.
Mathematics
In industry, mathematical elegance and theoretical proof matter little. Conversely, this is generally considered to be the core of an academic paper. Instead, performance is again considered to be the primary measure worth worrying about by industry folk. As a result, if the an unprincipled heuristic approach is shown to outperform its principalled rivals, the unprincipled approach is always the winner.
Novelty
In academia, each publication must have a clear and measurable contribution. This generally takes the form of a description and evaluation of a model being applied within a domain for the first time. By this definition, there is no value in reimplementing an existing approach in the same domain. As such, unless authors have packaged and released their code, there is little chance of a side by side comparison. However, in industry performance is far more important than novelty. Consequently, there is the most value in implementing the state of the art, and any extensions only provide value if justified by the increase in performance.
Scalability
Computer science academics talk a lot about computational complexity. Algorithms are generally discussed in terms of their linear, quadratic, exponential etc. complexity, and practical applicability is often lost in the search for optimal solutions. If an application is the focus of a contribution, I'd prefer to see the complexity grounded in terms of cost when scaling from neighborhood to national scales, or minute to year scales.
Implementation
Academics often dismiss implementation problems as not worth their attention. Instead, it's generally sufficient for a publication to demonstrate a proof-of-concept, in which the proposed approach is shown to work on a small scale example. However, such implementation issues are key for a product to be viable in the real world. As such, industry focuses heavily upon such issues, since it's essential that their products execute reliably and in an unsupervised manner at real world scales.
Subscribe to:
Posts (Atom)