Igor Kromin |   Consultant. Coder. Blogger. Tinkerer. Gamer.

When I added a bunch of fans to my TV unit I ended up collecting lots of temporal temperature change data that was quite 'noisy'. Statistics is not my strong point so I was looking at a quick and easy way of cleaning this up for plotting and settled on something that can be done in a few steps in Google Drive Sheets.

This approach will not work in all cases but did for me. The noise was due to the temperature sensor behaving strangely so all I really needed to do was ignore a bunch of data. My samples were 1 second apart originally and when plotted looked like this...
image-2.png


That wasn't ideal for me. To address this I created a new column and put the following formula into it, then filled that down all the way to match the number of data rows I had.
 Formula
=mod(row(), 60)


What this gives me is a counter that goes from 0-59 and then resets again and cycles like this all the way down my data.

After I had this additional column, I selected it and used the filter button to make it a filtered column.
gdrivesheet2.png




Pressing the filter icon on the column let me specify which values I wanted to see, so I selected 0, 15, 30 and 45. This roughly translated to 4 samples per minute now, instead of 60 i.e. a sample 15s apart. Effectively this reduced the resolution of my data but also had the side effect of filtering out lots of the noise.
gdrivesheet3.png


So now I was left with a subset of my original data...
drivesheet1.png


Creating a chart from this data meant the chart would only display the data that was not filtered out! With my subset of data the chart looked much cleaner!
image.png


There are statistically better ways of doing this kind of filtering, this one is just quick and easy and worked in my case. I wouldn't use it in all situations.



Matt has written an excellent follow up article to my post, so check it out - Haar wavelets in Google docs (and R).
I've also uploaded my original data set in case anyone is interested: ps4_fan_data_set.zip [22.76 Kb] (290 downloads)


-i

A quick disclaimer...

Although I put in a great effort into researching all the topics I cover, mistakes can happen. Use of any information from my blog posts should be at own risk and I do not hold any liability towards any information misuse or damages caused by following any of my posts.

All content and opinions expressed on this Blog are my own and do not represent the opinions of my employer (Oracle). Use of any information contained in this blog post/article is subject to this disclaimer.
Hi! You can search my blog here ⤵
NOTE: (2022) This Blog is no longer maintained and I will not be answering any emails or comments.

I am now focusing on Atari Gamer.