{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Intro","metadata":{}},{"cell_type":"markdown","source":"This report provides a summary of a project undertaken by students from the educational platform: [Practicum](https://practicum.com/).\n\nWe are excited to present our second project, as our students have gained valuable experience and are now taking on increasingly complex challenges. Consequently, the students are achieving more impressive results. To learn more about our first project, please visit:  [NFL Big Data Bowl by Practicum](https://www.kaggle.com/code/ernestglukhov/nfl-big-data-bowl-by-practicum).\n\nIn this article, we will delve into the core principles of our work, the roles of students, and the outcomes of the project.\n\n\n**Project Overview:**\n\nThe primary objective of this project is to develop a predictive model for the trajectory of neutrino particles. The project utilizes data from the IceCube detector, a cutting-edge instrument situated deep within the ice at the South Pole, designed to observe cosmic phenomena. The successful completion of this project has the potential to shed light on a range of cosmic events, including exploding stars, gamma-ray bursts, and cataclysmic occurrences involving black holes, neutron stars, and the fundamental properties of neutrinos themselves.\n\n**Team Structure and Approach:**\n\nOur team comprises several students, each responsible for developing their projects within the context of the Kaggle competition. They were granted the autonomy to explore various approaches and techniques, fostering an environment conducive to creative and critical thinking in data science. During weekly meetings, the students presented their work, received feedback from the instructor and their peers, and discussed any issues that arose. These meetings provided an opportunity for the students to collaborate and learn from each other's experiences. The instructor (me) provided guidance, support, and feedback to ensure the students remained on track.\n\n\n**Student responsibilities:**\n\nEach student was responsible for developing their project within the scope of the competition. This required them to formulate their own ideas, implement them in code, and evaluate the results. The students were responsible for ensuring the accuracy and validity of their models and were encouraged to seek guidance and feedback from the instructor and their peers.","metadata":{}},{"cell_type":"markdown","source":"# Literature review\n\n#### [Paper Overview: Graph Neural Networks in IceCube](https://www.kaggle.com/code/antonsevostianov/paper-overview-graph-neural-networks-in-icecube)\nThis notebook is based on Graph Neural Networks for low-energy event classification & reconstruction in IceCube paper by R. Abbasi et al 2022 JINST 17 P11003. It is one of the most recent works on neutrino detection predictions, which can be relevant for the current IceCube - Neutrinos in Deep Ice competition.\n\n#### [Classification of the events](https://www.kaggle.com/code/mmakhyanov/classification-of-the-events-literature-overview)\nWhat are the different events that IceCube registers? In this notebook we summarize the events characteristics and different approaches to distinguish between neutrino-induced events and noise / atmospheric muons events. We include a short summary of the current papers on this and provide potential solutions to the classification problem based on the geometry and direction of movement.\n\n\n# EDA\n\n#### [Basic EDA](https://www.kaggle.com/code/kashinadarya/neutrinos-direction-basic-eda)\nBasic EDA analysis of the 1st batch using Pandas Profiling package, which reminds of the simplicity and speed of using such tool for primary data analysis. In addition, the ratio of auxiliary 'true' and 'false' pulses within the 1st batch is shown separately, which may prompt us to think about incorrectly working/not efficiency sensors and become a reason for further research.\n\n\n#### [Zenith and Azimuth distribution](https://www.kaggle.com/code/mmakhyanov/eda-and-first-look)\n\nFirst look at the data. A closer look at zenith and azimuth distribution. Azimuth distribution looks like uniform distribution. Zenith distribution has a clear peak at 90 degrees, probably the most and better detected neutrinos come from 'above' and the sensors have better time detecting those.\n\n#### [IceCube Sensor Efficiency: Feature Engineering](https://www.kaggle.com/code/antonsevostianov/icecube-sensor-efficiency-feature-engineering/notebook)\nThis notebook explores difference in quantum efficiency levels between various segments of IceCube and creates new features, which might be useful for future predictive models.\n\n#### [Which sensors can be considered dirty?](https://www.kaggle.com/code/ernestglukhov/which-sensors-can-be-considered-dirty)\nThis project aims to analyze the performance of various sensors in the IceCube detector by examining their data to identify any patterns or discrepancies. The primary goal is to determine if certain sensors are more frequently associated with the auxiliary = True status, indicating a possible correlation with dirty or compromised data.\n\n# Infrustructure\n#### [Skeleton for NN using Pytorh-lightning](https://www.kaggle.com/code/ernestglukhov/practicum-nn-skeleton)\nIn this notebook, we demonstrate the process of data preprocessing and building a neural network using PyTorch Lightning, an open-source framework that simplifies and accelerates deep learning in PyTorch. We walk you through data loading, transformation, and splitting, followed by the design and training of a neural network model, while leveraging Lightning's advanced features for efficient experimentation and reproducibility.\n\n#### [Hyperparameter search using Wandb](https://www.kaggle.com/code/ernestglukhov/practicum-hyperparameter-search-using-wandb)\nIn this notebook, we showcase how to perform hyperparameter search using Weights & Biases (Wandb), a powerful platform for tracking and managing machine learning experiments. We guide you through the process of setting up Wandb, defining hyperparameters, and configuring sweeps to efficiently search the optimal hyperparameter configuration for your model. This notebook demonstrates an effective method to fine-tune your models and enhance their performance with systematic experimentation using Wandb.\n\n\n# Solutions\n\n#### [Can we predict neutrino movement by connecting two dots?](https://www.kaggle.com/code/mmakhyanov/polars-2-dots-method)\nHow good can one predict neutrino movement just by connecting any of the lightened-up sensors? The main issue with the problem - is the increased size of the data (n^2). We construct a naive model to answer this question using Polars for data preparation and feature engineering and CatBoost regressor for predictions. The results are slightly better than the random predictor but far from the best models on the leaderboard.\n\n\n#### [Standard vs Weighted PCA: who's won?](https://www.kaggle.com/code/averkovanika/standard-vs-weighted-pca-who-s-won/notebook)\n\nThe objective of this research was to compare the predictive power of the Standard and Weighted PCA methods in reconstructing the directions of neutrino particles. To achieve this objective, we investigated the limitations of the Standard PCA method in predicting the direction of the neutrino path and determined whether incorporating weights could enhance the precision of these predictions. For those interested in gaining a better understanding of the PCA neutrino reconstruction method, our research findings will be of interest.\n\n\n#### [WPCA: Is it possible to minimize the error?](https://www.kaggle.com/code/evgeniidvornikov/wpca-is-it-possible-to-minimize-the-error)\nIn this notebook the WPCA method is exploring. The research is based on the existing research (<a href=\"https://www.kaggle.com/code/averkovanika/standard-vs-weighted-pca-who-s-won\">Notebook link</a>).  Those method uses the following ranking system as a basis:\n- Rank 3 will get non-auxiliary pulses within the valid time window;\n- Rank 2 - non-auxiliary pulses out of the valid time window;\n- Rank 1 - auxiliary pulses within the valid time window;\n- Rank 0 - auxiliary pulses out of the valid time window.\n\nThis ranking system supposes to  apply  the weights from 0 to 3.  \nWe have investigate the opportunity to use the other weights. This approach  allows to decrease the error for noisy data.\n\n\n#### [Pytorch GNN](https://www.kaggle.com/code/ernestglukhov/practicum-pytorch-gnn)\nIn this notebook, we present the process of building a simple Graph Neural Network (GNN) where nodes represent sensors, and edges signify the signal propagation between them. We demonstrate how to model the sensor network as a graph, create node features, and design a GNN architecture to capture the spatial dependencies between sensors. This notebook is simple and doesn't use pytorch geometric.\n\n\n#### [Meta-solution](https://www.kaggle.com/code/ernestglukhov/practicum-pca-based-solution-with-features/notebook)\nThis notebook presents the results of a collaborative effort aimed at applying Neural Networks to the challenging problem of predicting the direction of neutrino particles in the IceCube. The goal was to develop a Neural Network that can accurately predict the target angles of neutrino particles. To achieve this goal, we explored the feasibility of using PCA and WPCA predictions, along with other useful additional features, as inputs for the Neural Network. In summary, our research explores the potential of incorporating other types of data and features to predict the direction of neutrino particles using a Neural Network. Additionally, our work provides insight into the creation of a training dataset, which can be valuable for future research in this area and help scientists better understand the properties and behavior of neutrino particles and their role in the universe.","metadata":{}}]}