SLIDE 1
Sports Ranking and Scheduling with Kalman Filters Peter Elliott, - - PowerPoint PPT Presentation
Sports Ranking and Scheduling with Kalman Filters Peter Elliott, - - PowerPoint PPT Presentation
Sports Ranking and Scheduling with Kalman Filters Peter Elliott, Matt Owen, Kyle Shan, Yingjie Yu Introduction Introduction Introduction Definition (Rating) A rating is a numerical evaluation of an item. In sports rating systems, higher
SLIDE 2
SLIDE 3
Introduction
SLIDE 4
Introduction
Definition (Rating)
A rating is a numerical evaluation of an item. In sports rating systems, higher rated teams perform better.
SLIDE 5
Introduction
Definition (Rating)
A rating is a numerical evaluation of an item. In sports rating systems, higher rated teams perform better.
Definition (Ranking)
A ranking is an ordering of items.
SLIDE 6
Introduction
Definition (Rating)
A rating is a numerical evaluation of an item. In sports rating systems, higher rated teams perform better.
Definition (Ranking)
A ranking is an ordering of items. It is easy to turn ratings into rankings
SLIDE 7
Introduction
Definition (Game)
A game between two teams is a pairwise comparison which yields a real number outcome
SLIDE 8
Introduction
Definition (Game)
A game between two teams is a pairwise comparison which yields a real number outcome
Definition (Schedule)
A schedule is a matching of teams to play against each other in each round.
SLIDE 9
Introduction
Definition (Game)
A game between two teams is a pairwise comparison which yields a real number outcome
Definition (Schedule)
A schedule is a matching of teams to play against each other in each round. Goal: schedule games to find the most “informative” ranking.
SLIDE 10
Extended Kalman Filter Ranking
Underlying Model
Assume that games follow the Bradley-Terry paired comparison model:
◮ Teams 1, . . . , n have skill levels x1, . . . , xn ◮ The expected outcome in a game between teams i and j is
h(xi, xj) = 1 1 + 10−(xi−xj)/ξ Ratings can be computed using maximum likelihood, but this is computationally difficult.
SLIDE 11
Extended Kalman Filter Ranking
Applying a Filter to Bradley-Terry
Start with the system xk = xk−1 = x∗ yk = hk(xk) + ǫk where {ǫk} is an uncorrelated random process, and the predicted
- utcomes hk(xk) of the games in each round are given by the
Bradley-Terry prediction.
SLIDE 12
Extended Kalman Filter Ranking
Applying a Filter to Bradley-Terry
Start with the system xk = xk−1 = x∗ yk = hk(xk) + ǫk where {ǫk} is an uncorrelated random process, and the predicted
- utcomes hk(xk) of the games in each round are given by the
Bradley-Terry prediction. Then, we get the simple update equations: Pk = (P†
k−1 + σ−2HT k Hk)†
ˆ xk = ˆ xk−1 − σ−2PkHT
k (hk(ˆ
xk−1) − yk) where Pk is the covariance of ˆ xk and Hk = Dhk(xk−1).
SLIDE 13
Extended Kalman Filter Ranking
Similarity to Elo
Elo’s method seems a lot like the EKF update: Elo: xi ← xi − K (h(xi, xj) − yk) EKF: ˆ x ← ˆ x − σ−2PkHT
k (hk(ˆ
xk−1) − yk) where K is a constant.
SLIDE 14
Extended Kalman Filter Ranking
Similarity to Elo
Elo’s method seems a lot like the EKF update: Elo: xi ← xi − K (h(xi, xj) − yk) EKF: ˆ x ← ˆ x − σ−2PkHT
k (hk(ˆ
xk−1) − yk) where K is a constant. EKF ranking has several advantages over Elo.
SLIDE 15
Scheduling
Introduction
Definition (Fisher Information)
The Fisher Information matrix is the inverse of the covariance matrix of the state estimate. I = P† Schedule Design Goal: Choose matchups that maximize the Fisher Information.
SLIDE 16
Scheduling
Introduction
Definition (Fisher Information)
The Fisher Information matrix is the inverse of the covariance matrix of the state estimate. I = P† Schedule Design Goal: Choose matchups that maximize the Fisher Information. Notions of Fisher optimality:
◮ T-optimality: maximize the trace of the Fisher Information
matrix
◮ Any monotone function of the eigenvalues
SLIDE 17
Scheduling
Introduction
Complete schedules for tournaments are often created before a tournament begins. This is known as static scheduling. Dynamic scheduling refers to creating a schedule as the tournament occurs, taking into account the results as they happen. Goal: dynamically schedule one game for each team, for each round of play, in a way that maximizes information of the rating.
SLIDE 18
Scheduling
Using Kalman Filters
The Kalman Filter update equations give a strategy for dynamic scheduling. Pk = (P†
k−1 + σ−2HT k Hk)†
In terms of Fisher Information: Ik = Ik−1 + σ−2HT
k Hk
Goal: Choose games at each time step that maximize Ik
SLIDE 19
Scheduling
Using Kalman Filters
The Kalman Filter update equations give a strategy for dynamic scheduling. Pk = (P†
k−1 + σ−2HT k Hk)†
In terms of Fisher Information: Ik = Ik−1 + σ−2HT
k Hk
Goal: Choose games at each time step that maximize Ik Important features:
◮ Maximizing tr(Ik) is equivalent to maximizing tr(HT k Hk) ◮ If team i plays a single game, the ith entry on the diagonal of
HT
k Hk is a function of the previous ratings of team i and its
- pponent
SLIDE 20
Scheduling
A New Dynamic Scheduling Method
Our proposed method:
◮ For each pair of teams i and j,
calculate the potential information gain
SLIDE 21
Scheduling
A New Dynamic Scheduling Method
Our proposed method:
◮ For each pair of teams i and j,
calculate the potential information gain
◮ Create a complete weighted
graph G, with edge weight between i and j corresponding to the potential information gain
SLIDE 22
Scheduling
A New Dynamic Scheduling Method
Our proposed method:
◮ For each pair of teams i and j,
calculate the potential information gain
◮ Create a complete weighted
graph G, with edge weight between i and j corresponding to the potential information gain
◮ Choose the maximum weighted
perfect matching on G
SLIDE 23
Scheduling
A New Dynamic Scheduling Method
Our proposed method:
◮ For each pair of teams i and j,
calculate the potential information gain
◮ Create a complete weighted
graph G, with edge weight between i and j corresponding to the potential information gain
◮ Choose the maximum weighted
perfect matching on G
◮ The weight of the matching is
exactly tr(HT
k Hk)
SLIDE 24
Scheduling
A New Dynamic Scheduling Method
Our proposed method:
◮ For each pair of teams i and j,
calculate the potential information gain
◮ Create a complete weighted
graph G, with edge weight between i and j corresponding to the potential information gain
◮ Choose the maximum weighted
perfect matching on G
◮ The weight of the matching is
exactly tr(HT
k Hk)
Edmonds’ Blossom Algorithm (1965) solves the perfect matching problem in polynomial time.
SLIDE 25
Scheduling
A New Dynamic Scheduling Method
Our proposed method:
◮ For each pair of teams i and j,
calculate the potential information gain
◮ Create a complete weighted
graph G, with edge weight between i and j corresponding to the potential information gain
◮ Choose the maximum weighted
perfect matching on G
◮ The weight of the matching is
exactly tr(HT
k Hk)
Edmonds’ Blossom Algorithm (1965) solves the perfect matching problem in polynomial time. This method is trace-optimal for EKF ranking.
SLIDE 26
Scheduling
Trace-Optimality Graph
SLIDE 27
Scheduling
Effect of Optimal Scheduling
SLIDE 28
Scheduling Heatmap
All Games Played
SLIDE 29
EKF Convergence
SLIDE 30
Linear Kalman Filter Ranking
Introduction
Consider a system where the expected outcome in a game between teams i and j in round k is simply the difference of their skills: hk(xk) = xi
k − xj k
SLIDE 31
Linear Kalman Filter Ranking
Introduction
Consider a system where the expected outcome in a game between teams i and j in round k is simply the difference of their skills: hk(xk) = xi
k − xj k
One way to find ratings is using least squares to solve ˆ x = arg min
x Hx − y2
where yi is team i’s cumulative point differential, and H is a matrix where each row represents a game between two teams i and j, with 1 in the winner’s slot and -1 in the loser’s slot.
SLIDE 32
Linear Kalman Filter Ranking
Linear System
The Kalman Filter is an online algorithm solving the same
- problem. Assume a linear system for game results:
xk = xk−1 = x∗ yk = Hx∗ + ǫk where H is defined as before, and {ǫk} is a Gaussian white noise process with variance σ2.
SLIDE 33
Linear Kalman Filter Ranking
Update Equations
Applying the Kalman Filter yields Pk = (P†
k−1 + σ−2HTH)†
ˆ xk = ˆ xk−1 − σ−2PkHT(Hˆ xk−1 − yk). We use the initial values of P0 = ∞ and ˆ x0 = ¯ x where ¯ x is the average rating.
SLIDE 34
Linear Kalman Filter Ranking
Update Equations
Applying the Kalman Filter yields Pk = (P†
k−1 + σ−2HTH)†
ˆ xk = ˆ xk−1 − σ−2PkHT(Hˆ xk−1 − yk). We use the initial values of P0 = ∞ and ˆ x0 = ¯ x where ¯ x is the average rating. If every team plays every other team each round, we can simplify to Pk = σ2 n2k HTH ˆ xk = ˆ xk−1 − 1 nk HT(Hˆ xk−1 − yk).
SLIDE 35
Convergence of Kalman Filter Ranking
Proof of Convergence
Theorem: In the case that every team plays every other team each round, we prove that E(Hˆ xk) = Hx∗ and Cov(Hˆ xk) = σ2 k . The mean does not deviate from its initial value, so Hˆ xk describes the entire state.
SLIDE 36
Convergence of Kalman Filter Ranking
Two Teams
SLIDE 37
Convergence of Kalman Filter Ranking
More Teams, Large Range
SLIDE 38
Convergence of Kalman Filter Ranking
More Teams, Large Range
SLIDE 39
Convergence of Kalman Filter Ranking
More Teams, Small Range
SLIDE 40
Convergence of Kalman Filter Ranking
More Teams, Small Range
SLIDE 41
Ranking NFL Statistics
SLIDE 42
Motivation
Why rank statistics in the National Football League?
- 1. Many different strategies - which is the best one?
- 2. Parity in the NFL means there is a need for more information
to achieve more accurate rankings
SLIDE 43
Purpose
Questions:
- 1. Which is more important, rushing or passing, in the
NFL?
- 2. How well can singular statistics predict game outcomes?
SLIDE 44
Method - Passing vs. Rushing
SLIDE 45
Method - Passing vs. Rushing
SLIDE 46
Data - Passing vs. Rushing
Figure : Yards Per Game
SLIDE 47
Data - Passing vs. Rushing
Figure : Yards / Attempt Per Game
SLIDE 48
Questions:
- 1. Which is more important, rushing or passing, in the NFL?
◮ More rushing yards and longer passes
- 2. How well can singular statistics predict game outcomes?
SLIDE 49
Questions:
- 1. Which is more important, rushing or passing, in the NFL?
◮ More rushing yards and longer passes
- 2. How well can singular statistics predict game outcomes?
SLIDE 50
K-Fold Cross Validation Method
SLIDE 51
K-Fold Cross Validation Method
SLIDE 52
K-Fold Cross Validation Method
SLIDE 53
K-Fold Cross Validation Method
SLIDE 54
K-Fold Cross Validation Method
SLIDE 55
K-Fold Cross Validation Method
SLIDE 56
K-Fold Cross Validation Method
SLIDE 57
K-Fold Cross Validation Method
SLIDE 58
K-Fold Cross Validation Method
SLIDE 59
Questions:
- 1. Which is more important, rushing or passing, in the NFL?
◮ More rushing yards and longer passes
- 2. How well can singular statistics predict game outcomes?
◮ Total points is most predictive ◮ Aggregating other stats together almost improves
predictive power
◮ Total points is highly representative of team strength
SLIDE 60
Future Directions
◮ Investigate convergence for the extended Kalman Filter ◮ Experiment with other nonlinear filters ◮ Examine predictive power of nonlinear filter rankings ◮ Further optimize rank aggregation
SLIDE 61