Polls 2019-20

Started by Jim Hyla, September 30, 2019, 08:05:55 AM

Previous topic - Next topic

adamw

Quote from: Swampy
Quote from: adamwSo mea culpa ... our Pairwise was calculating incorrectly, but not because of the Pairwise algorithm, per se ... we had the site for some of the "Bad win" games all listed as home games, even when they were road games. Which - because of the weighting these days - messes things up.  This was a dumb bug on my part introduced in June when I was playing around with some stuff.

Anyway - Pairwise is right now - so...thanks for the inspiration to get to the bottom of it.

One would think that by now some sports nerd would have written a R package that, at a minimum, scrapes relevant data off the Web and computes RPI and the pairwise.

Not sure I understand the point? Isn't that what we're doing?
College Hockey News: http://www.collegehockeynews.com

Jim Hyla


[b]USA Today/USA Hockey Magazine Women's College Hockey Poll
December 3, 2019[/b]
Team              Points  (First) Last Poll Record Weeks in Poll

1 University of Wisconsin 183 (12) 2 16-1-1 11
2 University of Minnesota 178 (7) 1 14-1-3 11
3 Northeastern University 142 4 13-2-0 11
[b][u]4 Cornell University 137 3 9-1-1 11[/u][/b]
5 Ohio State University 102 7 10-4-4 11
[b][u]6 Princeton University 89 5 9-2-0 11
7 Clarkson University 82 6 12-2-4 11[/u][/b]
8 Boston College         69 8 11-4-2 10
9 Boston University 31 10 10-4-1 8
10 Univer Minnesota Duluth  26 9 8-6-2 9

Others receiving votes: Robert Morris University 4,
Mercyhurst University 1, [b][u]Quinnipiac University[/u][/b] 1.
"Cornell Fans Made the Timbers Tremble", Boston Globe, March/1970
Cornell lawyers stopped the candy throwing. Jan/2005

Swampy

Quote from: adamw
Quote from: Swampy
Quote from: adamwSo mea culpa ... our Pairwise was calculating incorrectly, but not because of the Pairwise algorithm, per se ... we had the site for some of the "Bad win" games all listed as home games, even when they were road games. Which - because of the weighting these days - messes things up.  This was a dumb bug on my part introduced in June when I was playing around with some stuff.

Anyway - Pairwise is right now - so...thanks for the inspiration to get to the bottom of it.

One would think that by now some sports nerd would have written a R package that, at a minimum, scrapes relevant data off the Web and computes RPI and the pairwise.

Not sure I understand the point? Isn't that what we're doing?

There are a few points. (1) If the package scrapes web pages, then you would not be inputting data manually. Unless the source(s) were wrong (e.g. NC$$ site was wrong), the mistake you made could not have happened. (2) R packages are generally FOSS, so dozens of nerdy fans could be calculating the pairwise. This would make discrepancies easier to detect. (3) It would also allow fans to examine contingencies and play "what if?" E.g., I would have liked to compare wins by both teams in tonight's BU/Harvard matchup just to know which one to root for. (4) If the package were FOSS, then people could modify it to include visuals, KRACH instead of RPI, etc. (5) Also because it's FOSS, bugs are eliminated more ruthlessly. Many years ago I used a specialized R package to do a statistical analysis, but I was suspicious of the results. So I found a textbook example of the kind of analysis I was doing and fed the textbook's data into the R package. The results differed from the textbook's. Because it was FOSS, I could dig into the calculations and figure out where the R package diverged from the textbook's calculations. This led me to discover a bug in the R code. Not only was I able to correct it and fix my analysis, I also reported the bug and showed how to fix it.

adamw

Quote from: SwampyThere are a few points. (1) If the package scrapes web pages, then you would not be inputting data manually. Unless the source(s) were wrong (e.g. NC$$ site was wrong), the mistake you made could not have happened. (2) R packages are generally FOSS, so dozens of nerdy fans could be calculating the pairwise. This would make discrepancies easier to detect. (3) It would also allow fans to examine contingencies and play "what if?" E.g., I would have liked to compare wins by both teams in tonight's BU/Harvard matchup just to know which one to root for. (4) If the package were FOSS, then people could modify it to include visuals, KRACH instead of RPI, etc. (5) Also because it's FOSS, bugs are eliminated more ruthlessly. Many years ago I used a specialized R package to do a statistical analysis, but I was suspicious of the results. So I found a textbook example of the kind of analysis I was doing and fed the textbook's data into the R package. The results differed from the textbook's. Because it was FOSS, I could dig into the calculations and figure out where the R package diverged from the textbook's calculations. This led me to discover a bug in the R code. Not only was I able to correct it and fix my analysis, I also reported the bug and showed how to fix it.

1) We are not manually entering anything. ... what we're doing is much more efficient than scraping web pages. Whose web pages would you be scraping? We get our data from official sources - entered into a database automatically. The only manual entry is at arenas. That original source would be prone to an error no matter what. The only places you could scrape from are either us, or the same official source as us. You would be just as prone to making an error in processing data from scraping, as I am in getting it from an official source. In actuality, the error was not exactly as I explained. It had nothing to do with a data source error - but just in the way it was being tallied up. One line of code that tallies up weighted home/road "points" solely for the purpose of discarding "bad wins" - hard to explain - anyway ... 2) there are numerous fans who already do calculate the Pairwise too, FYI - and we already cooperate with them - and vice-versa - in order to point out discrepancies and figure out where our calculations go awry - which usually only happens when there is some sort of criteria change - except in this case, where I was dumb and left out a line after doing some refactoring over the summer. ... 3) We have a "what if" calculator on our site, as did John Whelan for years - but if you want to have at doing another one, be my guest. In fact, feel free to work on improving ours :) ...

I really know nothing about the rest of it - but go for it. I don't think it would accomplish what you think it would - but feel free to have at it.

The error was caught. Would it have been caught faster if hundreds of nerds were also compiling their own Pairwise? Maybe. But you'd still have to know how to calculate the Pairwise correctly - because there's a lot to it under the hood that is not officially explained anywhere. There is no "textbook" in this case. So ... good luck :)
College Hockey News: http://www.collegehockeynews.com

Robb

While we're at it, thanks for putting up KRACH, even though Cornell is shown with an infinite rating.  When did Whelan give up on the fictitious games?  I know I've had discussions with him in the past where he vociferously defended including it, even up to the end of the season when the sample size is merely tiny and not infinitesimal.

Just curious.
Let's Go RED!

Swampy

Quote from: adamw
Quote from: SwampyThere are a few points. (1) If the package scrapes web pages, then you would not be inputting data manually. Unless the source(s) were wrong (e.g. NC$$ site was wrong), the mistake you made could not have happened. (2) R packages are generally FOSS, so dozens of nerdy fans could be calculating the pairwise. This would make discrepancies easier to detect. (3) It would also allow fans to examine contingencies and play "what if?" E.g., I would have liked to compare wins by both teams in tonight's BU/Harvard matchup just to know which one to root for. (4) If the package were FOSS, then people could modify it to include visuals, KRACH instead of RPI, etc. (5) Also because it's FOSS, bugs are eliminated more ruthlessly. Many years ago I used a specialized R package to do a statistical analysis, but I was suspicious of the results. So I found a textbook example of the kind of analysis I was doing and fed the textbook's data into the R package. The results differed from the textbook's. Because it was FOSS, I could dig into the calculations and figure out where the R package diverged from the textbook's calculations. This led me to discover a bug in the R code. Not only was I able to correct it and fix my analysis, I also reported the bug and showed how to fix it.

1) We are not manually entering anything. ... what we're doing is much more efficient than scraping web pages. Whose web pages would you be scraping? We get our data from official sources - entered into a database automatically. The only manual entry is at arenas. That original source would be prone to an error no matter what. The only places you could scrape from are either us, or the same official source as us. You would be just as prone to making an error in processing data from scraping, as I am in getting it from an official source. In actuality, the error was not exactly as I explained. It had nothing to do with a data source error - but just in the way it was being tallied up. One line of code that tallies up weighted home/road "points" solely for the purpose of discarding "bad wins" - hard to explain - anyway ... 2) there are numerous fans who already do calculate the Pairwise too, FYI - and we already cooperate with them - and vice-versa - in order to point out discrepancies and figure out where our calculations go awry - which usually only happens when there is some sort of criteria change - except in this case, where I was dumb and left out a line after doing some refactoring over the summer. ... 3) We have a "what if" calculator on our site, as did John Whelan for years - but if you want to have at doing another one, be my guest. In fact, feel free to work on improving ours :) ...

I really know nothing about the rest of it - but go for it. I don't think it would accomplish what you think it would - but feel free to have at it.

The error was caught. Would it have been caught faster if hundreds of nerds were also compiling their own Pairwise? Maybe. But you'd still have to know how to calculate the Pairwise correctly - because there's a lot to it under the hood that is not officially explained anywhere. There is no "textbook" in this case. So ... good luck :)

Thanks, Adam. Much of what you say is new information I didn't know.

I guess my biggest point is if there were an authoritative, completely FOSS version of software to compute RPI and Pairwise, an individual's coding mistake would not only be discovered quickly, but also multiple users of the software would be likely to bring this discovery to light.
 
I didn't know you were loading official data into your database. In fact, I didn't know such data are available. Certainly this is preferable to scraping web pages, although one could argue that a web page is just another data format. I frequently use data that are downloadable in a database-friendly format (e.g., csv files), but sometimes an agency only publishes data on a web site. In both cases, once the code is written to import the data, I hardly notice any difference between different kinds of sources. (How the data are organized -- e.g. as a time series versus one-shot, Saturday night results -- is an entirely different matter.)

Off the top of my head, if I were to choose a single data source, it would be the NC$$'s official results.

Your last point is also mine. I was assuming there would be one authoritative package that's known to produce correct results. This would be the starting point for any enhancements.

So, to follow up this discussion, what software do you use? What programming language is it written in? Is it publicly available? If so, how? Is it free? What copyright or other licensing restrictions does it have? Is it open source?

Trotsky

Can we appreciate both CHN and indy nerds who reverse-engineer everything, or do we have to take sides here?

Just tell me whom to hate, dammit!

Dafatone

I'm still curious about the official rankings, which are described as being an enigmatic process that is best approximated by the pairwise.

I'm always a little worried when we're right on the bubble that the mystery will somehow keep us out.

Jeff Hopkins '82

Quote from: TrotskyCan we appreciate both CHN and indy nerds who reverse-engineer everything, or do we have to take sides here?

Just tell me whom to hate, dammit!

Starts with an H...

Jim Hyla

Quote from: Jeff Hopkins '82
Quote from: TrotskyCan we appreciate both CHN and indy nerds who reverse-engineer everything, or do we have to take sides here?

Just tell me whom to hate, dammit!

Starts with an H...

Whose loss dropped their PWR to 11 and also dropped the PWR of Clarkson, Dartmouth and Q. Can't anyone else in the ECAC help us and the rest of the league.

I can see EZAC popping up all over
"Cornell Fans Made the Timbers Tremble", Boston Globe, March/1970
Cornell lawyers stopped the candy throwing. Jan/2005

Tom Lento

Quote from: Jim Hyla
Quote from: Jeff Hopkins '82
Quote from: TrotskyCan we appreciate both CHN and indy nerds who reverse-engineer everything, or do we have to take sides here?

Just tell me whom to hate, dammit!

Starts with an H...

Whose loss dropped their PWR to 11 and also dropped the PWR of Clarkson, Dartmouth and Q. Can't anyone else in the ECAC help us and the rest of the league.

I can see EZAC popping up all over


I think whoever said the OOC records will likely even out over the holidays is right. My baseline expectation is the league will be pretty similar to where it was last year overall, when ECAC teams went .481 in inter-conference play. Right now it looks awful though - .381 to date. :/

On a related note, Cornell has the 51st ranked schedule strength in KRACH, and it's so terrible largely due to the ECAC part of the schedule (note: it is set at NaN, so I don't really know how it gets ranked anywhere other than last, but Colgate is 44th so it's probably not too far wrong). By contrast, Minnesota State is 12-1-1 against the toughest schedule in the nation, and NoDak and Denver have run up impressive records against similarly tough competition.

On the other hand, Cornell is 9-0-0. I'm enjoying that. :D

Beeeej

Quote from: Tom LentoOn a related note, Cornell has the 51st ranked schedule strength in KRACH, and it's so terrible largely due to the ECAC part of the schedule (note: it is set at NaN, so I don't really know how it gets ranked anywhere other than last, but Colgate is 44th so it's probably not too far wrong). By contrast, Minnesota State is 12-1-1 against the toughest schedule in the nation, and NoDak and Denver have run up impressive records against similarly tough competition.

On the other hand, Cornell is 9-0-0. I'm enjoying that. :D

I think the tournament in Vegas will be very telling - it's a strong field overall, so if we can come out of there with two wins I'll have some genuine confidence for March.
Beeeej, Esq.

"Cornell isn't an organization.  It's a loose affiliation of independent fiefdoms united by a common hockey team."
   - Steve Worona

Trotsky

I'll bet the 1970 team's SOS was awful.

Turns out they don't withhold the trophy for that.

Trotsky

Quote from: Beeeej
Quote from: Tom LentoOn a related note, Cornell has the 51st ranked schedule strength in KRACH, and it's so terrible largely due to the ECAC part of the schedule (note: it is set at NaN, so I don't really know how it gets ranked anywhere other than last, but Colgate is 44th so it's probably not too far wrong). By contrast, Minnesota State is 12-1-1 against the toughest schedule in the nation, and NoDak and Denver have run up impressive records against similarly tough competition.

On the other hand, Cornell is 9-0-0. I'm enjoying that. :D

I think the tournament in Vegas will be very telling - it's a strong field overall, so if we can come out of there with two wins I'll have some genuine confidence for March.

For truth quoted is.

Dafatone

Quote from: Tom Lento
Quote from: Jim Hyla
Quote from: Jeff Hopkins '82
Quote from: TrotskyCan we appreciate both CHN and indy nerds who reverse-engineer everything, or do we have to take sides here?

Just tell me whom to hate, dammit!

Starts with an H...

Whose loss dropped their PWR to 11 and also dropped the PWR of Clarkson, Dartmouth and Q. Can't anyone else in the ECAC help us and the rest of the league.

I can see EZAC popping up all over


I think whoever said the OOC records will likely even out over the holidays is right. My baseline expectation is the league will be pretty similar to where it was last year overall, when ECAC teams went .481 in inter-conference play. Right now it looks awful though - .381 to date. :/

On a related note, Cornell has the 51st ranked schedule strength in KRACH, and it's so terrible largely due to the ECAC part of the schedule (note: it is set at NaN, so I don't really know how it gets ranked anywhere other than last, but Colgate is 44th so it's probably not too far wrong). By contrast, Minnesota State is 12-1-1 against the toughest schedule in the nation, and NoDak and Denver have run up impressive records against similarly tough competition.

On the other hand, Cornell is 9-0-0. I'm enjoying that. :D

I figure the ECAC ooc record has to improve, largely because it can't get much worse.