Sports Ranking and Scheduling with Kalman Filters Peter Elliott, - - PowerPoint PPT Presentation

sports ranking and scheduling with kalman filters
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Sports Ranking and Scheduling with Kalman Filters

Peter Elliott, Matt Owen, Kyle Shan, Yingjie Yu

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

Introduction

slide-4
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
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
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
SLIDE 7

Introduction

Definition (Game)

A game between two teams is a pairwise comparison which yields a real number outcome

slide-8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SLIDE 26

Scheduling

Trace-Optimality Graph

slide-27
SLIDE 27

Scheduling

Effect of Optimal Scheduling

slide-28
SLIDE 28

Scheduling Heatmap

All Games Played

slide-29
SLIDE 29

EKF Convergence

slide-30
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
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
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
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
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
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
SLIDE 36

Convergence of Kalman Filter Ranking

Two Teams

slide-37
SLIDE 37

Convergence of Kalman Filter Ranking

More Teams, Large Range

slide-38
SLIDE 38

Convergence of Kalman Filter Ranking

More Teams, Large Range

slide-39
SLIDE 39

Convergence of Kalman Filter Ranking

More Teams, Small Range

slide-40
SLIDE 40

Convergence of Kalman Filter Ranking

More Teams, Small Range

slide-41
SLIDE 41

Ranking NFL Statistics

slide-42
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
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
SLIDE 44

Method - Passing vs. Rushing

slide-45
SLIDE 45

Method - Passing vs. Rushing

slide-46
SLIDE 46

Data - Passing vs. Rushing

Figure : Yards Per Game

slide-47
SLIDE 47

Data - Passing vs. Rushing

Figure : Yards / Attempt Per Game

slide-48
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
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
SLIDE 50

K-Fold Cross Validation Method

slide-51
SLIDE 51

K-Fold Cross Validation Method

slide-52
SLIDE 52

K-Fold Cross Validation Method

slide-53
SLIDE 53

K-Fold Cross Validation Method

slide-54
SLIDE 54

K-Fold Cross Validation Method

slide-55
SLIDE 55

K-Fold Cross Validation Method

slide-56
SLIDE 56

K-Fold Cross Validation Method

slide-57
SLIDE 57

K-Fold Cross Validation Method

slide-58
SLIDE 58

K-Fold Cross Validation Method

slide-59
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
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
SLIDE 61

Thanks!