- Notifications
You must be signed in to change notification settings - Fork472
Non-Intrusive Load Monitoring Toolkit (nilmtk)
License
nilmtk/nilmtk
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Non-Intrusive Load Monitoring (NILM) is the process of estimating theenergy consumed by individual appliances given just a whole-housepower 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 helpresearchers evaluate the accuracy of NILM algorithms. If you are a new Python user, it is recommended to educate yourself onPandas,Pytables and other tools from the Python ecosystem.
If you are a new user, read theinstall instructions here. It came to our attention that some users follow third-party tutorials to install NILMTK. Always remember to check the dates of such tutorials, many are very outdated and don't reflect NILMTK's current version or the recommended/supported setup.
We quote ourNILMTK paperexplaining the need for a NILM toolkit:
Empirically comparing disaggregation algorithms is currentlyvirtually impossible. This is due to the different data sets used,the lack of reference implementations of these algorithms and thevariety of accuracy metrics employed.
To address this challenge, we present the Non-intrusive Load MonitoringToolkit (NILMTK); an open source toolkit designed specifically to enablethe comparison of energy disaggregation algorithms in a reproduciblemanner. This work is the first research to compare multipledisaggregation 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 ofreference benchmark disaggregation algorithms
- a common set of accuracy metrics
- and much more!
If you use NILMTK in academic work then please consider citing our papers. Here are some of the publications (contributors, please update this as required):
- Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring. In: 5th International Conference on Future Energy Systems (ACM e-Energy), Cambridge, UK. 2014. DOI:10.1145/2602044.2602051. arXiv:1404.3878.
- Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring". In: NILM Workshop, Austin, US. 2014 [pdf]
- Jack Kelly, Nipun Batra, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers, Amarjeet Singh, Mani Srivastava. Demo Abstract: NILMTK v0.2: A Non-intrusive Load Monitoring Toolkit for Large Scale Data Sets. In the first ACM Workshop On Embedded Systems For Energy-Efficient Buildings, 2014. DOI:10.1145/2674061.2675024. arXiv:1409.5908.
- Nipun Batra, Rithwik Kukunuri, Ayush Pandey, Raktim Malakar, Rajat Kumar, Odysseas Krystalakos, Mingjun Zhong, Paulo Meira, and Oliver Parson. 2019. Towards reproducible state-of-the-art energy disaggregation. In Proceedings of the 6th ACM International Conference on Systems for Energy-Efficient Buildings, Cities, and Transportation (BuildSys '19). Association for Computing Machinery, New York, NY, USA, 193–202. DOI:10.1145/3360322.3360844
Please note that NILMTK has evolveda lot since most of these papers were published! Please use theonline docsas a guide to the current API.
- August 2019: v0.4 released with the new API. See alsoNILMTK-Contrib.
- June 2019: v0.3.1 released onAnaconda Cloud.
- Jav 2018: Initial Python 3 support on the v0.3 branch
- Nov 2014: NILMTK wins best demo award atACM BuildSys
- July 2014: v0.2 released
- June 2014: NILMTK presented atACM e-Energy
- April 2014: v0.1 released
For more detail, please see ourchangelog.
About
Non-Intrusive Load Monitoring Toolkit (nilmtk)