Skip to content

oengenheiro/nilmtk

 
 

Repository files navigation

NILMTK: Non-Intrusive Load Monitoring Toolkit

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.

NILM is sometimes called:

  • "non-intrusive appliance load monitoring (NALM or NIALM)"
  • "[electriciy | energy | smart meter] disaggregation"

NILMTK is a toolkit designed to help researchers evaluate the accuracy of NILM algorithms. NILMTK is not yet suitable for end users because NILMTK is not yet capable of out-of-the-box disaggregation (i.e. disaggregation where you do not yet have submetered training data), although we hope that it might be some time in the future.

Below is an example of sub-metered appliance-level data, which NILM algorithms aim to produce. N.B. this is not the output of a NILMTK algorithm!

Drawing

Why a toolkit for NILM?

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.

What NILMTK provides

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!

Documentation

NILMTK Documentation

Publications

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.

Keeping up to date with NILMTK

History

  • 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.

Code health

Build Status

Coverage Status

Code Health

About

Non-Intrusive Load Monitoring Toolkit (nilmtk)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 97.1%
  • Python 2.9%