Wednesday, March 12, 2014

Basketball Power Index

Jeff Fogle over at Stat Intelligence has a new posting deriding ESPN's congratulatory self-coverage of the Basketball Power Index.  I won't comment much on what he says other than to note that as usual he's right on the mark with his criticism.

What I don't like about BPI that he doesn't mention is its "secret sauce" formulation.  Nobody except the stats gurus at ESPN know exactly what the formula is for BPI.  If you chase around the ESPN links trying to find a definition for BPI, you get to this page, which provides this sort of "explanation":
There are a number of small details that we have in our methodology to make it reflective of a résumé for a tournament team -- these are pretty technical and many people won't be interested, so we won't go into detail, but we think they improve how the tool works.
There's no way to check how BPI is calculated, whether all the small details are being applied consistently, whether ESPN is tweaking it weekly to inflate its performance, or to compare it to other methodologies.  (I have the same complaint about Ken Pomeroy, who is similarly vague about his actual calculations.)

Obviously, these folks have every right to keep their ratings formulas secret.  And by all means compare your rating performance to other ratings.  But to my mind, you're not a leader in sports rating systems if you're not willing to expose the details of your rating system and let others test and criticize it.

Monday, March 10, 2014

Top Twenty (3/10) and Predictions


1 Louisville
31.10
0.65%
2 Arizona
30.18
-0.46%
3 Iowa
29.88
-0.57%
4 Duke
29.72
-0.47%
5 Oklahoma St.
29.69
-0.13%
6 Michigan
29.58
0.61%
7 Creighton
29.44
-0.37%
8 Villanova
29.38
0.20%
9 Ohio St.
29.24
-0.03%
10 Florida
29.14
0.83%
11 Michigan St.
29.09
0.28%
12 Kansas
29.01
0.21%
13 Kentucky
28.90
-0.52%
14 Iowa St.
28.80
-0.24%
15 UCLA
28.71
-0.73%
16 Cincinnati
28.62
-0.07%
17 Wisconsin
28.60
-0.35%
18 Gonzaga
28.53
NEW
19 Arkansas
28.49
-0.21%
20 Arizona St.
28.47
-0.32%

The regular season Top Twenty ends with Louisville atop the leaderboard after strong showings against SMU and Connecticut this week.  But the biggest winner was Florida, who jumped four spots after crushing South Carolina and Kentucky.  UCLA took the biggest hit following a bad loss at Washington State.

It's interesting to compare the computer rankings to the AP ranking.  Wichita State is probably going to get a #1 seed for the tournament, so this could be the year that a #16 beats a #1.  And Oklahoma State might not get an invite despite being the in the top twenty of most computer polls.

PREDICTIONS

It's conference tournament week, so the marquee matchups won't happen till later in the week and aren't scheduled yet.  Only a couple of games currently stand out:

Notre Dame vs. Wake Forest (Notre Dame by 1)

An early-round ACC matchup between two teams that are statistically nearly identical.
Utah State vs. Colorado State (CSU by 2)
These two teams are the Notre Dame - Wake Forest equivalents in the Mountain West.
Indiana vs. Illinois (Indiana by 3.5)
These two teams are the Notre Dame - Wake Forest equivalents in the B1G.  They split their previous two meetings (although the Illini needed OT to win in Urbana) so this is the rubber match.
Maryland vs. FSU (Maryland by 3)
After surprising UVa, Maryland gets one more chance at a win on its way out of the ACC.  FSU needs to get on a roll in the ACC Tournament to have a shot at getting into the NCAA Tournament.

Predictions (3/4) Recap

#16 Iowa State @ Baylor:  Baylor by 1 (Baylor by 13)
#11 Louisville @ #18 SMU:  Louisville by 3 (Louisville by 13)
#10 SDSU @ UNLV:  SDSU by 2.5 (SDSU by 9)
#6 Villanova @ Xavier:  Villanova by 6  (Villanova by 7) 
#20 Memphis @ #15 Cincinnati:  Cincinnati by 12.5 (Cincy by 13)
#24 Iowa @ #22 MSU:  MSU by 4 (MSU by 10)
#25 Kentucky @ #1 Florida: Florida by 9 (Florida by 19)
#14 UNC @ #4 Duke: Duke by 12.5 (Duke by 12)
#21 New Mexico @ #10 SDSU:  SDSU by 5 (SDSU by 3)
#19 Connecticut @ #11 Louisville:  Louisville by 14 (Louisville by 33)
Oklahoma State @ #16 Iowa State:  Iowa State by 5 (Iowa State by 4 in OT)
#18 SMU @ #20 Memphis: Memphis by 3.5 (Memphis by 9)

The Prediction Machine goes 12-0 in the final week of the regular season, if not always close on the point spread.  Peaking just in time for the Tournament :-)

Friday, March 7, 2014

Machine March Madness 2014

Obviously the big news this year (in the area of machine prediction of the NCAA Tournament, anyway) is the Kaggle competition for $15,000.  Oh, and there's the Quicken Loans competition for a $1 Billion.  But if that's not enough to keep you busy this March, I'm pleased to announce the continuation of the Machine March Madness competitions.  There's no money at stake, but this is the longest-running machine prediction competition, and let's face it -- if you're going to enter the Kaggle competition you might as well enter Machine March Madness, too.  It's not much more work :-).

 (My thanks to Danny and Lee for letting me keep the competition running.)

The rules are very informal.  Your predictions must be based on a computer algorithm, but you can implement some parts manually as long as they're objective.  For example, your method might include "Take the team with the higher Sagarin rating" which you just handled manually, but please limit these steps and avoid just using your subjective judgement.  You can use any data you can find, including human-generated rankings like the AP poll.

The competition will be run as a Yahoo! Pool called "Machine March Madness" which you can find here.  Scoring will be Fibonacci -- 2-3-5-8-13-21 -- which will make the competition a little bit less dependent on the final round(s) than the traditional scoring.  To get the password to join the pool, email me (srt19170@gmail.com) with the name of your entry and a short description of your approach.  Also, please join the Google Group for announcements and discussion.

Useful data can found in a couple of places.  First, at the Kaggle competition data page.  Secondly, you can look in this Google Group thread from last year for some pointer's to last year's data.  Finally, I have fairly extensive data and will make it available as needed -- email me (or post in the Google Group) what you'd like to see.

Danny Tarlow's starter code from past years can be found here.  A short tutorial I wrote on using RapidMiner to predict games can be found here.  Finally, there have been several useful postings on ratings systems and predictions in the Kaggle forum. 

Tuesday, March 4, 2014

Tool Posting: Slime and Swank Versions Differ in Emacs

(Another tool posting.  Apologies to the pure basketball types, but this problem and its fix are impossible to find on the Internets so I wanted to document it for others.)

If you use the Superior Lisp Interaction Mode for Emacs (SLIME), you may get an error when starting up Slime that says "Slime and Swank versions differ, continue?"  Answering yes to the prompt usually continues without any problems, but it's still annoying.

The bug is caused by having multiple copies of Slime on your machine.  To fix it, you need to find and remove all older versions of Slime.  (Searching your file system for "slime.el" is a simple way to find all the installed copies of Slime.)  You might also need to clean up your .emacs file to not load (or include on the load-path) those old versions.

However, the problem will persist until the "slime.el" file is recompiled.  To force this, find the "slime.elc" file in the remaining installation of Slime and remove it.  The next time you start Slime in a new Emacs the file will be recompiled and the error should go away.

Top Twenty (3/4) and Predictions

1 NC Louisville
30.90
-0.48%
2 (+1) Arizona
30.32
0.43%
3 (-1) Iowa
30.05
-0.86%
4 NC Duke
29.86
-0.07%
5 NC Oklahoma St.
29.73
0.27%
6 NC Creighton
29.55
-0.27%
7 NC Michigan
29.40
-0.20%
8 (+1) Villanova
29.32
0.24%
9 (-1) Ohio St.
29.25
-0.48%
10 NC Kentucky
29.05
-0.51%
11 NC Michigan St.
29.01
-0.38%
12 (+1) Kansas
28.95
0.00%
13 (-1) UCLA
28.92
-0.45%
14 NC Florida
28.90
0.07%
15 NC Iowa St.
28.87
0.03%
16 NC Wisconsin
28.70
0.07%
17 NC Cincinnati
28.64
-0.07%
18 NC Connecticut
28.58
-0.10%
19 NEW Arizona St.
28.56
NA
20 NEW Arkansas
28.55
NA

The big loser this week is Iowa, who drops nearly an entire percentage point thanks to three straight losses.  The big winner is Arizona, who continues to roll through the Pac-12.  Arizona State and Arkansas climb back into the Top Twenty, thanks in part to Syracuse and Pittsburgh looking mortal.

PREDICTIONS

The season is ending with a bang, as this week (and particularly next Saturday) has a large number of marquee matchups.

#16 Iowa State @ Baylor:  Baylor by 1

Baylor probably needs a few more wins to get into the Tournament, this is a good opportunity.
#11 Louisville @ #18 SMU:  Louisville by 3

The PM continues to love Louisville despite its unappealing record against the top twenty.
#10 SDSU @ UNLV:  SDSU by 2.5

A possible stumbling block for SDSU.
#6 Villanova @ Xavier:  Villanova by 6

The Cintas Center has been something of a graveyard for visiting ranked teams (as Creighton can testify), but Xavier also does things like lose to Seton Hall, so overall I still expect Villanova to win this game.
#20 Memphis @ #15 Cincinnati:  Cincinnati by 12.5

A surprisingly large number in this game, but Cincinnati is probably better than the AP thinks.
#24 Iowa @ #22 MSU:  MSU by 4

More B10 on B10 thrashing.
#25 Kentucky @ #1 Florida: Florida by 9

Kentucky has struggled for the last half of February and into March, and this is going to be another frustrating game, I think.
#14 UNC @ #4 Duke: Duke by 12.5

The PM is unimpressed by UNC's recent wins.

#21 New Mexico @ #10 SDSU:  SDSU by 5

Comparing this game to the UNLV game shows the power of the HCA.
#19 Connecticut @ #11 Louisville:  Louisville by 14

Should be an easy win for Pitino's boys.
Oklahoma State @ #16 Iowa State:  Iowa State by 5

There's some talk that OK State won't get into the Tournament without a few more wins.  Crazy talk in my opinion, but what do I know.  A win at Iowa State would probably clinch a spot, but that's going to be a tough road.

#18 SMU @ #20 Memphis: Memphis by 3.5
Both teams are probably a lock for the Tournament at this point, and might not have much to play for in this game.

Sunday, March 2, 2014

Prediction Recap (2/24)

#1 Syracuse @ Maryland:  Syracuse by 1
#1 Syracuse @ #14 Virginia:  Virginia by 2

Syracuse is barely favored at mediocre Maryland, which could lead to the spectacle of having the #1 team lose four straight games. 

Syracuse pulls out a 2 point win at Maryland, so we don't get the spectacle of four straight losses, but they do lose to Virginia by 19 (!) points.
 
Virginia Tech @ #5 Duke:  Duke by 31

VT loses by "only" 18.
 
#20 Michigan @ Purdue:  Michigan by 3

A good chance for Purdue to steal a meaningless but satisfying upset.

Purdue loses by 1 point in OT -- but as Feinstein would say, that's what bad teams do.

#7 Cincinnati @ #21 Connecticut:  UConn by 6

UConn by ... 6.
 
#8 Kansas @ Oklahoma State: OKSt by 5

The PM may be the last believer in OK State (although they had a good win this week against Texas Tech).  If the PM is to be believed, they have a good chance to beat Kansas next Saturday.

Yes indeed, you mockers!  OKState wins by 7.
 
#11 Louisville @ #22 Memphis: Louisville by 3

A good illustration of how powerful the HCA is in college basketball. 

Memphis wins by 6 in a game that Louisville led by 8 points or so with just a few minutes to go.  Louisville is now 1-4 against ranked teams this season, which can't be a good sign.
 
#15 Iowa @ Minnesota: Iowa by 4
#11 Creighton @ Xavier:  Creighton by 3.5
#17 Kansas State @ Iowa State:  KSU by 4
#19 Texas @ Oklahoma: Oklahoma by 12
#25 Gonzaga @ St. Mary's:  SMU by 2

We could easily see all the ranked teams lose. 

Five ranked teams losing in the same weekend?  Are you crazy?

Iowa lost, Creighton lost,  Kansas State lost, and Texas lost.  (Gonzaga won fairly easily.) 
Crazy like a fox.  :-)