It’s been a while since my last post (Mining sensor data, Part 4) back in April. We have had several training sessions on the on the topic of sensor data analytics that roughly paralleled this blog series (see references at the end of this article). We also spent a lot of time at our Technology Forum on the Tech Lab floor running demos, one of which is shown in the video below. I like this one because it’s a great example of some of the techniques outlined in the earlier posts of this series.
I took a lot of data on this setup, in a number of different environments leading up to our Technology Forum. I’ve seen these clusters move around. Sometimes the “empty” and “blocked” clusters are difficult to distinguish. So for the purposes of machine learning, I merged them into one common “error class”. I then computed a support vector machine based on those collapsed sets.
The figure above shows computed SVM hyperplanes, as well as the support vectors (highlighted samples) used to compute them. The figure below shows the in-sample errors of that SVM. Click on any of the three figures to see an expanded view.
Once the SVM was computed in Matlab®, we exported the model as a C-language function which was then inserted into a 2nd embedded program designed to run on the same board used for the initial data logging. We added a small “debounce” function to add some stability in the transition regions, and then used the output of that to control the colors of the LED on the board. We also interfaced with a second board which offered wireless access to a Thread-based network for home automation. Every time the pump changed state, events were sent out to various displays scattered around the Technology Forum flow. Way cool!
At the end of Part 4 of this series, I listed a bunch of warnings/lessons learned. I saw many of those manifest themselves in this experiment as well. For instance, our first pump was broken during shipment from Phoenix to Austin for our Technology Forum. So we had to swap in the backup pump before the event. Over the course of three days at our event, we could tell that the data clusters moved as the new pump got “broken in”. I think this is normal and to be expected. It again highlights the need to collect enough data to guarantee that your “in-sample” probability distributions are a reasonable approximation of your infinitely large “out-of-sample” distributions.
This particular demo got a lot of interest from attendees, and I want to personally thank those who visited the booth and then took up my invitation to join an afternoon class on the topic. Most of those who attended then stayed an extra 30 minutes past the formal end of the course to ask questions and get a peek at our Matlab code. We only wrapped up when we got booted out of the room for the next class! The whole event reinforced my belief that we are seeing the birth of a new trend which utilizes sensor data analytics to create new applications and create new value propositions for old ones.