/SparseNILM

The super-state hidden Markov model disaggregator that uses a sparse Viterbi algorithm for decoding. This project contains the source code that was use for my IEEE Transactions on Smart Grid journal paper.

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

Sparse NILM

Copyright (c) 2015 by Stephen Makonin

The super-state hidden Markov model disaggregator that uses a sparse Viterbi algorithm for decoding. This project contains the source code that was use for my IEEE Transactions on Smart Grid journal paper.

If you use my code in your research please cite this paper. Current citation details are:

  • Title: Exploiting HMM Sparsity to Perform Online Real-Time Nonintrusive Load Monitoring (NILM)
  • Authors: Stephen Makonin, Fred Popowich, Ivan V. Bajic, Bob Gill, Lyn Bartram
  • Journal: IEEE Transactions on Smart Grid
  • Vol/No/Pages: vol. 7, no. 6, pp. 2575-2585
  • Accepted: October 2015
  • DOI: 10.1109/TSG.2015.2494592

NOTE: This code it a rewritten and modified version of the code used in my PhD thesis.

piNILM

2016 May 2 Update: This code is able to run on a Raspberry Pi 2B+ and 3. If you have a Rainforest EMU2 you can have the RPi communicate with your smart meter and perform disaggregation in real-time. Read the piNILM.md document for details on how to do this.