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.
No comments:
Post a Comment