Thursday, October 27, 2016

2016 NFL Game Predictions: Week 8


















Welcome!  I intend this to be an ongoing project of predicting NFL game outcomes, point spreads, and final scores.  My hope is that my models will improve over time as they become more sophisticated and use better data.  I will try to regularly publish predictions to keep myself accountable, and will make observations along the way about what is working and what isn't.  See below for latest updates.  Enjoy!

Previous 2016 Predictions:
_________________________________________________________________________________

Recap Week 8:

(Sigh).  6.5 - 6.5 for the outcome model. 7 - 6 for the ensemble.  The expected value for outcomes was 8.83.  538.com went 9.5 - 3.5, so it is reasonable that I should've done better.  The running total is now 58 - 46 (56%).  What happened?
  • Patriots beat the Bills
    • If my model is saying the Patriots will lose, then it is reasonable to conclude that my model is wrong.  I was expecting this to be wrong, and it was wrong.
  • Falcons beat the Packers
    • This was a close game, so it wasn't an obvious error on my model's part, but I did get it wrong.
  • Seahawks lost to the Saints
    • This was the right prediction to make, but it just was wrong in the outcome.  Too bad.
  • Vikings lost to the Bears
    • Ouch.  Again, the correct prediction to make, but the wrong outcome for my model.

So I guess the lesson for me is don't bet against the Patriots anymore.  But everything else seemed reasonable, so I am not sure what to say.  Just keep predicting, just keep predicting.
_________________________________________________________________________________

Week 8:


The main change this week was to start doing some intentional ensembling.  In addition to my logistic regression model, I also created a decision tree and an SVM.  Neither perform as well as the logistic regression does in predicting outcomes, but my hope is that by combining these models together, the predictions will be improved as they balance each other out.  I didn't have time this week to do a full integration, but hopefully next week they will be implemented.  In the future, I hope to integrate other models like random forests, naïve bayes, and neural nets.  But for this week, my methods are the same as last week.  For better or worse.


Oddities and Bold Predictions:
  • Bengals vs. Redskins
    • I have the Bengals losing to the Redskins. The Bengals were so good last year, but things are looking differently this year.
  • Bill vs. Patriots
    • I have the Bills picked to win in the outcome, with a 0 point difference, with the Patriots having a final score victory of 26 - 23.  So my models disagree.  I'd go with the Patriots personally.
  • Cardinal vs. Panthers
    • My models all pick the Panthers, but I'd personally go with the Cardinals.
  • Falcons vs. Packers
    • I have the Packers picked to win, but the Falcons are playing at home.  I could go either way on this. 

      Good luck in Week 8!

      Here are the predictions for Week 8:

      Week
      Date
      Team
      Home Away
      Opponent
      Prob. Win
      Pred. Team Win
      Actual Team Win
      Pred. Team PD
      Actual Team PD
      Pred. Team Score
      Pred. Opp. Score
      Actual Team Score
      Actual Opp. Score  
      Ensemble Prediction Win  
      8
      10/27/2016
      Jaguars
      @
      Titans
      0.763
      1
      0
      4
      -14
      22
      22
      22
      36
      0.83
      8
      10/27/2016
      Titans

      Jaguars
      0.237
      0
      1
      -4
      14
      22
      22
      36
      22
      0.17
      8
      10/30/2016
      Bengals

      Redskins
      0.353
      0
      0.5
      -3
      0
      19
      23
      27
      27
      0
      8
      10/30/2016
      Bills

      Patriots
      0.553
      1
      0
      0
      -16
      23
      26
      25
      41
      0.5
      8
      10/30/2016
      Broncos

      Chargers
      0.789
      1
      1
      7
      8
      24
      21
      27
      19
      1
      8
      10/30/2016
      Browns

      Jets
      0.084
      0
      0
      -8
      -3
      20
      23
      28
      31
      0
      8
      10/30/2016
      Buccaneers

      Raiders
      0.236
      0
      0
      -4
      -6
      23
      26
      24
      30
      0
      8
      10/30/2016
      Cardinals
      @
      Panthers
      0.454
      0
      0
      -2
      -10
      23
      24
      20
      30
      0
      8
      10/30/2016
      Chargers
      @
      Broncos
      0.211
      0
      0
      -7
      -8
      21
      24
      19
      27
      0
      8
      10/30/2016
      Chiefs
      @
      Colts
      0.557
      1
      1
      5
      16
      26
      25
      30
      14
      1
      8
      10/30/2016
      Colts

      Chiefs
      0.443
      0
      0
      -5
      -16
      25
      26
      14
      30
      0
      8
      10/30/2016
      Cowboys

      Eagles
      0.508
      1
      1
      0
      6
      25
      22
      29
      23
      0.83
      8
      10/30/2016
      Eagles
      @
      Cowboys
      0.492
      0
      0
      0
      -6
      22
      25
      23
      29
      0.17
      8
      10/30/2016
      Falcons

      Packers
      0.27
      0
      1
      -3
      1
      22
      25
      33
      32
      0
      8
      10/30/2016
      Jets
      @
      Browns
      0.916
      1
      1
      8
      3
      23
      20
      31
      28
      1
      8
      10/30/2016
      Lions
      @
      Texans
      0.523
      1
      0
      1
      -7
      25
      22
      13
      20
      1
      8
      10/30/2016
      Packers
      @
      Falcons
      0.73
      1
      0
      3
      -1
      25
      22
      32
      33
      1
      8
      10/30/2016
      Panthers

      Cardinals
      0.546
      1
      1
      2
      10
      24
      23
      30
      20
      1
      8
      10/30/2016
      Patriots
      @
      Bills
      0.447
      0
      1
      0
      16
      26
      23
      41
      25
      0.5
      8
      10/30/2016
      Raiders
      @
      Buccaneers
      0.764
      1
      1
      4
      6
      26
      23
      30
      24
      1
      8
      10/30/2016
      Redskins
      @
      Bengals
      0.647
      1
      0.5
      3
      0
      23
      19
      27
      27
      1
      8
      10/30/2016
      Saints

      Seahawks
      0.203
      0
      1
      -10
      5
      24
      28
      25
      20
      0
      8
      10/30/2016
      Seahawks
      @
      Saints
      0.797
      1
      0
      10
      -5
      28
      24
      20
      25
      1
      8
      10/30/2016
      Texans

      Lions
      0.477
      0
      1
      -1
      7
      22
      25
      20
      13
      0
      8
      10/31/2016
      Bears

      Vikings
      0.254
      0
      1
      -7
      10
      20
      23
      20
      10
      0
      8
      10/31/2016
      Vikings
      @
      Bears
      0.746
      1
      0
      7
      -10
      23
      20
      10
      20
      1