Measuring Circadian Amplitude

This blog is the spiritual sequel to our last blog post on ways of measuring sleep regularity. Unlike the last one, though, which was based on an excellent review article, this post is Olivia’s off-the-cuff (and extremely wonkish) thoughts on the topic of circadian amplitude.

There’s a reason for a lack of formality, though, which is what do we even mean by circadian amplitude? It’s much less established than sleep regularity. Compared to the nice, crisp set of potential scores you can use to decide if sleep is regular or not, circadian amplitude is blurry, like a picture of some kind of sleep and circadian-themed yeti. You can talk about it, and people generally get what you mean, but a widely agreed upon actual technical definition has yet to be converged upon. 

Here’s what I mean by circadian amplitude. The amplitude of your core circadian pacemaker, the suprachiasmatic nucleus, is captured by the coherence of the neurons firing there. Are they generally agreed as to what time it is? High amplitude. Are they confused and each signaling a different time? Low amplitude. 

The pacemaker in your brain isn’t the only one, though, which means you’ve got other definitions of amplitude to worry about. The definition of your melatonin rhythm’s amplitude could be the classic maximum versus minimum, or it could be the area under the curve of your melatonin, or it could be the time spent above a threshold (if producing melatonin is really more like a boolean switch response). We don’t have an answer yet in the field for which of these is best.

Similarly, what about activity? There’s a healthy chunk of literature which basically takes the amplitude of the activity circadian rhythm to be the maximum minus the minimum of a cosine fit of actigraphy data. Which is fine until you think about how, if I put an activity tracker on you, then strapped your arm to a car windshield wiper in the middle of the day, turned it on, and left you there, you would end up having an enormous “circadian amplitude” under this definition despite the effect being entirely driven by windshield wiper. 

Said another way: it is incredibly easy for masking to occur when we try to use activity as a proxy for circadian amplitude, the same way it’s incredibly easy for masking to occur when you try to measure dim light melatonin onset with the lights on overhead.

But sometimes all you have is activity. How best can you approximate some notion of circadian amplitude if that’s all you’ve got? 

  1. Cosine fits:

How it works: Fit a cosine to your data. Amplitude is the maximum minus the minimum of your fit.

Thoughts on it as a measure of circadian amplitude: I’m not a fan of cosine fits for circadian rhythms in human activity. They struggle to handle outliers, they impose an arbitrary shape (a cosine) on human behavior data that seems disconnected from reality (why should you be rewarded for having activity peak at noon versus 9am?), and they’re too often used as an indicator of what’s going on in the brain without any physiological reasoning behind it. 

If I have a particularly inactive day, has my circadian amplitude totally collapsed? Probably not. If I have a one-off active day, has my circadian amplitude spiked? Again, I’d say no. Yet a cosine fit of each day in isolation could tell a very different story. In the same way as you could totally bamboozle a cosine-based estimate of phase simply by staying in bed all day and then being active all night, so too can you totally wreck a cosine-based measure of amplitude. It’s eminently maskable. 

2. Sleep regularity index (SRI):

How it works: Calculate the probability that, given that you were asleep or awake at time T, you were in the same state (asleep or awake) 24 hours later. 

Thoughts on it as a measure of circadian amplitude: I’m a big fan of the sleep regularity index (it’s great), but I have two points against it as a proxy for circadian amplitude. 

First, you can be very regular in your sleep and have inputs to your circadian system which I could expect to correlate with low amplitude; e.g. extremely low lighting conditions all day and bright light at night. There’s nothing in that environmental set-up that forbids you from having regular sleep (especially as measured through actigraphy), yet I’d expect your amplitude to be low, and low in a way that SRI could not capture. 

Next, it has the opposite problem of cosine fits. While cosine fits are too opinionated, and enforce too much of a shape on actigraphy in order for it to count as “high amplitude,” SRI is not opinionated enough. Want to sleep for an hour, be awake for an hour, sleep for an hour, be awake for an hour, etc., for the rest of your life? I would expect your circadian amplitude to be absolutely trash if you did that. Yet you could have a perfect SRI on such a schedule. 

3. Limit cycle oscillator circadian amplitude: 

How it works: Run light or activity through a model of the human circadian clock; take amplitude as defined in the model to be circadian amplitude. 

Thoughts on it as a measure of circadian amplitude: This, and the below option, are my favorite of all the options, for the following reasons: 1) it doesn’t prioritize cosines over other perfectly fine patterns of activity, 2) it punishes you for patterns like my 1 hour awake/1 hour asleep example above, 3) it is literally tuned to match human physiology, and 4) it doesn’t get thrown off by outliers or single weird days in isolation (like cosine fits can).

If you have a one-off weird day, and you’re basing your definition of amplitude on a limit cycle oscillator model, then the limit cycle oscillator model will try to respond to that one-off weird day the same way your body would. The change will be gradual, not a complete collapse. 

Downside: Initial conditions. It’s a system of differential equations, so initial conditions matter. You need to let them wash out or you risk biasing your measures. 

Even bigger downside: “Just run it through a system of differential equations,” is neither friendly nor accessible, so the ability of people to run this on their data is limited by access to a circadian math nerd. 

4. Entrainment Signal Regularity Index: 

How it works: Roughly, initialize a limit cycle oscillator model with a low amplitude and see how quickly it converges when fed a history of light or activity as zeitgebers. This is similar to starting with a population of people from all around the world and seeing how quickly (or slowly) it takes for them all to converge to the same state. In other words, it’s a measure of how “entraining” the schedule is. 

Thoughts on it as a measure of circadian amplitude: Everything I said above for limit cycle oscillator circadian amplitude applies—I like this. But this approach tackles the problem of unknown initial conditions by functionally saying “let’s try all of them.” Let’s start with initial conditions all over the place and see what this particular pattern of light and activity does to them. Do they converge, and fast, to the same state? Highly entraining signal, would be expected to correlate with higher amplitude. Do the initial conditions stay spread out? Poorly entraining signal, expected to correlate with low amplitude. This still suffers from a few implementation questions, like how many days are you going to run it? (One day of data will have less time to entrain you than ten days, for example.) But at the very least, you’ve solved the initial conditions problem. 

There’s a subtlety in the name of this measure and how we’ve framed it in the past, which is that you can think of it as a measure of how entraining a person’s patterns of light and activity are—a score on the inputs they feed their central pacemaker, rather than a score on the outputs of their clock. That said, I’d still expect a schedule that rapidly entrains people to be associated with high circadian amplitude while I’d expect a schedule that doesn’t entrain people at all (like constant darkness or constant light) to be associated with low circadian amplitude. 

Of course, the “only a small subset of people will have the code and background to run this” critique still applies. But we’ve got code online to do it. Plus, if you’ve made it this far, you’re probably one of those people. (And if you are—let me know your thoughts on all of the above! I’m keen to know!)