Paper accepted into Imperial College Energy and Performance Colloquium 2012

My submission to the Imperial College Energy and Performance Colloquium 2012 has been accepted. It's just an extended abstract which briefly outlines some ideas for my PhD research.

The paper is:

  • Kelly J, Knottenbelt WDisaggregating Multi-State Appliances from Smart Meter Data. Imperial College Energy and Performance Colloquium. 29 May - 1 June 2012.  PDF


Smart electricity meters record the aggregate consumption of an entire building.  However, appliance-level information is more useful than aggregate data for a variety of purposes including energy management and load forecasting. Disaggregation aims to decompose an aggregate signal into appliance-by-appliance information.

Existing disaggregation systems tend to perform well for single-state appliances like toasters but perform less well for multi-state appliances like dish washers and tumble driers.

In this paper, we propose an expressive probabilistic graphical modelling framework with two main design aims: 1) to represent and disaggregate multi-state appliances and 2) to use as many features from the smart meter signal as possible to maximise disaggregation performance.

Awesome stats, machine learning & information theory videos on YouTube

I'm still very much enjoying the Coursera / Stanford Probabilistic Graphical Models course but occassionally I need to turn to another source to help explain the concepts.  I've just re-descovered MathematicalMonk on YouTube.  He has over 200 videos on machine learning, information theory and stats.  The videos I've sampled so far have been excellent.  Very lucid. 

Added list of academic writing

Just a very quick note to say I've started a list of my academic "publications".  It's pretty anemic at present.  But hopefully that'll change soon!

Getting LaTeX and Lyx to use ACM SIG class file

Installing the ACM SIG LaTeX class file on Ubuntu using tex-live2011 and using it in Lyx.

First, download the ACM class file and let LaTeX know about it (modified from Ubuntu wiki):

MATLAB notes

Just some random notes about MATLAB.

Summer schools & workshops on smart energy / disaggregation

This is just a stub entry for now... I will flesh it out in coming months.  I aim to list any summer schools, workshops and conferences which are relevant to smart meter disaggregation.

Stanford's free online Probabilistic Graphical Models course

Just a very quick note to say I'm a week into Stanford's free online Probabilistic Graphical Models course.  It's really, really good and I'm learning loads (although does require a fair amount of work).  The online course covers the same content as Stanford's postgraduate PGM course (it's not watered down like Stanford's free online Machine Learning course) and has interesting programming assignments.  Very juicy stuff and it should substantially improve my ability to refine and implement some of my hand-wavy ideas.

This is the first on-line course I've taken and I'm very impressed.  It seems to be a near-perfect mix of the best bits from "real" lectures and the best bits from studying alone with a text book.  i.e. it's engaging and "human" like a lecture; but you also have the option to pause / rewind (like reading a text book) to think things through.

Which programming language for my Disaggregation system? Matlab versus Python; Graphical Models.

Over the course of my PhD, I intend to write a smart meter disaggregation system.  Maybe this system will end up as a web service; maybe not.  At the very least, it will need to play nicely with existing web services like Pachube.  I've been wondering which language(s) I should use to build my system.  My current answer to this question is to write a complete prototype of the "backend" in Python, with the front-end written in JavaScript, HTML5 and SVG.  It's likely that parts of the "backend" will run rather slowly in Python; but luckily it's easy to get Python to play well with C++ code, so I'd plan to re-write computationally intensive sections in C++.

My initial plan was to use Matlab.  But after writing several thousand lines of Matlab, I couldn't help but feel uncomfortable with it.  There are some seriously ugly bits of the language; and in general it has a rather "hacked together" feel to it.  It turns out I'm not the only one who feels uncomfortable with Matlab: there's a blog called "Abandon MATLAB" with gems like "[Mathworks] even updated the docs for “getframe” to clarify that you need to turn off the fucking screen saver and walk away from the computer like it’s 1992.".  One especially interesting post in "Abandon MATLAB" links to the results of a survey which compares attitudes to MATLAB to attitudes to Python.  Basically, I feel content that I wasn't completely crazy to abandon Matlab in favor of Python and C++.  I'll admit that I'm struggling a bit to wrap my head around JavaScript but I'm getting there with the help of Douglas Crockford's excellent book "JavaScript: The Good Parts".

Making graphs for websites and web apps

I've been doing a little research into creating interactive graphs on web pages.  Some quick notes from my research (this isn't meant to be an exhaustive list by any means):


Subscribe to RSS - PhD