I apologize if this is too simple a question for this forum but...

If I'm trying to build a neural network or other machine learning based prediction of who will win a football game and by how many points given such and such inputs do I use the actual score of past games as the correct answer for my neural network for training purposes.

For example if I'm using winning percentage of each team to predict winners. I might have the following:

[Home Team Win Pct] [VisitingvTeam Win Pct]   [Home Team Win Margin (points)]

 50%                           45%                 +2
 50%                           75%                 -6
 ....                         .....               ....

...and so on from past games - I might have 10 years of game data let's say.

Can I use the actual outcome point differential ([Home Team Win Margin]) as the "correct answer" for training purposes? Since I have no way of knowing if these two teams played 100 times under the same exact conditions if the average winning margin would be +2 or some other number since for a given game result I only have a sample size of one. Or is there some other measure of "correct answer" that I should use instead? I certainly can't think of one.

Thanks for your help.

  1. Training output should be the same as your target output. If you want to predict the goal difference between two teams, you are training on realized goal differences in the past.

  2. Then you are talking about the inputs really. That is, you can add weather as your input, as well as which team was playing home etc... This is your choice what to put in here and you'll have more things to tackle on a way, but first just try simple things.

So, it will look like this:

  home team name
  away team name

  goal difference

First, you train taking historical records of teams playing, temperature on stadiums at that time and actual goal margin. The training set should include ALL matches you have data about, between all teams (looking at edited question - you don't average anything in data set, you give raw data available on that point, training is exactly the same as prediction with only difference of result given). Yes, it can be percentages of wins as well, be careful to select only past games (that is, if game was in 2011-05-03 you must average only on games before this date). Then when the model is trained you can enter custom team names and temperature to predict the result.

On a sidenote - training on matches between two particular teams could be not too good because of lack of data. You probably should take into account all the stats available. If you think about it, is should improve the prediction (i.e., if it is raining during the match, it doesn't matter which teams are playing - often the number of goals scored is much smaller, and numerous other relations you'd miss if you have not enough data).

PS: Neural network is probably not the best solution for this... But try all methods at hand - most packages can easily switch between predictors.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.