CatchNEOs : A Thorough and Automated Predictive Analyzing Web App to Research Near Earth Objects

High-Level Project Summary

This project is an web application that analyzes previous NEOs data with automated data analysis and predicts if a new or existing NEO is hazardous for our planet or not with probability. Our project has the flexibility which will save the researching time for a scientist or statistician. Interactive feature selection, model analysis, prediction report and accuracy analysis has been developed in CatchNEOs. The data has been collected by an automated script using NASA NEO API version 2. We are looking forward to adding location prediction upon the feature absolute magnitude so that we may reduce damages of hazardous NEOs more quickly and ensure better evacuation with better precautions.

Detailed Project Description

We, the error chasers, are passionately working on solving different problems regarding Near Earth Objects at a large scale. "CatchNEOs" is a web application that analyzes and visualizes previous near earth objects data (collected from NASA API) with Exploratory Data Analysis and predicts if a new or existing near earth object is hazardous for our planet or not and also finds out the probability. There are more than 15 machine learning models available including Feedforward Artificial Neural Networks. Most of the models permit hyperparameters choice. Interactive feature selection, model analysis, prediction report and accuracy analysis has been developed in this project. There are more than 15 different kinds of data visualizations are available all of which are interactive 2D or 3D plots. Besides some Exploratory Data Analysis, we have always tried to keep the dataset updated. Since 1998, over 1200 asteroids bigger than a meter have collided with the earth and of those, we detected only five before they hit, never with more than a day of warning. 

On February 15th, 2013 two asteroid heavier than Eiffel Tower slammed into the atmosphere of Chelyabinsk, Russia between 16 hours. The shockwave damaged thousands of buildings and injured 1,500 people. And the truth is, this happens all the time. We're not really that good at detecting asteroids, before they hit us. Based on a simulated exercise undertaken by the 2021 Planetary Defense Conference, NASA scientists stated in May 2021 that 5 to 10 years of preparation may be required to escape a potential impactor. It is a challenge to characterize a NEO quickly. Scientists and statisticians are our main audience. They can use our webapp for research and statistical analysis purpose which may save a lot of valuable time and cost. Now Let's see the Application and System Architecture for better understanding. 

 This application can use the properties of the Near Earth Objects. Such as Maximum diameter, estimated minimum diameter, relative velocity, Miss distance, absolute magnitude etc. and finds out the insides of the data and used for predictive analysis. Here are some tools we have been using for this project: Python, JavaScript, Plotly.js, Scikit Learn, Streamlit etc. This application is mostly written with Python. And for generating 2D and 3D interactive graphs and charts, we have used plotly.js. As we have used some complex algorithms for some models, sometimes the application slows down. To solve this, the application uses cache to improve performance. Here are some tools we have been using for this project: Python, JavaScript, Plotly.js, Scikit Learn, Streamlit etc. This application is mostly written with Python. And for generating 2D and 3D interactive graphs and charts, we have used plotly.js. As we have used some complex algorithms for some models, sometimes the application slows down. To solve this, the application uses cache to improve performance.

Exploratory Data Analysis Demo; https://drive.google.com/file/d/1AP59odVmstpZJa5q1ZYcy2xzZ85x76X7/view?usp=sharing

Predictive Analysis Demo;

https://drive.google.com/file/d/12t38FVWe8_qIn18cKAJBfiGO-7KmhxTW/view?usp=sharing

Space Agency Data

The data has been collected by an automated python script using https://api.nasa.gov/neo/rest/v2/. The script is frequently run by us and gets updated. In that script, we have used requests and multiprocessing library of python and extracted data from JSON and put that into a csv file. We want to thank stackoverflow, kaggle and github contributors because these sites helped us a lot for making that script. NASA API includes many RESTful requests each serving a different purpose. However, the API restricts the number of days to be less than or equal to 10 for which the request is sent. Hence, we had send multiple requests to the API each containing a different starting date. Further, we have used multiple processes that run on multiple cores.

Again, we have added a descriptive video to let our audience to learn about near earth objects which is collected from NASA's official youtube channel which demonstrates about near earth objects and its risks. (https://www.youtube.com/watch?v=r-OCcFnp2RA)

Hackathon Journey

We were very much curious about the National Hackathon of NASA Space Apps Challenge in Independent University Bangladesh as we are young programmers and we are very much eager about innovative competitions like that. And actually, it is our motive to be skilled at programming languages and so we regularly participate in different programming contests and hackathons. NASA Space Apps Challenge is one of the biggest hackathons all over the world and have given us a huge opportunity to improve our skills of thinking and better learning ability. We learn many things in this 2 days journey that we should never leave our work for future and to cheer up our time in crucial time. We have also learned about how we can solve critical errors at critical moments. Previously we had worked on python programming language and artificial intelligence. That is why we have developed such an idea on how we can use predictive analysis to solve risks happened for near earth objects which can help the total mankind and save a lot of times for researchers and scientists. Though we had not 100% successful but we have tried our best. In this case, our mentors help us a lot to understand about the hackathon rules clearly. Previously we work on artificial intelligence with different programming languages such as python,javascript and so on. This is how we approach through this project. We have faced some "error" problems while running our app. Then,we check in details where is the fault is addressed and then we clearify the error.After our app development,we create our introduction and description video according to NASA Space Apps regulations.In this case,our mentor Plabon sir helps us a lot and also cordial thanks goes to Team BASIS who have constantly with us in developing our ideas and help us throughout the journey.

References

References:

(i) https://api.nasa.gov/neo/rest/v2/

(ii) youtube.com/c/NASA

(iii) stackoverflow.com

(iv) kaggle.com

(v) analyticsvidya.com

(v) https://github.com/topics/nasa-api (https://www.google.com/url?sa=i&source=web&cd=&ved=0CAQQw7AJahcKEwjoqZ3U7776AhUAAAAAHQAAAAAQAg&url=https%3A%2F%2Fgithub.com%2Ftopics%2Fnasa-api&psig=AOvVaw3syg81v0UO1pNEFKxLggPR&ust=1664708254511770)

(vi) https://data.nasa.gov/ (https://www.google.com/url?sa=i&source=web&cd=&ved=0CAQQw7AJahcKEwjw3Yz07776AhUAAAAAHQAAAAAQAg&url=https%3A%2F%2Fdata.nasa.gov%2Fstories%2Fs%2FFAQ%2Fg7d2-fwaf%2F&psig=AOvVaw1nktEIsswEQSqmvxuOjaXv&ust=1664708297926613)


Tools have been used:

(i) Python

(ii) Plotly.js

(iii) HTML and CSS

(iv) Python Streamlit

(v) Python Pandas, Matplotlib and Scikit Learn


Helpful Code Resources:

(i)https://gist.github.com/zuzannamj/939f64f4b02b29ba586448bb4732c6ac (https://www.google.com/url?sa=i&source=web&cd=&ved=0CAQQw7AJahcKEwiYlZnF8L76AhUAAAAAHQAAAAAQBA&url=https%3A%2F%2Fgist.github.com%2Fzuzannamj%2F939f64f4b02b29ba586448bb4732c6ac&psig=AOvVaw3X_8j8cKpVuHJHxe-FFLHA&ust=1664708482980614)

Tags

#Near_Earth_Objects, #Machine_Learning, #Prediction_Analysis, #Better_Precausions, #Asteroids, #Save_Earth, #Darta_Analysis, #Data_Visualization, #NASA_API