Wearable Headaches (and how to fix them)

So you want to get somebody’s internal time from a wearable…

Let’s talk about wearable data. On the one hand, wearables are an incredible innovation, allowing self-quantification and anomaly detection with unprecedented ease, at unprecedented scales. 

On the other hand, they’re a data science nightmare. Or three nightmares, really. 

Nightmare #1: All the devices are different, and you have to use different ways to get raw data off them. 

Sure, apps like Apple Health that act as clearinghouses make this easier for you. But you can’t use Apple Health for everything. Sometimes, wearables require permission to be granted for you to access their full data. Sometimes, wearable companies go out of business after you’ve built an infrastructure to work with them. 

Can you process heart rate signals from two wearables using the same algorithm? What if they decide what counts as a “step” in different ways? What if the firmware changes? People have certainly thought about these questions, and that’s the whole point: you have to think about them. The effort of keeping track of everything adds up. 

Nightmare #2: People take them off, non-randomly. 

It would actually be easier for a lot of things people took off their wearables at totally random times, but… they don’t. They take them while they’re in bed, while they’re showering, or whenever they just feel tired of having something strapped on their wrist. But the “in bed” one in especially tricky: it means you’re going to see big correlations between regions of inactivity and missing data. 

Is an anomaly happening, or did they just wear their watch for a few hours longer than they usually do? This is the kind of question that comes up with non-random data gaps.

Nightmare #3: Sometimes they just stop wearing them all together. 

And by “sometimes,” I mean “this happens a lot.”

So if you’re going to do work with wearable data, you’re already playing whack-a-mole with issues like these to get the data ready to look at. And if you’re trying to extract somebody’s internal, circadian time from a wearable, you’re in for even more fun. 

We already know circadian time is hard to get, from even measurements twenty times cleaner than your average smartwatch step history. This is the issue of “masking”: noise and external factors obscure circadian rhythms, making it so that it’s extremely tough to distinguish between a blip and a true, circadian shift. 

Masking means that your efforts to predict a person’s circadian time by fitting their data to a cosine are doomed from the get-go. Take, for example, the case where someone spends 24 hours traveling for a 12-hour time zone shift, and then “slams” their schedule to the new time zone (in other words: they adopt a shifted version of their previous activity/inactivity pattern as soon as they land). 

We know they’re not going to be adjusted to the new time zone by the time they land– clocks don’t move like that. Yet, depending on how you do your cosine fit, you’re either going to find that: 

1) …they shifted completely in a single day (from fitting just the last 24 hours):

2) …they didn’t shift at all (from fitting the entire available time series to a cosine)

or 3) …your fits are total meaningless garbage (from fitting only the transition period)

And this is all assuming you’ve got high quality, gap-free wearable data to work with. Throw in inter-device differences, correlated gaps, and long stretches of missing data, and you’re in for a big headache. 

The answer to all this? Well, part of it is acknowledging that you can’t treat a complicated biological system like it can be fit with a simple trig function. (And given the sparsity of training data available, we don’t think you’ll have much luck trying to brute force a neural net to do the job for you either).

At Arcascope, we’ve developed dynamic methods of tracking circadian time that take into account how the clock shifts physiologically, and how those dynamics differ from person to person. We’re about as far from a cosine fit as you can get. 

And since we’ve been doing this a while, we’ve engineered solutions to the three wearable data nightmares, so we can work with a whole host of consumer wearables that are out there, in a world where people are people and take their smartwatches off sometimes.