Identifying in 3 Dimensions

| Comments

Amidst the rush to prepare for a new iOS release and getting KILO ready to launch, I have been working on user identification. That’s the part where KILO gets to know you.

KILO stores any weight and fat percentage recording we you step on it. When a phone next connects to it, it downloads the readings from KILO and analyses them to work out which recordings belong to which user. These readings are then assigned to the appropriate user and displayed to him/her.

Weight Readings

The following is a simple weight plot showing readings over time from several beta test users:

Basic Weight Graph

As you can see from this graph, following the users as the day goes on does not provide too much of a challenge, each user can be clearly identified.

However, this isn’t the entire story for the sample data we have at our disposal. There is a rogue user who is very similar from a statistical point of view to another user. Here is a plot of just those two users to show how similar they are:

Conflicting Users

From above, it is obvious that distinguishing between these users is going to be difficult, they cross in several places and have no real trend. Basically, they have the same weight, so it is impossible to distinguish them.

Fat to the rescue!

Luckily, we do not only measure weight, we also have the body fat measurement which comes in the form of an electrical resistance (note: this is a very very very low level current). If we go back to our first data set without the conflicting users, plotting resistance, weight and day seems to create a nice 3d graph with obvious trends throughout:

Sample data set 3D graph

Following the lines of points on this graph is fairly straightforward and the third measurement of resistance introduces even more clarity to the situation. Let’s see what our second conflicting data set looks like when plotted in the same way:

Conflicting users 3D graph

From this graph, it looks like we have exactly the same problem as we had with just weight, luckily by having a 3D graph, we can rotate and find an angle where there seems to be some distinction between the black and yellow points of data. This can be seen here:

Conflicting users 3D graph, a nicer view

This shows us that although there is still crossover between the data sets, it should be possible to distinguish between them given a bigger data set and discounting anomalous readings. The example I am showing you here is extreme, as the two users are almost identical, however our algorithm should handle this fairly well. More on this subject soon!

Martin

Our First Home Together

| Comments

We’re feeling good at atama this week because we’ve made a big step as a start up. After weeks of working in living rooms, kitchens, cafes and even a houseboat, we finally have our own premises.
As I write, we are still very much in the early stages. The coffee machine has yet to arrive, our broadband is mobile and not very broad and builders keep arriving unannounced to fix things. Despite these little challenges, we are happy to be here. We find ourselves in a pleasant village in Buckinghamshire, a few miles away from London Underground’s most remote station. Within walking distance we have a pub, a shop and an active duckpond – everything needed for a happy lunch break. Our office is buzzing with activity… The website is going up, our twitter and Facebook accounts going live and our wordpress-less blog is seeing its first post. In the middle of all this, work on the KILO scale and 3Sixty remote continues. Soon, it will be time to start our very own Weightclub – stay tuned!

Please select your region