Mapping the X-ray Variability Curves of GRS 1915+105 with machine learning

I wrote my thesis on the X-ray Binary black hole system GRS 1915+105. GRS 1915 is a really interesting source due to its extremely unique and high volume of variability patterns. Previous work has attempted to categorize the behavior we observe into what we call “classes”. The work I undertook in my thesis aimed to use machine learning to either find new “intrinsic” classes of behavior defined by a computer, confirm the classes of behavior that we had already defined or attempt to merge some of the defined classes together as mere variants of one another. You can read my thesis on my work below.

View the interactive projection yourself

I created a machine learning network called an auto-encoder which was able to autonomously relate together the similarities of sections of observations together. This resulted in a graph of points that we can use to look at the intrinsic similarities of behavior of GRS 1915. If you want to see the interactive projection I made, you will need to download the files from the GitHub repository below. The .pkl files contain the direct data required to generate the projection (as well as provides urls for images that appear in tool tips). The app.py runs a Plotly dashboard locally to actually plot the projection. Download the files, keeping them in the same folder. Simply run app.py in your IDE of choice or in the command line and it will run the program on your local host which can be accessed in your browser with http://127.0.0.1:8050/. You will likely need to pip install dash and also make sure that your version of pandas is later than 1.4.1.

The projection in the GitHub repository is more up to date than the version in my thesis – it has a few ease of use changes as well as incorporating a second projection that considers timescales of 1024 seconds rather than just the 256 seconds in my thesis.