While all of the previous models except for 'Home Team Wins' develop a rating metric for each team, they all have ignored the issue that wins and points mean different things for different games. For example, if a middle-
The basis of this forecasting algorithm is to build a linear regression model for Marging-
MOV= Visiting_team_factor -
The setup for the equivalent regression factors is a matrix that looks like the following:
For each historical game, the regression variable is the MOV or the difference in scoes between the visiting and home teams. The input variables to the regression are simply a '+1' in the column for the visiting team, a '-
When a regression is performed on the above data, it results in a series of 'strength' ratings for each team, and the home advantage factor. To compute the predicted MOV for the next week's game, you just plug in the factors into the above equation. A positive MOV predicts a visitor win, while a negative MOV predicts a home win.
While the subject of how linear regression works is way too complex to describe adequately here, the key feature is that it tries to fit a model to the actual data by simultaneously minimizing the errors between what the model would predict for all input data, and the actual data. So if you were to take the team ratings developed by the regression model, and use them to retroactively 'predict' (postdict?) the MOVs used as input, you would find that they were optimal -
One practical problem that I have found with this method is that it seems to result in ill-
For this reason I used an iterative method for finding the team ratings. While this does not get around the above-
Once there are enough connections between teams, however, the predictive performance of the iterative fitted linear model (in my experience) will typically range from a little worse to occasionally a little better than that of one developed using traditional least-
So how well does this work in practice? Below are the 2014 NFL season results:
Overall, for the 2012,2013,2014 NFL seasons, this model makes correct calls 66% of the time.