Horse Racing + Weather

 

About this Page

This is an accompanying web application to a final project for SML 310: Research Projects in Data Science that explores how weather may be used to improve current models which try to predict the outcome of a horse race. Such work is novel in its explicit use of meteorological data and design choice to set the target for prediction to be the earlier finisher of a pair of horses.


The primary purpose of this web application is to allow users to play around with out a simplified version of one of our models without setting jup a development environment. That is, using the panel in the center of the page, a user may enter in data and immediately receive the model's prediction, right here in the browser. It is our hope that such an interface will aid the understanding of our work and inspire additional questions for future research.


A secondary purpose of this web application is to provide a clean, centralized location from which to serve content related to the project. Most importantly, the final paper and presentation are linked just below this text, and together provide an extremely detailed explanation of our work for those who are curious.

Paper Presentation GitHub

Getting Started

To play around with the provided model, first review the section titled "Features" to learn the input to then model. Then locate the table in the column to the right. This tables is where you may enter in data that will then be run through the model. A description of this model is found above the table. The results returned by the model will then be visualized, below the table. You are encouraged to try out different inputs and compare the results.

Have Questions?

We are happy to answer your qustions. Please, send an email to anhein@princeton.edu.

Disclaimer

With jockeys, trainers, and owners all having a stake in the outcome of a race, an exorbitant amount of pressure is put on horses to perform well. This pressure is sometimes exerted in the form of premature training, rigorous schedules that omit leisure time or social interactions, constant caged travel to different racetracks, and the use of performance enhancing drugs. We do not condone such behavior and hope that this analysis does not contribute to such mistreatment. To recognize the unfortunate circumstances of many racing horses, we have made a donation to the Thoroughbred Retirement Foundation, and we encourage you to do the same if you are able to.

Features

The below table describes the features used by the simplified model included in this web application.


Our definition of similar weather can be found in the paper, though can be intuitively understood as weather belonging to the same approximate "bin" and can be relaxed for the purposes of this playground.


For a single runner in a race, there are a total of 15 features in this simplified model.


Feature Description
saddleThe saddle number of the horse.
reciprocal_public_oddsThe reciprocal of the public odds for a horse.
weightWeight of the horse (in kilograms).
prev_positionFinishing position of jockey in their most previous race.
prev_position_courseFinishing position of jockey in their most previous race on the same course.
prev_position_distanceFinishing position of jockey in their most previous race on the same distance.
prev_position_conditionFinishing position of jockey in their most previous race on the same track condition.
prev_position_runnersFinishing position of jockey in their most previous race with the same number of runners.
prev_position_monthFinishing position of jockey in their most previous race in the same month.
prev_position_tempFinishing position of jockey in their most previous race in a similar temperature.
prev_position_pressureFinishing position of jockey in their most previous race in a similar barometric pressure.
prev_position_rainFinishing position of jockey in their most previous race in a similar rainfall.
prev_position_humidityFinishing position of jockey in their most previous race in a similar humidity.

Pairwise Winner

No longer supported.


Instead of predicting whether a given runner will win the race or predicting the winner in a race given all the runners in the race, we have chosen to train models to predict the earlier finish given a pair of runners in a race. In short, this choice was made to conserve data, keep the model simple, and provide flexibility in our predictions. The paper provides a more in-depth motivation of this choice.


The following model is a neural network that represents a simplified version of the one we use in our own analysis. It accepts the feature vectors for two runners in a race and predicts the pairwise winner. Enter data in the table then click submit and visualize the output below. Please scale all data to be in the interval [0,1].


Please, fill out the table below then click the "Submit" button to see each model's prediction.


Runner 1 Name:

Feature Value
saddle
reciprocal_public_odds
weight
prev_position
prev_position_course
prev_position_distance
prev_position_condition
prev_position_runners
prev_position_month
prev_position_temp
prev_position_pressure
prev_position_rain
prev_position_humidity

Runner 2 Name:

Feature Value
saddle
reciprocal_public_odds
weight
prev_position
prev_position_course
prev_position_distance
prev_position_condition
prev_position_runners
prev_position_month
prev_position_temp
prev_position_pressure
prev_position_rain
prev_position_humidity

(Results will appear below.)