Neural NASCAR Networks Backpropagation Approach to Fantasy NASCAR Prediction Michael A. Hinterberg ECE 539 Project Presentation Wednesday, 10 May 2000
Overview of NNN • Problem Description • Data Gathering • Data File Creation and Organization • Network Inputs • Neural Network Method • Analysis / Baseline Comparison • Conclusion
Problem Description Fantasy sports games have always been popular with fans, as they reward those with a vast knowledge of the sport and make it more fun to follow a sport. As NASCAR racing is becoming one of the most popular sports in America, so too has the emergence of fantasy NASCAR leagues, where players try to pick the most successful drivers each week. Although neural network approaches have been applied to many other fantasy sports, the presence of such analysis is relatively scarce in NASCAR. I believe a backpropagation implementation to this prediction will be relatively successful.
Data Gathering • Use data from NASCAR Online: http://www.nascar.com • Download data for each race from 1996 through the current races in 2000 (over 140 races total) • Download driver data information for all main drivers • Download track information for all NASCAR tracks • Strip raw text from HTML using HTML Stripper
Data File Creation • Create an .ini file that stores a list of drivers, data file directories, data files, and track info file • Parse data files using Visual C++ • Create output data files for each driver • Parse data files for driver results • Store driver results information in comma-separated variable format per each race
Sample .ini File Mark Martin Terry Labonte Dale Earnhardt Jeff Gordon Dale Jarrett <files> D:\Neural NASCAR\ tracks.txt Data 1999\race1.txt Data 1999\race2.txt Drivers Data file separator Data file directory Track info file Race results data
Network Inputs • For each track (per driver), I will store the inputs for the following information: • End position • Start position • Track length (encoded – short, medium, long) • Car make (encoded – Chevy, Ford, Pontiac, Dodge) • Restrictor Plate track (binary) • Bonus points (for leading a lap or leading most laps) • Total points for race
Network Inputs (continued) • I will also implement driver information inputs if time permits: • Total years racing • Total races • Total Wins • Total Top 5’s • Total Top 10’s
Neural Network Method • I will implement this using a multi-layer perceptron in Matlab with the backpropagation algorithm… • I will modify Professor Hu’s “bp.m” • I am most familiar with the backpropagation algorithm • I am impressed with the success of backpropagation in other sports prediction, such as Mike Pardee’s NCAA Football Prediction • If the project is successful, I will implement my own algorithm in Visual C++ in the future
Neural Network Method (continued) • Implementation Details • I will run a separate net on each driver and try to predict his performance in a given race. • I will scale analog data based off of maximum for that category to prevent statistical bias. • To predict a race, I will use all previous data, and fill in all known inputs, namely driver, car, and track information. All unknown information will be averaged.
Analysis / Baseline Comparison There are dual purposes to this project – first, to be able to predict NASCAR winners for fun, and second, to be able to compete in a NASCAR fantasy league I will use the network to choose fantasy drivers for the first 11 races of this year and compare the results to the Bump and Grind NASCAR Pool: http://home.earthlink.net/~johnet1/ I will consider the project a success if I do better than 50% of the human competitors. I hope to do much better than this.
Conclusion • I believe NASCAR is a well-chosen sport for ANN analysis, and that this network will outperform most human prediction for NASCAR races: • ANN remembers more data than a human • ANN is free from driver bias • ANN considers current driving trends, streaks, and success for each track • NASCAR contains less dependent variables than most other sports, since it is an individual sport