Hannah's Weekly Notes

At this stage, we have a mapped dataset of known paths and movement speeds derived from GPS data. I spent the first half of the week cleaning up code and writing some unit tests. Charles also provided me with some data of physical landscape features: population density, elevation, forest condition, and water presence—though it’s worth noting that the water data is extremely sparse. These datasets are just temporary placeholder data, I need to look into what features and sources we want to use.

This is just preliminary research into which models should be further pursued. The objective is to predict movement speed based on these landscape characteristics. Currently, the dataset is limited to one specific National Park, but data from other regions will be added soon. For the purpose of this report, the train-test split was done by randomly selecting map pixels for testing. This approach does introduce spatial autocorrelation into the results, but will be addressed in the final version. As a baseline for comparing these models, using the mean speed as a constant prediction gives an RMSE of approximately 1.

Before applying any more advanced techniques. Brief research was done into simple linear regression. First, a correlation heatmap to see strong relationships between variables:

The rank is not used as a predictive feature in the model, but I was still interested to see its relationship.I also generated a correlation heatmap comparing the output variable with various transformations of the features (including squared and square root), but this analysis didn’t reveal any significant changes or stronger relationships.

Population, elevation and forest condition against speed:

This analysis was primarily to assess whether including nonlinear transformations of the features (e.g., powers or roots) would benefit the linear regression model. In the end, I decided not to include them. However, due to the high correlation between some features, I did explore regularization. Despite testing a range of alpha values, both Ridge and Lasso regression performed worse than standard linear regression. This linear regression had a RMSE of about 0.94, so only slightly beating our baseline.

Therefore I used some more advanced ML models, comparing their results:

The tree-based methods seem to have noticeably better results, they can handle non-linearities and feature interactions, which maybe are prominent in this data. The next steps would be to get better feature data and tune my random forest regressor (hyper-parameters, and further research into rank) with the full data.

This would have been the direction I would have pursued, had it not been talking to Rob near the end of the week. He advised against modelling it with kernel density, and instead recommended going back to one of the earlier ideas of brownian bridge. So I instead started implementing this.