From: boll@CS.ColoState.EDU (dave boll)
Newsgroups: rec.gambling
Subject: Sports betting
Date: 6 Apr 92 21:35:11 GMT
Distribution: usa
Organization: Colorado State University, Computer Science Department


  Re: NFL picks

  At the request of >1 person, I will not be posting my picks to the net
  this fall. But, I will be e-mailing them to a few rec.gambling readers. 

  In response to some interesting points this discussion has raised:

  My very first program used a complex routine to pick the game winners, and
  as one person suggested, performed very well on the years I used as training
  data, but not well at all on years I hadn't trained on. This is not too
  surprising, I think I had 7 or so parameters to my function. So lately I've
  been taking a more 'minimalist' approach to parameters. In fact, my first
  program that broke 60% on new games used only two pieces of data (given the
  two teams): Who had home field, and who won the game. Using only these data,
  it is possible to make pretty decent predictions using a sort of 'iterated'
  won/loss record (explained below). From these 2 pieces of data (per game),
  the program generated picks using a 2 parameter linear function. My current
  program does not use this technique, but it still might be of interest.

  The basic problem in trying to get statistical information from historical
  games is this: If team A beats team B by C points, how impressed should
  we be? How should this fact alter our judgement of the relative strength
  of teams A and B? Someone suggested the idea of won-loss records (and that
  this didn't work too well). But what if we iterate the won-loss records?

  Say team A is 8-5 (8 wins, 5 losses). Compute a new pseudo won-loss record
  like so:
      1) To get the new # of wins, find the total # of wins of all the teams
	 that team A has defeated.
      2) To get new # of lostes, find total # of losses of all the teams that
	 team A has lost to.

  Now you can repeat this process over & over. You'll probably need to
  normalize them each time, or the #s get too big, but after a while, the
  normalized #s relax to a steady state where not much change occurs during
  this process. I have found that by computing the number 
       # wins/(wins + losses)
  you get a # between 0 and 1 that can be used as a measure of team
  strength. This can then be used (along with home field advantage) as a
  pretty good game picker.

  The nice thing about this technique is that the rating of a team with a
  stellar record against ho-hum opposition won't necessairly be all that
  high.

  Of course, any time you represent team strength with a single #, you're
  throwing out nontransitive relationships that may exist among teams. But,
  IMHO modelling nontransitive relationships requires more parameters, and
  buys you less than the additional parameters cost.

  Someone else ( sorry about the lack of names; forgot to save the articles)
  asked about betting strategy vs. predicted % chance of cover. You bet I'd
  increase my betting amount on games that look especially good. A fairly
  decent amount to bet would be:
     (.04 + (% chance)/10)*X
  With X being my current 'betting capital'. This amount is NOT intended to
  be some deep mathematical exact equation, but just a variation of 
  proportional betting that seems to work well for me. 

  I'd be interested to hear more from those who have also tried to write
  NFL prediction programs/techniques.
-- 
     ------------------------------------------------------------
     Dave Boll  boll@handel.cs.colostate.edu
                "The speed of time is 1 second per second"
     ------------------------------------------------------------