Predicting El Nino- Southern Oscillation using Deep Learning
Advisors :
Georgy Manucharyan
Scott Martin
PhD Students:
Cassia Cai
Gemma O’Connor
Youngwon Kim
Undergrads :
Anuj Jain
Lisa Li
Sandy Wu
What we have
What we want
2
Gridded SST from large ensemble( CESM 2) of historical climate model simulations (165 yrs)
Machine Learning Tools & Cloud Server
Team Members
Predict El Nino Index of future i.e SST anomaly over Time in NINO 34 region
Comparison of accuracy of various ML methods
Team Work !
3
Baseline method for comparing our methods to (assume SST anomaly value remains constant)
Principal Component Analysis - reduce the dimensionality of the data. We used 32 PCAs to cover ~80% of variance
LSTM - learning order dependence in sequence prediction
trained using LSTM which. 20 Epochs
Here, model forgets the insignificant parameters while training.
Creates a Filter Matrix and examines what the best activation functions (ReLU) and optimizers (adamax) are. Variables in Matrix stores information as data is being read (gets trained for 5 layers ). The filter created is used to predict.
Besides using filter layers as in CNN, the network also stores information from dataset of previous run. Consequently, most efficient here. Needs more time and space to train (10 Epochs)
Convolutional Neural
Network 2D
Convolutional LSTM
PCA - LSTM
Machine Learning
Methods Description
Results
NINO 3.4 Index,
Tropical Pacific Ocean - SST
Latitude - 5°S to 5°N�Longitude - 190°E to 240°E
4
Each ML method performs better than naive Persistent Method
Convolutional LSTM Method has very good predictive power for El-Nino 4 Months in advance
CNN Method for 3 Months in advance and flattens for longer prediction with average accuracy
300 Random points are chosen and SST anomaly prediction is made using various methods
Potential Improvements- For us, you & OHW 23
Involve more variables for prediction : SSH, Wind Speed, Pressure, Wave Velocity
Improving performance reliability for distant future
Collaboration !
Long term Impacts
Uncovering the black box of ML- why do the methods perform this way?