Sparta Global DevOps Training Course


Visualisations


Statistical Analyses

About Me

I am an enthusiastic and hardworking recent physics graduate from Imperial College London. My curiosity in programming began at an early age, but my fascination really flourished at the start of my university career when I started using Python to analyse data obtained in experiments. Since then, I've continued to explore the field of data analysis from visualisations to the initial steps of machine learning algorithms through the projects I've worked on.

I aim to combine my logical background of studying physics with my creative history of music production and filmmaking to find innovative solutions to the problems I tackle. Every day I am excited to learn in the ever-growing field of programming, always eager to find a new way to advance in my ongoing pursuit of efficient and clean code.

Contact

Phone: +447856429956
Email: lwaltmann99@gmail.com

Airport Booking
System

Using Python and MSSQL to create a flight booking system for airport staff

For this project we were tasked with creating a booking system for airport staff that would have a wide range of functionality. The main challenge was planning, setting up and configuring the backend database, hosted with AWS Relational Database Services. We then wrote several classes implementing OOP with Python, for staff members, passengers, and the terminal interface, as well as taking the initiative to increment and build a front-end webpage with Flask.

Orchestration with
Terraform

Using Terraform to orchestrate and set up a Virtual Private Cloud in AWS

Terraform is an extremely useful IaC orchestration tool used to provision, organise, and manage infrastructure components. It's a common tool in the DevOps industry as it allows teams to automate the building of infrastructure very efficiently.

For this project I used Terraform to set up a Virtual Private Cloud in AWS in order to host a web application, including all the necessary components including a public and private subnet, Network ACLs, Internet Gateways, and Route Tables. I also then configured and initialised Amazon EC2 instances to host the application and database in the public and private subnet respectively, with their own unique security groups. Using Terraform enabled me to create a VPC and start the web application from scrath within seconds, showing just how powerful Infrastructure as Code can be.

Visualising Oceanic
Lightning

Visualisations showing frequency and energy density of lightning over the Americas and Atlantic Ocean.

Using a year's worth of data from the ERA5 dataset and the GOES-16 lightning mapper satellite, I created visualisations to uncover any seasonal or diurnal patterns between oceanic variables (such as temperature and humidity), and lightning frequency and energy.

All figures were made with the Plotly package in Python using OOP to enable great flexibility with choosing any selection of days and hours to investigate. As the lightning data was from a relatively new dataset, I was also required to evaluate the quality of my figures using the quality flag variable from the dataset, this informed the end-user of any potential errors for any datapoints in the lightning detection algorithm.

Astronomical Image
Processing

Detecting and cataloguing galaxies from a telescopic dataset

Using data from the Kitt peak telescope I built an algorithm to detect and catalogue the characteristics (such as position and brightness) of any potential galaxy sources. Utilising machine learning techniques to fit and optimise an aperture around a potential source. Once the aperture was fit the algorithm would then catalogue any key features of the source.

The dataset was not perfect, there were issues with blooming (similar to lens flare with regular cameras), and so inspired by the GOES-16 dataset I used in another project I added a quality flag feature in the algorithm that would indicate any potential errors in a catalogued source.

The Oslo Model

Simulations and statistics to model complex behaviour in systems

Plot showing the evolution of a system height with time; the smaller systems reach a stable "recurrent" configuration before the larger systems. (Feb 2020)

Complexity explains the emergent properties of a system by examining the local behaviour of the individual components. For example, the net movement of a flock of starling birds can be determined by considering the motion of one bird and its neighbours.

In this project I simulated the behaviour of the Oslo Model, used to explain the emergent behaviour of sandpiles. In particular the characteristics of an avalanche, when one grain of sand toppling causes a mass collapse of the pile, can be computed by examining the local slope of columns of grains. This project involved constructing and testing the avalanche generating algorithm, followed by using statistics and data collapsing to further investigate the behaviour of the model. As it would be inefficient to visualise the actual pile of grains, the only way to ensure the program was working as intended was with rigorous testing and assertions to prevent any unexpected results.

Regression and
Cross Validation

Finding and fitting trends using regression and cross validation techniques

Graph showing the averaged error for a polynomial fit of up to order 20 with some randomly generated data; the significant dip shows the data is likely to be a polynomial of order 7. (Jun 2018)

This project was all about investigating different techniques in fitting trends to data following a randomly generated polynomial trend. The techniques I explored included the Mean Squared Error, Ridge regression, Lasso regression, and K-fold cross validation. All fitting algorithms were coded from scratch, testing polynomial orders up to 20 as well as datasets up to 1000 points.

I particularly enjoyed the search for the optimal parameters to obtain the ideal compromise between computational power and training/testing datasets. As well as a final report, I presented my results to secondary school students on a university open day, finding ways to explain the key concepts without overcomplicating the subject.