Jump to content

More Hockey Stats

Blogger
  • Posts

    143
  • Joined

  • Last visited

Blog Entries posted by More Hockey Stats

  1. More Hockey Stats
    Original post.
     
    Now that we obtained a way to estimate players' performances for a season, we can move on to estimate their performances for a specific game.   For the season of interest, we compute the average against for each teams, just like we computed the season averages. I.e. we calculate how many goals, shots, hits, blocks, saves are made on average against each team. Thus we obtain the team against averages Tavg. The averages are then further divided by the number of skaters and goalies (for respective stats) the team had faced.   After that we can calculate the "result" Rt of each season average stat in a chess sense, i.e. the actual performance on the scale from 0 to 1: For Goalie Wins/Losses:
      Rtwins = 0.5 + Tavgwins/(Tavgwins+Tavglosses)
    For Plus-Minus:
    Rt+/- = 0.5 + (Tavg+/- - Savg+/-) / 10 (10 skaters on ice on average)
    For the rest:
    Rstat = 0.5 + (Tavgstat - Savgstat) / K
    where K is a special adjustment coefficient that is explained in part VI (and, as we remind, describes the rarity of each event)   And from the result Rt we can produce teams' Elo against in each stat, just like we computed the players' Elos.   Then, the expected result Rp of a player against a specific team in a given stat is given by:
    Rp = 1/(1 + 10(Et - Ep)/4000)
      where Et is the team's Elo Against and the Ep is the player's Elo in that stat.   From the expected result Rp, we can compute the expected performance Ep just like in the previous article:   Pexp = (Rp - 0.5) * A * Savg + Savg   (See there exceptions for that formula).   Please note that we do not compute "derived" stats, i.e. the number of points (or SHP, or PPP), or the GAA, given the GA and TOI, or GA, given SA and SV.   Thus, if we want to project expected result of a game between two teams, since it's the expected amount of goals on each side, we compute the sum of the expected goals by each lineup (12 forwards and 6 defensemen):   Shome = SUMF1..12(MAX(PexpG)) + SUMD1..6(MAX(PexpG)) for the home team Saway = SUMF1..12(MAX(PexpG)) + SUMD1..6(MAX(PexpG)) for the away team   while filtering the players that are marked as not available or on injured reserve. Please note that we assume the top goal-scoring cadre is expected to play, if we knew the lineups precisely, we would substitute the exact lineup for the expected one.   You can see the projections at our Daily Summary page. So far we predicted correctly the outcome of 408 out of 661 games, i.e. about 61.7% . Yes, we still have a long way to go.   Now to the different side of the question. Given that a player expectation overall is a vector of [E1, E2, ... En] for all the stats, what is the overall value of that player. And the answer is, first and foremost, who's asking.   If it's a statistician, or a fantasy player, then the value V is simply:
      V = SUM1..n(WnEn)
      where Wn are the weights of the stats in the model that you are using to compare players. Fantasy Points' games (such as daily fantasy) are even giving you the weights of the stats - this is how we compute our daily fantasy projections.   Now, if you're a coach or a GM asking, then the answer is more complicated. Well, not really, mathematically wise, because it's still something of a form
      V = SUM1..n(fn(En))
      where fn is an "importance function" which is a simple weight coefficient for a fantasy player. But what are these "importance functions"?   Well, these are the styles of the coaches, their visions of how the team should play, highlighting the stats of the game that are more important for them. These functions can be approximated sufficiently by surveying the coaches and finding which components are of a bigger priority to them, for example, by paired-comparison analysis. Unfortunately, there are two obstacles that we may run into: the "intangibles", and the "perception gap".     But that's a completely different story.    
  2. More Hockey Stats
    Original post.
     
    One of the greatest chess methodologists, if not the greatest one, the sixth World Champion, Mikhail Botvinnik, wrote in one of his books (about the 1948 World Chess Championship Tournament):

    A tournament must go on a uniform schedule, so that the participants would get used to a certain pace of competition. ...

    The Dutch organizers neglected that. They didn't take into account that plenty of free days (because of the holidays, and because the number of the participants was odd) may break that rhythm and take the participant out of the equilibrium.

    When I found out that one of the participants is going to "rest" for six days before the last gameday of the second round, I suggested to my colleagues Mr. Keres and Mr. Smyslov that we would submit a protest together. Alas, they didn't support me! Angrily, I told them then: "You'll see, one of us is going to rest six days in a row at the Hague, and on the seventh day he'll lose without putting up any resistance..."

    And here came true the first part of my prophecy: after the six-day rest, Keres, pale as a sheet, sat at the chess table across from me, worrying, probably, that the second part of it will also come true...

    Keres lost a rather short and lopsided game.
  3. More Hockey Stats
    Original Post   The most important conclusion of the last chapter that dealt with goalies' Elos is that it is defined by actual performance of a goaltender versus the expected performance of the team he is facing. That is the approach we are going to inherit for evaluating skaters.   For the start we compute the average stats of a league for each season. We do that for most of the stats that are measured, from goals and assists to faceoffs taken, up to the time on ice for the goaltenders. This is a trivial calculation. Thus we obtain season stat averages Savg.   Now we can begin to work with the skaters. We assign them a rating of 2000 in each stat. The first and the most difficult step is to coerce the actual performance of a skater in each stat to a chess-like result, on the scale from 0 to 1. This is a real problem, since the result distribution for the number of players looks something like one of these chi-squares:
        Therefore we need to rebalance it somehow while preserving the following rules: They should be more or less distributive, i.e. scoring 1 goal thrice in a row in a game should produce approximately the same performance as scoring a hat trick in one game and going scoreless in the other two. They should still have the same shape as the original one. The average rating of the league in each stat should remain 2000 at the end of the season.   So first, we do not apply rating changes after a single game. We take a committing period, for example, five games, and average players' performance in every rated stat over that period. Second, we apply the following transformation to the performance:   P'player = (Pplayer - Savg) / Savg   where Savg is the season average on that stat. It could be more precise to compute against the averages against of the teams played (see the first paragraph), but we decided to go via a simpler route at this stage.   Then we scale the performance by the Adjustment Factor A:   P'playeradj = P'player / A   The adjustment factor sets the result between -0.5 and 0.5. More or less. There still are outliers, but they are very infrequently beyond 0.5 . The A factor depends on the rarity of the scoring in the stat and varies from 6 (Shot on Goal) to 90 (Shorthanded goal). The adjustment for goals, is, for example, 9. The adjustment for faceoffs won is 20. The latter one might look a bit surprising, but remember that many players do not ever take faceoffs, e.g. defensemen. Naturally, only skaters stats are computed for skaters, only goalie stats for goaltenders.   The final Result Rplayer is then: Rplayer = P'playeradj + 0.5   So for the rare events we have a lot of results in the 0.48-0.5 area and a few going to 1. For the frequent events (shots, blocks, hits), the distribution is more even.   Now that we got the player's "result" R, we can compute the elo change through the familiar formula:   ΔElo = K * (R - (1/(1+10(2000 - Eloplayer)/400)))   where K is the volatility coefficient which we define as:   16 * √(A) * √(4 / (C + 1))   A is the aforementioned Adjustment Factor and C is the Career Year for the rookies (1) and the sophomores (2), and 3 for all other players.   'What is 2000', an attentive reader would ask? 2000 is the average rating of the league in each stat. We use, because the "result" of the player was "against" the league average. If we used team averages, we would put the average "Elo against" of the teams faced instead.   After we have the ΔElo, the new Elo' of a player in a specific stat becomes:   Elo' = Elo + ΔElo   And from that we can derive the expected average performance of a player in each stat, per game:   Rexp = 1/(1+10(2000-Elo')/400) Pexp = (Rexp - 0.5) * A * Savg + Savg   which is an "unwinding" of the calculations that brought us from the actual performance to the new rating.   The calculation differs for the three following stats:   SVP - processed as described in Part V. Win/Loss - processed as a chess game against a 2000 opponent, where the result is: Rw = Pw/(Pw+Pl), Rl = Pl(Pw+Pl) over the committing period. The only subtlety here is that sometimes a hockey game may result in goalie win without a goalie loss. PlusMinus - R+/- = 0.5 * (P+/- - Savg+/-) / 10 (10 skaters on ice on average)
    Then, via the regular route we get the Elo' and the expected "result" Rexp, and the expected performance is: Pexp+/- = (Rexp+/- - 0.5) * 10 + Savg+/-   Please note that we do not compute "derived" stats, i.e. the number of points (or SHP, or PPP), or the GAA, given the GA and TOI, or GA, given SA and SV.   An example of the computed expected performances that lists expectations of top 30 Centers in Assists (Adjustment Factor 9) can be seen below:
      # Player Pos Team Games A a/g Avg. g. Avg.a  E a/g  E a/fs 1 CONNOR MCDAVID C EDM 43 34 0.791 44.00 33.00 0.706 61.54 2 JOE THORNTON C SJS 41 24 0.585 74.11 52.00 0.665 51.27 3 NICKLAS BACKSTROM C WSH 40 24 0.600 69.20 50.10 0.663 51.85 4 EVGENI MALKIN C PIT 39 27 0.692 62.09 44.73 0.659 55.33 5 SIDNEY CROSBY C PIT 33 18 0.545 61.67 51.50 0.655 46.15 6 RYAN GETZLAF C ANA 36 25 0.694 68.58 45.42 0.648 50.26 7 EVGENY KUZNETSOV C WSH 40 22 0.550 54.75 27.75 0.605 47.43 8 ANZE KOPITAR C LAK 36 16 0.444 72.73 41.55 0.594 40.33 9 ALEXANDER WENNBERG C CBJ 40 28 0.700 59.00 25.67 0.583 52.50 10 CLAUDE GIROUX C PHI 43 25 0.581 61.70 37.60 0.579 47.56 11 TYLER SEGUIN C DAL 42 26 0.619 66.86 31.14 0.566 48.65 12 RYAN O'REILLY C BUF 30 16 0.533 66.00 26.38 0.553 39.23 13 DAVID KREJCI C BOS 44 18 0.409 60.64 32.36 0.528 38.05 14 RYAN JOHANSEN C NSH 41 22 0.537 65.33 27.00 0.523 43.43 15 JOE PAVELSKI C SJS 41 23 0.561 69.64 29.09 0.517 44.21 16 HENRIK SEDIN C VAN 43 17 0.395 75.56 47.81 0.517 37.17 17 DEREK STEPAN C NYR 42 22 0.524 68.00 30.86 0.508 42.31 18 VICTOR RASK C CAR 41 19 0.463 67.00 22.67 0.497 39.37 19 MARK SCHEIFELE C WPG 40 20 0.500 44.50 17.83 0.493 39.23 20 JASON SPEZZA C DAL 35 18 0.514 62.71 37.79 0.490 37.60 21 JOHN TAVARES C NYI 38 16 0.421 68.50 35.00 0.488 37.46 22 MITCHELL MARNER C TOR 39 21 0.538 39.00 21.00 0.484 41.82 23 STEVEN STAMKOS C TBL 17 11 0.647 65.11 29.00 0.474 29.97 24 ALEKSANDER BARKOV C FLA 36 18 0.500 56.75 21.00 0.463 36.51 25 MIKAEL GRANLUND C MIN 39 21 0.538 55.80 24.40 0.460 40.80 26 PAUL STASTNY C STL 40 13 0.325 65.09 34.55 0.457 31.74 27 JEFF CARTER C LAK 41 15 0.366 69.67 24.33 0.448 33.35 28 MIKE RIBEIRO C NSH 41 18 0.439 62.88 33.06 0.447 36.32 29 MIKKO KOIVU C MIN 39 16 0.410 66.83 34.25 0.445 35.14 30 ERIC STAAL C MIN 39 22 0.564 74.46 36.77 0.442 40.99   You can see more of such expectation evaluations on our website,http://morehockeystats.com/fantasy/evaluation .   Now, we ask ourselves, how can we use these stats evaluations to produce an overall evaluation of a player?    
    To be concluded...
  4. More Hockey Stats
    Original post.
    The goalkeeper is half of the whole team
      Soviet proverb from Lev Yashin's times.
    After a foray into the calmer lands of teams' evaluation using the Elo rating, it's time to turn our attention to the really juicy stuff - the evaluation of a single player. And we'll start with the most important one - the goaltender. DISCLAIMER: this evaluation concept is still a work in progress and one of several possible implementations of the idea.

    By coincidence, it's also the simplest evaluation to make. While many stats describe the performance of a skater (goals, assists, shots, hits, blocks, faceoff wins, etc. - and even one that is accounted usually for goaltenders) only one stat truly describe the goalie's performance: the saves percentage. Usually, whole four stats are used to compare the goalies: wins (W), saves percentage (SVP), goals against average (GAA) and shutouts (SHO), but will show you first, why three of them are mostly unnecessary. Also, the name saves percentage is a bit of a misnomer, since the values of svp are usually not multiplied by 100 to look like real percent, but are shown more frequently between 0 and 1, and therefore would be more properly named as 'Saves Ratio', or 'Saves Share'.

    Wins are truly results of team efforts. I always cringe when I read that a goaltender "outdueled" his opponent, when the both barely got see each other. The GAA is much more of an indication of how well the defense operates in front of the goalie. Shootouts are first, and foremost, a very rare thing, and secondly a 15-save shootout should not be the same as 40-save shootout, although for any of the four stats listed above they create two identical entry.

    Therefore we feel ourselves on a firm ground evaluating goalie's performance through SVP only (with a slight input from shootouts, as described below) - and the Elo function, of course. For the start, each goaltender is assigned an Elo rating of 2000 for his first career appearance. We discard performances in which goalies faced less than four shots, because these usually are late relief appearances in the garbage time, not really an evidence of goaltending in a true hockey game. We only account for them to display the real SVP accrued in the season so far, and we consider dropping these appearances completely.

    After the game we get the pure SVP from the real time stats. We adjust it in two ways: If, in the very rare case, the performance is below 0.7, we set it to 0.7 . If there was a shootout (not the shootout as defined by the NHL, but a performance where a goaltender was on the ice for at least 3420 seconds and did not let a single goal in during that time), we add a shootout bonus for the performance:   Bonus = (Saves - 10) / 200   If there were less than fifteen saves in the shootout, the bonus is assigned the minimum value of 0.025. We consider adding this bonus necessary, because the opposing team is usually gives an extra effort to avoid being shut out even during the garbage time.

    Then, given the actual performance we can calculate the "Elo performance rating":
      Rperf = 2000 + (SVP - SVPvsopp) * 5000   Where SVPvsopp is the SVP against the opponent the goalie is facing - effectively the shooting % of that team minus the shots resulting in empty-net goals, sort of "Expected SVP against that opponent". That means that for every thousandth of the SVP above the expectation, the performance is five points above 2000 (the absolute average).

    Wait, there seems to be an inconsistency. Don't we need ratings of opponents for Elo changes calculation? Actually, no. Given an Elo performance of a player, we can calculate the rating change as a "draw" against a virtual opponent with that Elo performance, i.e.
        ΔR = K * (0.5 - 1 / ( 1 + 10 ** (( Rperf - Rg)/ 400)) ) )   Where K is the volatility factor mentioned in the earlier posts. Right now we are using the volatility factor of 32, but that may change - including introducing a dependency of this factor on goaltender's experience.

    And the new rating, is naturally,
      Rg' = Rg + ΔR   Now we can calculate the expected remaining svp:
      SVPrem = SVPavg + (Rg' - 2000) / 5000   Where SVPavg is the league average SVP. It would be more correct to substitute that value with the weighted averages of the remaining teams to face (with accordance to the matches remaining), and we'll be switching to this index soon.

    We can also calculate the SVP expected from the goalie at the start of the season:
      SVPexp = SVPavg0 + (Rg0 - 2000) / 5000   where SVPavg0is the average SVP of the league during the previous season and the Rg0 is the rating of the goalie at the conclusion of the previous season (including playoffs), or the initial rating of 2000.

    We post a weekly update on our Elo ratings for goaltenders, and their actual and expected SVPs on our Twitter feed. You can also access our daily stats on our website page.

    It looks like we're ready to try to take on the skaters' performances. But I'm not sure it's going to fit into one posting.

    To be continued...
  5. More Hockey Stats
    Original post.
     
    In the previous post we mentioned the Goodhart's Law and how it threatens any evaluation of an object. We said that it traps the Corsi/Fenwick approach because it substitutes the complex function of evaluation of a hockey player by a remarkably simple stat - shots.   Goodhart's law is not alone. In any research it is preceded by the two pillars: Popper's law of falsifiability and the Occam's razor. A theory willing to bear any scientific value must comply with both, i.e. to produce hypotheses that can be overthrown by experiment or observation (and then relegated to the trashcan), and to avoid introduction of new parameters beyond the already existing ones. Add Granger causality into the mix and we see that the four Brits presented the hockey analytics society with pretty tough questions that the society - at least the public one - seems to be trying to avoid.   The avoidance will not help. Any evaluation system will not be able to claim credibility unless it complies with the four postulates above, and within that compliance issues measurable projections.   To be continued...
  6. More Hockey Stats
    Original post
    On Talent In General
     
    When you want to do some useful work, you need a skill to do that work. Naturally, one doesn't need a skill to tweet, but that's not a useful work to start with. But to do stuff that actually profits you a certain level of skill is absolutely necessary.
     
    In order to have the skill, you need to learn it, and then to improve it. And there are only two basic factors that define how well you learn and improve in the skill - the talent and the effort. The bigger is your talent, the bonus from the nature, whether it's thanks to inborn memory, flexibility, or a quick eye, the less effort you need to achieve the given level of skill. And the trade-off is not even linear, there are areas, mostly creative ones, such as music or painting where no amount effort, grit and determination can bring you to a certain level of skill.
     
    On the other hand, the bigger the talent, the less necessary the effort becomes, and at the extreme level of talent, also known as ... genius the person sometimes doesn't need practically any effort to improve at an incredible pace. This phenomena, already extremely rare, is mostly restricted to mind activities, bound by the necessity in constant exercise to maintain a high level of skill in a physical activity. Names of Wolfgang Amadeus Mozart in composing, Jose Raul Capablanca in chess or Robertino Loreti in music come to mind when we talk about such geniuses. Mozart was composing himself already at age five, Capablanca learned the game of chess from observation only, but won the Cuban Championship when he was twelve, and Loreti became a European super-star shortly after he was noticed singing folk tunes on the streets of Rome.
     
    Talent And Skill In Hockey
     
    Hockey is also a work that requires skill. It's a complex skill that consists of many abilities: skating, observation, agility, strength, endurance, wit an others. Since it's a team game, the team consists of players that excel at these abilities on a different level, and a "complete hockey player" would actually be someone who can skate like Mike Gartner, is observant like Wayne Gretzky, can shoot like Mike Bossy, has the strength of Eric Lindros, endurance of Nicklas Lidstrom, and, actually, can easily take a hit from Cam Neely (and hit like Neely, too) and hold his ground in a fight against Tie Domi, and such a "complete hockey player" would exist mostly in the computer games.
     
    Nevertheless, of course the hockey players have different levels of ability in these dimensions of the hockey skill, and, unfortunately, today, mostly the ability to stickhandle is exclusively classified as 'skill'. No, the hockey skill is composite, and the wonderful dekes are just one aspect of it. Naturally, the most appealing, and probably the most important dimensions (we're not talking about goaltending here, but the reader can make similar projections to that position, too) are the ones directly relating to the goal scoring, and the players who excel at them are generally valued higher.
     
    However, in the way the hockey is defined by the NHL rules and and the NHL tradition, other qualities of the skill - hitting, blocking shots, fighting are required to make the complete hockey team. In a different league, such as the USSR league was, with very limited hitting and explicitly prohibited fighting, the sportsmen would develop more into the goal-scoring oriented hockey players.
     
    Where The Talent Comes From
     
    Well, from mothers' wombs. But then, the players usually begin to learn the skill of hockey from a very young age, and by the age of the NHL draft eligibility, their talent is well-evaluated and the positions in the draft order give a good approximation of the order of the talent of the available players. There are few exceptions, and these mostly are the European players, especially the Eastern-European ones who do not take part in the draft, but continue to develop in their leagues, such as the KHL. But the rule that the biggest chunk of the hockey talent is available at the annual draft, and that the talent is sorted according to the actual draft picks pretty much holds.
     
    Therefore, the teams that feature the higher draft picks in their roster are on average definitely more talented ones than the ones with the lower picks. Are they most skillful? Not necessarily. Remember, that in the first part of this essay we stated that to develop a skill, both talent and effort are required. Some players, for whatever reason, fail to put the necessary amount of effort to achieve the skill level expected for their talent, and became disappointments, or even draft busts. Some, on the other hand, put a great effort and determination, and leap beyond such expectations. The latter ones, unfortunately, are bound by that aforementioned ceiling that sometimes lack of talent produces.
     
    A team whose top draft picks underperform on a regular basis must recognize it has a culture problem. When time after time, players, who are supposed to be easy learners and advance rapidly, stall or degenerate it means that the organization, and, pardon the pun, it's farm, has a soil problem, that even the best seeds planted in it fail to yield the desired fruit.
     
  7. More Hockey Stats
    Original post. Catching up...
    We left our reader at the point where we demonstrated how to produce Elo ratings for hockey teams over season (and over postseason too, if anyone wondered) and how to apply it to the up and coming next games of the rated teams.

    However, in its main eparchy, chess, Elo is rarely used to produce single match outcome projections. It's much more popular when used to create a long-term projection, such as the whole tournament, which in chess lasts between five to thirteen rounds, usually.

    Therefore, the question arises, shouldn't we try to use our newborn Elo ratings to long-term projections? And the answer is an unambiguous 'Yes!' We can and should create the projections for the team over longer spans such as a seven days ahead, thirty, or even through the end of the season!

    How do we do it? Since we computed the Elo ratings for all teams, and we know the schedule ahead of all teams, we can run the Elo expectation on all matchups during the requested span and sum them. And since we assume that each team performs according the expectation, their Elo ratings do not change during the evaluation span.

    Eteam = Σ(Ematch1, Ematch2, ... , Ematchn)

    All good? No. There is one more finesse to add. The produced expectations will all be calculated in 2-0 span per game, assuming only 2 points are in play in each matchup. However, due to the loser's point it's not so. Therefore on average there are 2 + NOT/SO / Ntotal points are handed out during the season in every match (where NOT/SO is the number of games that get decided in OT or SO). So we need to compute the NOT/SO value, divide it by two (because there are two teams in each match) and multiply the expectation of each team by this factor. By doing so we receive the reliable Elo expectation, such as one in the table below, as of Jan 2nd, 2017. Spans of 7 days, 30 days and through the end of the season are displayed (games, expected points and total).
      Elo ratings for season 2016 # Team Div Elo Pts Gin7 Pin7 Tin7 Gin30 Pin30 Tin30 GinS PinS TinS 1 Columbus Blue Jackets MET 2265.22 56 4 6 62 14 23 79 47 79 135 2 Pittsburgh Penguins MET 2186.57 55 1 2 57 11 16 71 44 65 120 3 Minnesota Wild CEN 2180.88 50 3 4 54 14 21 71 46 68 118 4 San Jose Sharks PAC 2137.87 47 3 4 51 14 20 67 45 62 109 5 Washington Capitals MET 2135.54 49 4 4 53 15 18 67 46 59 108 6 Montreal Canadiens ATL 2117.99 50 4 5 55 14 18 68 45 58 108 7 New York Rangers MET 2135.43 53 3 4 57 11 14 67 43 54 107 8 Chicago Blackhawks CEN 2103.27 51 3 4 55 12 15 66 42 52 103 9 Anaheim Ducks PAC 2105.41 46 3 4 50 13 18 64 43 55 101 10 Edmonton Oilers PAC 2092.89 45 4 4 49 14 16 61 44 53 98 11 Ottawa Senators ATL 2088.34 44 2 2 46 11 11 55 45 52 96 12 Toronto Maple Leafs ATL 2097.27 41 3 4 45 12 14 55 46 54 95 13 St. Louis Blues CEN 2066.58 43 2 2 45 12 12 55 44 51 94 14 Boston Bruins ATL 2079.41 44 4 5 49 15 17 61 43 49 93 15 Carolina Hurricanes MET 2093.06 39 4 5 44 13 13 52 46 53 92 16 Los Angeles Kings PAC 2066.68 40 4 4 44 14 16 56 45 52 92 17 Philadelphia Flyers MET 2079.35 45 3 3 48 12 13 58 43 46 91 18 Calgary Flames PAC 2076.79 42 4 5 47 14 16 58 43 49 91 19 Tampa Bay Lightning ATL 2068.90 42 4 4 46 13 14 56 44 48 90 20 New York Islanders MET 2070.87 36 2 3 39 12 14 50 46 51 87 21 Florida Panthers ATL 2059.66 40 4 5 45 13 14 54 44 46 86 22 Nashville Predators CEN 2055.15 38 4 4 42 14 14 52 46 48 86 23 Dallas Stars CEN 2052.77 39 3 3 42 13 13 52 44 46 85 24 Vancouver Canucks PAC 2049.05 37 4 5 42 12 15 52 44 46 83 25 Detroit Red Wings ATL 2033.62 37 3 3 40 13 12 49 45 43 80 26 Winnipeg Jets CEN 2017.50 37 4 4 41 14 14 51 43 40 77 27 Buffalo Sabres ATL 2009.45 34 3 3 37 13 12 46 46 41 75 28 New Jersey Devils MET 1994.66 35 5 4 39 14 12 47 45 37 72 29 Arizona Coyotes PAC 1921.41 27 3 2 29 12 8 35 45 30 57 30 Colorado Avalanche CEN 1910.42 25 3 2 27 12 7 32 46 29 54
    The NOT/SO value right now is about 1.124 (i.e. about quarter of all games are decided past the regulation).
     
    So you know what's good for the people? But the people consists of men... Iconic Soviet movie
    The team projection leaves us wanting more. After all, don't we want to be able to evaluate individual players and factor it somehow in the projection to reflect the injuries and other reasons that force top players out of the lineups? Stay tuned.

    To be continued...
  8. More Hockey Stats
    Part I. Part II.   Sherlock Holmes and Dr. Watson are camping in the countryside. In the middle of the night Holmes wakes up Watson: 'Watson, what do you think these stars are telling us? 'Geez, Holmes, I don't know, maybe it's going to be a nice weather tomorrow? 'Elementary, Watson! They are telling us our tent has been stolen!   Iconic Soviet joke.   Estimating a hockey player via Elo ratings is a highly complex task. Therefore, we shall wield the dialectic approach of getting from the simpler to the more complicated, and will tackle a seemingly simplistic task first. Let's work out the Elo ratings for the NHL teams as a whole first. After all, it's the teams who compete against each other, and the outcome of this competition is a straightforward result.   So, let's examine a match between Team A and Team B. They have ratings Ra and Rb. These ratings, or, more precisely, their difference Ra-Rb, defines the expected results Ea and Eb on the scale from 0 to 1. The teams play, one wins (S=1), another loses (S=0). To adapt this to the Elo scale, let's consider win 1 point, loss 0 point. The new ratings Ra' and Rb' will be (K is the volatility coefficient):   Outcome Sa Sb Sa-Ea Sb-Eb dRa dRb Ra' Rb' Team A Wins 1 0 1-Ea -Eb K-K*Ea -K*Eb Ra+K-K*Ea Rb-K*Eb Team B Wins 0 1 -Ea 1-Eb -K*Ea K-K*Eb Ra-K*Ea Rb+K-K*Eb     and the teams are ready for usage in the next meeting with their new ratings Ra' and Rb', reciprocally.   'Wait!', will ask the attentive reader, 'Not all possible outcomes are listed above! What about the OT/SO wins where both teams get some points.' And he will be correct. In these cases we must admit that the loser team scores 0.5 points, so unlike a chess game where the sum of the results is always 1, in the NHL hockey the total sum of results varies and can be either 1 or 1.5. Note, were the scoring system 3-2-1-0, then we could scale the scores by 3 rather than by two and get the range 1-⅔-⅓-0 where every result sums to 1. Alas, with the existing system we must swallow the ugly fact that the total result may exceed 1, and as the result the ratings get inflated. Which is a bad thing, sure.   Or is it? Remember, the Elo expectation function only cares about the differences between ratings, not their absolute values. And all teams' ratings get inflated, so all absolute values shift up from where they would've been without the loser's point. Whom would it really hurt? The new teams. Naturally, we must assign an initial rating to every team at the starting point. One way could be assigning the average rating of the previous season to the new team. But we prefer a different and a much more comprehensive solution. We claim that since the teams that at the start of the next season are different enough beasts from those that ended the previous ones, so that the Elo ratings should not carry over from season to season at all! Therefore all the teams start each season with a clean plate and an identical Elo rating Ro.   Once again, the attentive reader might argue, 'What about mid-season trades and other movements?' Well, dear reader, now you have a tool to evaluate impact of the moves on the team. If there is a visible tendency change, you can quite safely associate it with that move. Overall, the 82 game span is huge to soften any bends and curves in the progression of the Elo ratings along the season.   Speaking of game spans, we must note one more refinement being done to the ratings. In the chess world, the ratings of the participants are not updated throughout the length of the event, which is usually 3-11 games. The ratings of the participants are deemed constant for the calculation of rating changes, which accumulate, and the accumulation is actually the rating change of each participant. We apply a similar technique for the teams' Elo calculations: we accumulate the changes for the ratings for 5 games for each team and "commit" the changes after the five-game span. The remainder of the games is committed regardless of its length, from 1 to 5. Why 5? We tried all kinds of spans, and 5 gave the smoothest look and the best projections.   Now, as a demonstration, let's show how we calculate the possible rating changes in the much anticipated game where Minnesota Wild is hosting Columbus Blue Jackets on December, 31st, 2016:   Rcbj = 2250, Rmin = 2196, Ecbj = 0.577, Emin = 0.423, K = 32 (standard USCF).   Outcome Scbj Smin S-Ecbj S-Emin dRa dRb Ra' Rb' CBJ W Reg 1 0 0.423 -0.423 +13.53 -13.53 2263.53 2182.47 CBJ W OT 1 0.5 0.423 0.077 +13.53 +2.47 2263.53 2198.47 MIN W OT 0.5 1 -0.077 0.577 -2.47 +18.47 2247.53 2214.47 MIN W Reg 0 1 -0.577 0.577 -18.47 +18.47 2231.53 2214.47 Note: MIN gains rating when it gets a loser's point.   Here is a dynamic of Elo changes (without five game accumulation) for the Metropolitan Division, as an example.   See more detailed tables on our website: http://morehockeystats.com/teams/elo   Ok, we got the ratings, we got the expected results, can we get something more out of it?   To be continued...
  9. More Hockey Stats
    Happy New Year everyone!
    Original post.
     
    The Elo rating system is the system used for evaluation and comparison of competitors. Up until today it's been mostly applied in the domain of board games, most well-known in chess, but also in disciplines such as draughts or go. The Elo system, named after its inventor, Prof. Arpad Elo, who first published it in the 1950s in the US, is capable to produce a reliable score expectation for an encounter between two competitors who oppose each other.

    For those who are not familiar with chess or draughts, let's take a look on how the Elo ratings work:

    1) In an encounter between two competitors, A and B, assume they have ratings Ra and Rb.

    2) There is a function that maps the expected result for each player given the opponent:
    Ea = F(Ra, Rb) Eb = F(Rb, Ra) where F is a monotonic non-decreasing function bounded between minimum and maximum possible scores, such as 0 and 1 in chess. An example for such a function would be arctan(x)/π + 0.5 .

    Ea+Eb should be equal to maximum possible score.

    In practice a non-analytical table-defined function is used that relates only on the difference between Ra and Rb, and not their actual values. The function can be reliably approximated by the following expression:
    E = 1 / [ 1 + 10(Rb-Ra) / 400 ]
    which works well with ratings in low 4-digit numbers and rating changes per game in 0-20 range.

    3) After the encounter, when real scores Sa and Sb have been registered, the ratings are adjusted:
    Ra1 = Ra + K*(Sa-Ea) Rb1 = Rb + K*(Sb-Eb) Where K is a volatility coefficient, which is usually higher for participants with shorter history, but ideally it should be equal for both participants. The new ratings are used to produce the new expected results and so on.
    The Elo rating has several highly important properties:

    1) It gravitates to the center. As rating R of a participant climbs higher, so does the expected result E, which becomes difficult to maintain, and a failure to maintain it usually results in a bigger drop in the rating.

    2) It's approximately distributive. If we gather N performances and average the opponents as Rav, the expected average performance as Eav = F(Ra, Rav), and the actual performance as Sav, then the new rating RaN' = Ra + N*K*(Sav-Eav) will be relatively close to RaN obtained via direct Rareciprocal update after each of the N games.

    3) It reflects tendencies, but overall performance still trumps it. Given the three players with ten encounters against other players with the same rating, when the performances are (W - win, L - loss):
     
    For player 1: L,L,L,L,L,W,W,W,W,W For player 2: L,W,L,W,L,W,L,W,L,W For player 3: W,W,W,W,W,L,L,L,L,L
    player 1 will end up with the highest rating of the three, player 2 will be in the middle, and player 3 will have the lowest one - but not by a very big margin. Only when the streaks become really long the Elo of a lower performance may overcome the Elo of a higher one.

    And how does Elo stack against the four Brits?

    * Goodhart's Law: pass. It measures the same thing it indicates.
    * Granger's Causality: pass. It is a consequence of a performance by definition, and a prediction of future peformance, by definition.
    * Occam's Razor: pass. The ratings revolve around the same parameter they measure.
    * Popper's Falsifiability: partial pass. The predictions of Elo sometimes fail, because they are probabilistic. However, the test of time and the wide acceptance indicate that the confidence level holds. Elo was even used for "paleostatistics" when the ratings were calculated backwards until middle XIX century, and the resulting calculations are well-received by the chess historians' community.

    The only well-known drawback of Elo is the avoidance by top chess players of competition against much weaker oppositions, especially when facing White, as such a game can be drawn relatively easily by the opponent, and the Elo rating of the top player could take a significant hit resulting in a drop of several places in the rating list.

    Now, to the question of the chicken and the egg - where do the initial Elo ratings come from? Well, they can be set to an arbitrary value of low 4-digit number. Currently a FIDE beginner starts with the rating of 1300. If the newcomer is recognized as being more skilled than a beginner, then a higher rating is assigned based on rating grades for each skill level, sort of an historical average of the newcomer's peers.

    And... What does all this have to do with hockey?

    To be continued...
  10. More Hockey Stats
    Original post.
     
    Goodhart's law is the bane, the safeguard and the watchdog of everyone who tries to make conclusions from sample data. The "Schroedinger Cat of Social Sciences" practically says, if you want people to do X, but you reward them for doing Y, they will be doing Y rather than X. We start seeing that in the "possession analytics", based on shots taken, that the players begin to shoot from everywhere to get their possession ratings up. But we digress - the topic is the scoring system, we'll save that note for another blog entry.
     
    We want the NHL hockey to be spectacular. That's the main objective (beyond being fair and competitive, otherwise look for Harlem Globetrotters). In the past the spectacular was fighting as much scoring and winning games, but that taste of the public changed, and the fighting went away. It was not directly related to scoring and winning, it was just an extra free show provided.
     
    Now we're left with scoring and winning. These two are closely tied, and not necessarily as a positive feedback, since not allowing your opponent to score also helps winning. A 2-1 win is practically just as valuable as a 7-2. So in the mid-2000s, the winning objective, the points objective took over the scoring objective. And from the previous post we see that the existing 2-2-1-0 points system encourages low-intensity game preferably slipping into the OT. On the other hand we also noted that the 3-2-1-0 points system would encourage teams to clamp down and protect their minuscule leads. Looks like a circle to break...
     
    Well, here comes Goodhart's law. You want teams to score, or at least try to score, but you reward them for achieving points. So what they do is concentrate on getting points. Therefore, if the NHL want to see score-oriented hockey, the NHL needs to reward scoring, and not points. Still, the points have been used to determine playoff spots, so something has to give.
    First, let's take a wild ride by suggesting that we rank teams by the amount of goals scored. That would lead to a pretty drastic change and the end of hockey as we know it. This will lead to situations where a team might play for a period without a goaltender in a playoff race. In general, the goaltending position will deteriorate, and aren't we loving the spectacular saves just as we love slick goals? Probably, that would be too much.
     
    Thus, we can mitigate to allow the goal differential to be the ranking criteria. At the end of the season, the teams with the higher goal differentials will be ranked at the top, and the wins-ties-losses, well, they get relegated to tie-breaks. The incentive to score rather than to hold the opponent increases, because while now the competitors in their games cannot score more than two points, they still can score a bigger goal differential! All the lazy skating to finish the game after it's 4-0 or 5-1? Gone.
     
    This idea is actually not novel. It's been used for a long while in team chess tournaments. Such tournaments consist of matches, where each player of one team plays against an opponent of the opposing team at the same time. Each player's individual score (win, draw or loss) is accumulated into the total score. So a match of 8-player teams, where one team had 5 wins, 1 draw and two losses ends up with 5.5-2.5 score, essentially "the goal differential". At the end of the tournament, the scores accumulate, and the teams are ranked according to them. You can see the crosstables of historical chess tournaments at the wonderful Olimpbase website.
     
    And if you feel that the fact of winning or losing the game should be have more weight than just a tie-break (by the way, there will be less tie-breaks on goal differential), that is easy to factor in, just add a bonus "goal" to the winner, like it is done in the shootout now. Or, add two bonus "goals" for winning in regulation, one bonus "goal" for winning in the OT, abolish shootouts.
  11. More Hockey Stats
    Original post.
     
    There was nothing wrong with ties. The 2-1-0 point system works fine in various sports around the world. It's just ... not fitting into the mind of a North American sports fan. "Who won?" - "It was a tie." - "Who won on a tiebreak?" Basketball and baseball do not have ties, and American Football has them at a rate of 1-2 times per whole season. So more than ten years ago NHL went with the flow and abolished ties, introducing the shootout, and with a twist, where the team making it past the regulation would still get the point, and a 2-2-1-0 point system came to life.
    Since then the argument rages, whether the ties should come back, or whether the consolation point should be taken away, or whether the much more energetic 3-2-1-0 point system, adopted across the ocean and by the IIHF should make its way into the NHL as well. The feeling that there is something unhealthy when a team loses and still gets something, while the winner is not penalized is nagging.
     
    The argument from the NHL leadership claims the system creates denser standings and thus more interest and drama throughout the season is a valid one. However, this system, as we show below, creates a wrong incentive.
     
    The standings in the NHL are defined by a points total, and the seeding in the playoffs are first and foremost the divisional standings. The relative standings across conferences have a rather minor effect of the potential home advantage in the Stanley Cup Finals, the same standings within the same conference but across divisions have an impact on the seedings in the whole playoffs, but also to a limited effect. Therefore, at least with the exception of intradivisional games, but possibly including these games too (especially against the competition that has fallen out of the playoff picture), the only thing that matters are the points accrued by the team itself, and not the points the opposition gathers. Let's wield the statistic that says that 25% of the games go to the overtime and the
     
    So what are the point expectations in a 2-2-1-0 system? Let's compare a few situations when teams A and B play.
    Team A has 75% chance of winning the game (that's a huge, possibly maximum imaginable favorite odds) Team A has 67% chance of winning. Team A has 60% chance of winning. Team A has 50% chance of winning.
    Let's wield the statistic that says that 25% of all games go to the overtime and the shootout occurs in 40% of these games. Let's also assume that the 3-vs-3 overtime is more random and reduces by half the advantage of the better team (i.e. 75-25 becomes 62.5-37.5), and that the shootout is completely random, so the chances of winning it are 50/50. Then, the probabilities of the outcome become:
     
              Chance PwReg    PwOT      PwSO    xPoints
    Team A    75%    0.5625   0.09375   0.05    1.51875
    Team B    25%    0.1875   0.05625   0.05    0.73125
    Team A    67%    0.5025   0.08775   0.05    1.39275
    Team B    33%    0.2475   0.06225   0.05    0.85725
    Team A    60%    0.45     0.0825    0.05    1.2825
    Team B    40%    0.3      0.0675    0.05    0.9675
    Team A    50%    0.375    0.075     0.05    1.125
    Team B    50%    0.375    0.075     0.05    1.125
     
    Now let's consider than the stronger team A plays intentionally for overtime and manages to force it in 75% of the cases.
     
              Chance PwReg    PwOT      PwSO    xPoints
    Team A    75%    0.1875   0.28125   0.15    1.55625
    Team B    25%    0.0625   0.16875   0.15    1.19375
    Team A    67%    0.1675   0.26325   0.15    1.49825
    Team B    33%    0.0825   0.18675   0.15    1.25175
    Team A    60%    0.15     0.2475    0.15    1.4475
    Team B    40%    0.1      0.2025    0.15    1.3025
    Team A    50%    0.125    0.225     0.15    1.375
    Team B    50%    0.125    0.225     0.15    1.375
     
    In ALL cases it's worth for both teams to steer the game into OT. For the even odds case, the expectation gain is a whopping 0.25 points! Even in the case of super, uber favorite, it's still worth for that team to head to overtime, as it projects a gain of 0.04 points. And the gains for the underdogs are so big that there is no reason for the underdog to disturb the force of the overtime, so they will happily comply! Meaning: we'll see more fun overtime, we'll see more dumb shootouts, but more importantly the 60 minutes of hockey will lose a lot of their significance. The only quantitative incentive to finish the game in regulation becomes denying extra points for your opponents - hardly a significant matter in what, fifty out of the eighty-two season games!
    Now, let's repeat these calculations with 3-2-1-0 point system and combine them into another table:
     
                           2-2-1-0                       3-2-1-0
              Chance Exp25%OT  Exp75%OT   Δexp     Exp25%OT  Exp75%OT   Δexp
    Team A    75%    1.51875   1.55625   +0.0375   2.08125   1.74375   -0.3375
    Team B    25%    0.73125   1.19375   +0.4625   0.91875   1.25625   +0.3375
    Team A    67%    1.39275   1.49825   +0.1055   1.89525   1.66575   -0.2295
    Team B    33%    0.85725   1.25175   +0.3945   1.10475   1.33425   +0.2295
    Team A    60%    1.2825    1.4475    +0.165    1.7325    1.5975    -0.135
    Team B    40%    0.9675    1.3025    +0.335    1.2675    1.4025    +0.135
    Team A    50%    1.125     1.375     +0.25     1.5       1.5        0
    Team B    50%    1.125     1.375     +0.25     1.5       1.5        0
     
    Now there is no incentive for the stronger team to push for overtime, and even the gain for the weaker team decreased. 3-2-1-0 definitely encourages a regulation decision!
    Reasons where brought up against the 3-2-1-0 system. One states that the spread over the standings will be too thin, and more teams will be eliminated from the playoff race early. This argument has had no statistical support, and the element of drama when a team pulls a goalie in a tied score trying to force a 3-0 point win may actually more than make up for it. Another argument refers to soccer studies that claim the 3-1-0 point system there encourages teams to sit on their early leads trying to stifle the game, which decreases the attractiveness of the game. This argument is more valid, although it's notably harder to preserve a lead in hockey than in soccer. But beyond that this argument prompts for another, a truly revolutionary suggestion...
     
  12. More Hockey Stats
    Original Post
     
    Hello, hockeyforums.net, from Mr. Van Winkle...

    This prolonged silence was caused by a lot of factors, led, naturally, by REAL LIFE™. But I also made a fundamental mistake in the infrastructure setup, and so I had to roll out a hastily patched setup when the season was starting; I then went back and worked on this infrastructure fix, the work which continued over three months and is now complete! Unfortunately, all this work will not be visible to the visitor, with possible exception of a slightly faster page loading - all the changes belong to the back end.

    But now, once again, with REAL LIFE™ limitations I am able to work on improving the website look, speed and features. I am being somewhat torn apart since I also need to hone the models I'm using, but I decided the models can wait with half of the hockey season gone by now. In addition I'll try to put an extra effort to promote the site and made it more visible on the Web.

    One of the things I was not able to complete is to release my code as the open source. This has also been put into a bottom drawer. However, I still welcome cooperation very much and will gladly share the code with people who would want to contribute to the project. The areas I could really use some help are:
    JavaScript/HTML/CSS MongoDB query and database optimization SEO optimization So if you feel like helping - drop me a mail.

    Also I will begin a series "Website - A Page A Day", where I plan to describe each and every statistical page on the site because I have a feeling I haven't been clear enough with the explanations until now; moreover it will help me discover errors and inconsistencies that probably crawled through.
  • Who's Online   0 Members, 0 Anonymous, 45 Guests (See full list)

    • There are no registered users currently online
×
×
  • Create New...