Thanks to missions like Kepler and TESS, we now have access to hundreds of thousands of light curves of stars. Many of these light curves are variable, often due to star spots, faculae, and other surface features that rotate into and out of view over the course of a stellar rotation. Even though these stars are unresolved — all we get is a one-dimensional flux timeseries — we can in principle use their light curves to learn about what their surfaces look like: how many spots does a given star have, how dark are they, and where on the surface do they typically appear? While interesting in their own right, these questions can address fundamental physical properties of a star, in particular the nature and topology of its magnetic field and convective processes in its interior.

But how exactly can we use a light curve to learn about the stellar surface? It turns out this is an extremely difficult problem because of the degeneracies involved. While a given configuration of spots on the surface of a star has a unique light curve (e.g., at a given inclination and in a given bandpass), the same is not true for the converse: a given light curve does not correspond to a unique stellar surfaces. In fact, for any light curve, we can find an infinite number of solutions to the mapping problem that fit the data exactly. To put it another way, if we are given a stellar light curve (and no other prior information), it is provably impossible to determine the shape, size, location, contrast, and number of spots on its surface.

So how do we get around this? The trick is to abandon the notion of trying to image individual stars. (If we have very strong priors, or if we're lucky enough to see the star being occulted by a companion, the mapping problem suddenly becomes a lot more tractable; but let's set this point aside for now.) While light curves of individual stars contain only a very small amount of information about their surfaces, the light curves of lots of stars together constrain a lot more about the distribution of stellar surfaces across the population. I talk through this point in a couple posts in my blog (Interpretable GPs I and Interpretable GPs II), so make sure to check those out if you're interested.

Simultaneously analyzing lots of light curves can be extremely computationally expensive, since we typically want our population size to be large (e.g., hundreds of stars). Since we need to jointly fit for the surface parameters of each star, the number of parameters in our model can quickly become intractable (thousands to tens of thousands), making posterior inference quite tricky. One workaround is to use a Gaussian process (GP), which makes it extremely easy to compute marginal likelihoods: i.e., the likelihood that a star has spots concentrated at a certain latitude, marginalized (integrated) over all possible ways you can arrange the spots. But in order to do that, we need to first come up with a Gaussian process for stellar light curves: that is, one which is an explicit function of parameters we care about, such as the mean spot latitude, the mean spot size, etc.

That's the idea behind a starry process. It's an adaptation of my starry mapping code into a statistical process that makes it easy to ask questions about ensembles of light curves. Given lots of light curves of "similar" stars, a starry process makes it easier to ask questions such as, "Do M dwarfs have polar or equatorial spots?" or "Do all G dwarfs have spots as small as those on the Sun"?

This is very much still a work in progress, and I'm actively working on both the code and the paper. If you're interested, check out these two blog posts: Interpretable GPs I and Interpretable GPs II for more information.