Space weather can be detected by instruments already flying, if you can teach a satellite to notice when its own readings stop looking normal. We used autoencoders to do exactly that on hardware never designed for the job.
Space weather is what happens when the sun acts up: bursts of charged particles that can damage satellites, disrupt GPS and radio, and in bad cases knock out power on the ground. Watching for it is the job of dedicated monitoring satellites, and there aren't many of those because they're expensive.
But there are hundreds of ordinary satellites in orbit whose sensors react to the same conditions by accident. The question behind this capstone was whether those satellites could help detect space weather, even though they were never built for it.
Even on a science problem, we followed the same six CRISP-DM steps we use everywhere.
There's no company in this one, but the first step is the same: understand who needs this and why before doing anything else. We had to learn what space weather actually is, what it damages, and why coverage is thin. Nobody can afford to launch dedicated monitoring satellites everywhere. If ordinary satellites could fill the gaps, coverage gets better without launching anything new. That framing set the goal: a way to flag likely space weather events using hardware that's already flying.
This is where most of the project's hours went. The data was sensor readings from satellites, and before we could say what an unusual reading was, we had to learn what a normal one looked like. Readings swing constantly for ordinary reasons, like where the satellite is in its orbit and whether it's in sunlight. None of that is space weather. Learning the difference meant learning about the instruments themselves, then preparing the data so routine swings didn't get mistaken for events.
Real space weather events are rare, and the data wasn't labeled. We couldn't show a model examples of events and ask it to find more, because we didn't have the examples. So we came at it backwards. We used autoencoders, models that learn to reproduce normal data. Train one on ordinary readings and it gets good at reproducing them. Feed it a reading it can't reproduce, and you've found something that doesn't look like normal. Those are the moments worth flagging.
A flag is only useful if it points at something real. The check that mattered was whether the flags lined up with actual disturbances, rather than routine orbital behavior or sensor noise. That's also why the data work above was the heart of the project. A model that flags every sunrise is worthless.
For a capstone, the finish line was demonstrating that this works: satellites never built for space weather can still help detect it. The same idea carries straight into business. Companies sit on sensor and log data collected for one purpose, and there's often a second use waiting inside it.
This was graduate capstone work. We're glad to go deeper on it with anyone interested.
There's often signal in it worth surfacing. Let's find out.