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 rated teams perform better.
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.
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
Introduction Definition (Game) A game between two teams is a pairwise comparison which yields a real number outcome
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.
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.
Extended Kalman Filter Ranking Underlying Model Assume that games follow the Bradley-Terry paired comparison model: ◮ Teams 1 , . . . , n have skill levels x 1 , . . . , x n ◮ The expected outcome in a game between teams i and j is 1 h ( x i , x j ) = 1 + 10 − ( x i − x j ) /ξ Ratings can be computed using maximum likelihood, but this is computationally difficult.
Extended Kalman Filter Ranking Applying a Filter to Bradley-Terry Start with the system x k = x k − 1 = x ∗ y k = h k ( x k ) + ǫ k where { ǫ k } is an uncorrelated random process, and the predicted outcomes h k ( x k ) of the games in each round are given by the Bradley-Terry prediction.
Extended Kalman Filter Ranking Applying a Filter to Bradley-Terry Start with the system x k = x k − 1 = x ∗ y k = h k ( x k ) + ǫ k where { ǫ k } is an uncorrelated random process, and the predicted outcomes h k ( x k ) of the games in each round are given by the Bradley-Terry prediction. Then, we get the simple update equations: P k = ( P † k − 1 + σ − 2 H T k H k ) † x k − 1 − σ − 2 P k H T x k = ˆ ˆ k ( h k (ˆ x k − 1 ) − y k ) where P k is the covariance of ˆ x k and H k = Dh k ( x k − 1 ).
Extended Kalman Filter Ranking Similarity to Elo Elo’s method seems a lot like the EKF update: Elo: x i ← x i − K ( h ( x i , x j ) − y k ) x − σ − 2 P k H T EKF: ˆ x ← ˆ k ( h k (ˆ x k − 1 ) − y k ) where K is a constant.
Extended Kalman Filter Ranking Similarity to Elo Elo’s method seems a lot like the EKF update: Elo: x i ← x i − K ( h ( x i , x j ) − y k ) x − σ − 2 P k H T EKF: ˆ x ← ˆ k ( h k (ˆ x k − 1 ) − y k ) where K is a constant. EKF ranking has several advantages over Elo.
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.
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
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.
Scheduling Using Kalman Filters The Kalman Filter update equations give a strategy for dynamic scheduling. P k = ( P † k − 1 + σ − 2 H T k H k ) † In terms of Fisher Information: I k = I k − 1 + σ − 2 H T k H k Goal: Choose games at each time step that maximize I k
Scheduling Using Kalman Filters The Kalman Filter update equations give a strategy for dynamic scheduling. P k = ( P † k − 1 + σ − 2 H T k H k ) † In terms of Fisher Information: I k = I k − 1 + σ − 2 H T k H k Goal: Choose games at each time step that maximize I k Important features: ◮ Maximizing tr ( I k ) is equivalent to maximizing tr ( H T k H k ) ◮ If team i plays a single game, the i th entry on the diagonal of H T k H k is a function of the previous ratings of team i and its opponent
Scheduling A New Dynamic Scheduling Method Our proposed method: ◮ For each pair of teams i and j , calculate the potential information gain
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
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
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 ( H T k H k )
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 ( H T k H k ) Edmonds’ Blossom Algorithm (1965) solves the perfect matching problem in polynomial time.
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 ( H T k H k ) Edmonds’ Blossom Algorithm (1965) solves the perfect matching problem in polynomial time. This method is trace-optimal for EKF ranking.
Scheduling Trace-Optimality Graph
Scheduling Effect of Optimal Scheduling
Scheduling Heatmap All Games Played
EKF Convergence
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: h k ( x k ) = x i k − x j k
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: h k ( x k ) = x i k − x j k One way to find ratings is using least squares to solve x � Hx − y � 2 ˆ x = arg min where y i 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.
Linear Kalman Filter Ranking Linear System The Kalman Filter is an online algorithm solving the same problem. Assume a linear system for game results: x k = x k − 1 = x ∗ y k = Hx ∗ + ǫ k where H is defined as before, and { ǫ k } is a Gaussian white noise process with variance σ 2 .
Linear Kalman Filter Ranking Update Equations Applying the Kalman Filter yields P k = ( P † k − 1 + σ − 2 H T H ) † x k − 1 − σ − 2 P k H T ( H ˆ ˆ x k = ˆ x k − 1 − y k ) . We use the initial values of P 0 = ∞ and ˆ x 0 = ¯ x where ¯ x is the average rating.
Linear Kalman Filter Ranking Update Equations Applying the Kalman Filter yields P k = ( P † k − 1 + σ − 2 H T H ) † x k − 1 − σ − 2 P k H T ( H ˆ ˆ x k = ˆ x k − 1 − y k ) . We use the initial values of P 0 = ∞ and ˆ x 0 = ¯ x where ¯ x is the average rating. If every team plays every other team each round, we can simplify to P k = σ 2 n 2 k H T H x k − 1 − 1 nk H T ( H ˆ ˆ x k = ˆ x k − 1 − y k ) .
Convergence of Kalman Filter Ranking Proof of Convergence Theorem: In the case that every team plays every other team each round, we prove that x k ) � = σ 2 x k ) = Hx ∗ E ( H ˆ and � Cov( H ˆ k . The mean does not deviate from its initial value, so H ˆ x k describes the entire state.
Convergence of Kalman Filter Ranking Two Teams
Convergence of Kalman Filter Ranking More Teams, Large Range
Convergence of Kalman Filter Ranking More Teams, Large Range
Recommend
More recommend