Archive for the ‘Uncategorized’ Category.

Initial approach to using AI to predict football outcomes

Note: an updated, more accurate method can be found here.

Over the past few months, I have been playing around with artificial neural networks (ANNs) in C#.  For those of you unfamiliar with ANNs, it is an attempt to programmatically reproduce the way the brain processes data. 

Below is a simple ANN architecture:

On the left we have inputs (i.e. data), and on the right we have an output (i.e. the outcome).  The middle is a layer of neurons that essentially map the inputs to the output via weights (i.e. synapses).

The idea is that, given enough data to “train” the neural network”, you can create a neural network that is capable of predicting an outcome.

There are many uses for ANNs; I am attempting to see if I can build a network to accurately predict football games.

I’ve created a VERY simple ANN, and come up with the following predictions for week 13 of the NFL:

Arizona at St. Louis : Arizona
Atlanta at Washington : Atlanta
Dallas at N.Y. Giants : Dallas
Detroit at New England : New England
Indianapolis at Tennessee : Indianapolis
Jacksonville at Miami : Miami
Kansas City at Cleveland : Kansas City
Minnesota at Chicago : Chicago
N.Y. Jets at Green Bay : Green Bay
San Diego at Buffalo : Buffalo
San Francisco at New Orleans : New Orleans
Tampa Bay at Pittsburgh : Pittsburgh
Houston at Oakland : Oakland
Seattle at Denver : Seattle
Carolina at Philadelphia (Monday night) : Carolina

Now, I don’t have a lot of faith in these predictions, because my inputs only consist of the following for the first 12 weeks:

Away Team, Home Team, Did Away Team Win?

For example, the first line of my training data looks like this:

17,25,0

Where 17 equals Miami, 25 equals Pittsburgh, and 0 means that the away team lost.

The idea is that the network is built based on 12 weeks of data, and given the inputs it can predict whether or not the away team wins or loses.

Once all the results are in, I’ll post and share how well my predictions did!  I’d be surprised if it was more than 50% accurate.  In the future, I plan to try to find additional pieces of data to include in the training, so that the predictions become more accurate.

Note: I just tested this method against week 12 results (meaning I used weeks 1 through 11, excluding week 12), and found that I was only able to get it 50% accurate … no better than randomly choosing.

About Me

Update: I have recently joined Microsoft as an Architect Evangelist.  This bio will soon change.

I am a technical lead and application architect, specializing in Enterprise Application Integration (EAI), custom .NET applications, and data warehousing solutions.  I am largely focused on Microsoft products, including Commerce Server, BizTalk Server, ASP.NET (well, all things .NET), Team Foundation Server (TFS), but I also try to actively participate in the open source community.  I am a director for Statera, a Microsoft Gold partner headquartered in Denver, CO.

I have achieved the following professional certifications over the years:

  • Microsoft Certified Technical Specialist, (MCTS), BizTalk Server 2006
  • Microsoft Certified Solutions Developer, (MCSD), .NET 1.1 platform (C#)
  • Microsoft Certified Application Developer, (MCAD), .NET 1.1 platform (C#)
  • Microsoft Certified Database Administrator, (MCDBA), SQL Server 2000

I have experience with the following technologies:

  • Languages: C#, Visual Basic.NET, C/C++, Visual Basic 6.0, T-SQL, XML, JavaScript, VBScript, Perl, XHTML, CSS, VBA, XPath
  • Databases: Microsoft SQL Server (all versions), Oracle 9i, MySQL (5.0, 5.1), Microsoft Access (all versions), PostgreSQL (8+)
  • Operating Systems: Windows (Vista, Server 2003 32-bit and 64-bit, XP, Server 2000, NT)
  • Technologies: .NET Framework (1.0, 1.1, 2.0, 3.0, 3.5), ASP.NET, ASP, XML Web Services, ADO.NET, Active Directory (ADSI), Crystal Reports, Microsoft SQL Reporting Services, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF)
  • Products/Toolkits: Microsoft Commerce Server 2007, SharePoint Portal Server (2007, 2003), BizTalk Server 2006, Virtual Server 2005 R2, Internet Information Services (all versions)
  • Developer Tools: Microsoft Team Foundation Server, Microsoft Visual Studio (all versions), SQL Server Management Studio, Microsoft Visual SourceSafe (6+, 2005)

Please feel free to send me a friendly e-mail, or leave a comment.  Thanks for stopping by!