Develop a machine learning approach using Temporal Convolutional Networks (TCNs) to detect and analyze transit timing variations (TTVs) in multi-planet systems. This method aims to reveal hidden planets or provide deeper insights into planetary dynamics.
- Installation
- Data Collection
- Data Preprocessing
- [Step 1](#Step 1)
- [Step 2](#Step 2)
- Download Link
- Running the Model
To get started, clone the repository to your local machine using the following command:
git clone https://github.com/your-username/your-repository.git
Navigate into the project directory:
cd your-repository
Create a virtual environment to manage dependencies:
python -m venv env
Activate the virtual environment:
-
On Windows:
.\env\Scripts\activate
-
On macOS and Linux:
source env/bin/activate
Install the required dependencies using pip.
pip install -r requirements/data-requirements.txt
pip install -r requirements/model-requirements.txt
Use the already provided csv files from the missions and run the respective python scripts to download the data.
cd data_collection
Use the Kepler Objects of Interest 2024-07-23.csv to download the data from the Kepler mission.
To download the Kepler data, run the following command:
python3 kepler.py
Use the K2 Planets July 23.csv to download the data from the K2 mission.
To download the Kepler data, run the following command:
python3 k2.py
Use the TESS Project Candidates 2024-07-23.csv to download the data from the K2 mission.
To download the Kepler data, run the following command:
python3 tess.py
Cleaning the light curve and taking only information that we need. This includes cleaning, transforming, and splitting the data.
cd preprocessing
Run the general data preprocessing script:
python preprocess.py
Run the script to prepare the data to be feed into the ml model:
python preprocess_ml.py
Download the preprocessed data (Around 5.5 GB)
Run the custom TCN model to detect TTVs in the light curves.
cd ml
Change the location of the data in the actual_model.py file to where the data is stored.
data = np.load("../ml_data/ttv-dataset/ttv_detection_data.npz")
Run the TCN model
python actual_model.py
-
"Transit Timing Variations as a Method for Detecting Exoplanets":
- Holman, M. J., & Murray, N. W. (2005). Science, 307(5713), 1288-1291.
- This foundational paper discusses the TTV method and its potential for detecting exoplanets.
-
"Application of Convolutional Neural Networks to Exoplanet Detection in Light Curves":
- Shallue, C. J., & Vanderburg, A. (2018). The Astronomical Journal, 155(2), 94.
- Explores the use of convolutional neural networks for detecting exoplanets, providing a basis for adapting CNN techniques to TCNs for TTV analysis.
-
"Neural Network Approaches to TTV Detection":
- Pearson, K. A., Palafox, L., & Griffith, C. A. (2018). Monthly Notices of the Royal Astronomical Society, 474(4), 4782-4796.
- Investigates the application of neural networks for transit timing variation detection.
-
"Machine Learning for Exoplanet Detection and Characterization":
- Armstrong, D. J., Pollacco, D., & Santerne, A. (2017). Monthly Notices of the Royal Astronomical Society, 465(3), 2634-2654.
- Reviews various machine learning methods used in exoplanet detection, including TTV analysis.