Portfolio


Home Portfolio Resume

Dendrochronologial Smoothing Spline Research
research poster | full paper
Abstract:
Dendrochronologists study tree rings to reconstruct past climatic conditions. The first step in processing tree-ring data is to use smoothing splines to separate climatic versus non-climatic trends. Smoothing splines are piecewise cubic polynomials which offer the flexibility needed to fit tree-ring data. A smoothing parameter is used to balance bias and variance in smoothing spline models—changing its value can make the models more linear or more interpolating. While smoothing splines are used in many other fields, the standard practice in dendrochronology is to choose the smoothing parameter using a method developed by Cook and Peters in 1981, which is a selection method unique to the field. For this method, the Fourier transform is employed to filter out the different frequencies present in the growth trend. However, as the Cook and Peters method is so specific to dendrochronology, a traditional spline method for choosing the smoothing parameter may be more widely understood, making tree-ring data processing more accessible to a wider audience. This paper identifies an equivalence between traditional smoothing spline selection methods and the Cook and Peters method. Comparing the performance of multiple smoothing parameter selection methods with the Cook and Peters method determined that for specific values the traditional selection method degrees of freedom produces approximately equal splines to the Cook and Peters method. Additionally, this research identifies a direct relationship between the smoothing parameters chosen by the Cook and Peters method and this degrees of freedom method.

Best and Worst Case fits of our method compared to the Cook & Peters Method

Lichess Social Network Analysis
full research paper | project repository
Abstract:
Online chess makes for a significant portion of world wide chess play. As it has grown, online player rankings have become increasignly significant in the chess world. This paper analyses the efficacy of the current ranking method employed by lichess.com (one of the most popular online chess platforms world wide). In our analysis of gameplay data, using NetworkX, gephi, and cytoscape to analyse the data as a social network, we confirm efficacy of ranking across multiple gameplay communities (based on players' preferred game type) and identify a style of ranking manipulation committed by players on network branches of abnormally large length. This cheating style has not yet been identified by the current technology on the site. Players get removed when caught breaking site rules, but the majority of fraudulent accounts identified by our program are still active accounts. This papers suggests that the game developers implement our network analysis method as a means of more accurately identifying foul play.

Entire Lichess.org player social network, with edges colored by game type, and nodes colored by player community.


Nearest Neighbor Queries using Kd-Trees
github repository | project synthesis paper
Summary:
Implemented a k nearest neighbor query based on algorithm concepts discussed in computational geometry course. Implemented in python, runs in O(logn) time on 2-dimensional datasets.


Assembly Arcade
github repository
Summary:
Coded interactive snake arcade game in x86 assembly language. Game displayed with memory mapped IO and registers players' moves using interruptions. Game tracks players' scores and registers end-of-game moves consistent with the rules of the classic arcade game.





Contact me

Eva Nolan
eva.c.nolan00@gmail.com
github.com/ecnolan