Non-Intrusive Load Monitoring (NILM) is the process of estimating the energy consumed by individual appliances given just a whole-house power meter reading. In other words, it produces an (estimated) itemised energy bill from just a single, whole-house power meter.
NILMTK is a toolkit designed to help researchers evaluate the accuracy of NILM algorithms.
⚠The latest release is available through https://github.com/nilmtk/nilmtk/releases/latest
We quote our NILMTK paper explaining the need for a NILM toolkit:
Empirically comparing disaggregation algorithms is currently virtually impossible. This is due to the different data sets used, the lack of reference implementations of these algorithms and the variety of accuracy metrics employed.
To address this challenge, we present the Non-intrusive Load Monitoring Toolkit (NILMTK); an open source toolkit designed specifically to enable the comparison of energy disaggregation algorithms in a reproducible manner. This work is the first research to compare multiple disaggregation approaches across multiple publicly available data sets. NILMTK includes:
- parsers for a range of existing data sets (8 and counting)
- a collection of preprocessing algorithms
- a set of statistics for describing data sets
- a number of reference benchmark disaggregation algorithms
- a common set of accuracy metrics
- and much more!
Please see our list of NILMTK publications. If you use NILMTK in academic work then please consider citing our papers.
Please note that NILMTK has evolved a lot since these papers were published! Please use the online docs as a guide to the current API.
- NILMTK-Announce mailing list: stay up to speed with NILMTK. This is a low-traffic mailing list. We'll just announce new versions, new docs etc.
- NILMTK on Twitter.
- April 2014: v0.1 released
- June 2014: NILMTK presented at ACM e-Energy
- July 2014: v0.2 released
- Nov 2014: NILMTK wins best demo award at ACM BuildSys
For more detail, please see our changelog.