Alan Zhou

Data Science, Python

Deep Substorm Detection

Detecting magnetic substorm instances with RNN and CNN models

Deep Substorm Detection

Deep substorm detection is a project written in Python (with Keras and Tensorflow) started by me and Greg Starr. In this project we predict the incidence of auroral substorms (what those are is explained below) with deep learning techniques. The reason we chose to use deep learning is that the mechanism by which substorms occur isn’t really understood, so making predictions on substorm incidences has not really been attempted before (to our knowledge).

Using both RNN and CNN architectures, we’re able to predict whether or not a substorm occurs within the next 30 minutes with between 70% to 80% accuracy. As with all data science results, accuracy is never the full story, so scroll down for more details and check out the the Substorm Detection github page here!

Substorms: A Quick Introduction

Auroral substorms are natural phenomena whereby energy is released from the Earth’s magnetospheric tail into the ionosphere. Substorms themselves are not directly observable to the human eye, but the most obviousy visible sign of a substorm is greatly increased intensity in the polar auroras. For more details about substorms check out Nasa’s (old) webpage about them here.

The most important part about substorms for this project, though, is that the mechanism by which they occur is not understood, which means machine learning / deep learning is arguably one of the best ways to tackle the problem of prediction!

Machine Learning Techniques

Logistic Regression

Because substorms are not well understood, there does not exist a baseline with which we can compare our results to. Since logistic regression is one of the simpler classifiers, we use it to establish a simple baseline.

RNNs, CNNs

Recurrent and Convolutional Neural Networks have both been shown to handle time series data efficiently. This is a natural fit for our experiments, since the input to our networks is all time series data!

Experiments

Problem Definition

The problem we try to answer with this project is the following: Can we predict whether or not a substorm will occur within the next 30 minutes given our input data? We’re also interested in whether or not we can predict the strength of the substorm, for which we use a proxy value called “SuperMAG Electrojet Index (SEM)”

Data

The data comes from the SuperMag dataset The data encompasses the following

  • magnetic field measurements from magnetometer stations across the globe
  • solar wind measurements
  • binary labels for whether or not a substorm occurred at any given time

Neural Network Architectures

CNN

RNN

Results

Method Classification Accuracy Substorm strength MSE (SME)
CNN - joint .789 ± .0164 48,831 ± 6,397
RNN - joint .761 ± .008 70,362 ± 1,068
RNN - mag data only .692 N/A
RNN - solar wind only .701 N/A
Logistic Regression .660 N/A