Plackett-Luce Models
4 items (\(A\), \(B\), \(C\), and \(D\)) & 6 raters
Can we deduce a global ranking?
ranking objectNA if rather \(i\) does not rank item \(j\)NAranking object\[ \begin{align*} \mathbb{P}(\textrm{select } A) &= \frac{e^{\lambda_{A}}}{e^{\lambda_{A}} + e^{\lambda_{B}} + e^{\lambda_{C}} + e^{\lambda_{D}}} \\ \mathbb{P}(\textrm{select } B \vert \textrm{selected } A) &= \frac{e^{\lambda_{B}}}{e^{\lambda_{B}} + e^{\lambda_{C}} + e^{\lambda_{D}}} \\ \mathbb{P}(\textrm{select } D \vert \textrm{selected } A, B) &= \frac{e^{\lambda_{D}}}{e^{\lambda_{C}} + e^{\lambda_{D}}} \end{align*} \]
pA <- exp(lambda_hat["A"])/sum(exp(lambda_hat[c("A", "B", "C", "D")]))
pB <- exp(lambda_hat["B"])/sum(exp(lambda_hat[c("B", "C", "D")]))
pD <- exp(lambda_hat["D"])/sum(exp(lambda_hat[c("C", "D")]))
cat("P(A) = ", round(pA, digits = 3), "\n")P(A) = 0.591
P(B | A) = 0.875
P(D | A,B) = 0.918
P(A > B > D > C) = 0.475
pA <- exp(lambda_hat["A"])/sum(exp(lambda_hat[c("A", "B", "C", "D")]))
pAB <- exp(lambda_hat["A"])/sum(exp(lambda_hat[c("A", "B", "C", "D")])) * exp(lambda_hat["B"])/sum(exp(lambda_hat[c("B", "C", "D")]))
pCB <- exp(lambda_hat["C"])/sum(exp(lambda_hat[c("A", "B", "C", "D")])) * exp(lambda_hat["B"])/sum(exp(lambda_hat[c("A", "B", "D")]))
pDB <- exp(lambda_hat["D"])/sum(exp(lambda_hat[c("A", "B", "C", "D")])) * exp(lambda_hat["B"])/sum(exp(lambda_hat[c("A", "B", "C")]))
cat("P(B selected second) = ",round(pAB + pCB + pDB, digits = 3), "\n")P(B selected second) = 0.536
P(B selected second | A selected first) = 0.875
three_round_mock.csv available on Box (link): https://go.wisc.edu/7b7du4raw_data <- readr::read_csv(file = "three_round_mocks.csv")
set.seed(129)
raw_data |> dplyr::slice_sample(n = 5)# A tibble: 5 × 7
site date name pick position type url
<chr> <date> <chr> <dbl> <chr> <chr> <chr>
1 Pacific Takes - Follman 2018-03-19 R.J. McInt… 55 DT Fan http…
2 Walter Football - Alex9299 2018-02-14 Sam Darnold 1 QB Fan http…
3 Walter Football - Lucasmd3 2018-03-30 Mike Hughes 41 CB Fan http…
4 Baltimore Beatdown - Lericos 2018-02-13 Maurice Hu… 18 DT Fan http…
5 Fox 59 - Joe Hopkins 2018-02-26 Josh Jacks… 14 CB Media http…
Sam Darnold Derwin James Arden Key Tarvarus McFadden Mike McGlinchey
[1,] 1 2 3 4 5
[2,] 1 16 5 12 6
[3,] 1 4 6 NA 8
[4,] 1 2 9 17 7
[5,] 4 10 9 6 8
mock_rankings <- PlackettLuce::as.rankings(x = ranking_matrix)
fit <- PlackettLuce::PlackettLuce(rankings = mock_rankings)
lambda_hat <- coef(fit)
round(sort(lambda_hat, decreasing = TRUE)[1:10], digits = 3) Sam Darnold Saquon Barkley Josh Rosen Bradley Chubb
0.000 -0.561 -0.997 -1.455
Quenton Nelson Minkah Fitzpatrick Baker Mayfield Josh Allen (WYO)
-1.963 -1.963 -2.277 -2.440
Roquan Smith Derwin James
-2.627 -2.986
mclust::softmaxsample() to select one available player