Различный результат от графа между взвешиванием и мультиграфом - PullRequest
0 голосов
/ 16 сентября 2018

Я играю с данными StatsBomb FIFA World Cup 18 и пытаюсь выяснить центральных игроков в каждой команде.Я делаю это путем построения сети пропусков (ориентированный граф с игроком, делающим пас, и игроком, получающим пас).Затем я смотрю на различные меры центральности, чтобы измерить наиболее важных игроков (в том, что касается игры)

Существуют два основных способа представления этих данных алгоритму.Один из них состоит в том, чтобы при создании графа назначать каждое событие (проход) как отдельную строку (несколько ребер между двумя узлами), а другой - агрегировать по прохожим и получателям и придавать вес ребру в соответствии с тем, сколько раз игрок А прошел игроку Би т. д.

Если посмотреть на показатели силы, результаты будут точно такими же.Тем не менее, это само по себе неинтересно (забастовщики получают много шаров, но они больше не пропускают его вперед, так что нельзя сказать, что они находятся в гуще событий)

Более подходящим будет показатель промежуточности, вычисляющийкак часто игрок X является мостиком в шаре, идущем от A к B. (насколько я понимаю, взвешенная версия меры по принципу единства)

Однако результаты здесь сильно колеблются.Несколько проходов по одному проходу на ряд между двумя узлами дают достаточно логичные результаты (здесь, глядя на Аргентину против Хорватии и Месси, второго по важности игрока после защитника Николя Тальяфико и нападающих Агуэро, а затем Игуаина на другом конце. Если выпомните, игра была катастрофой для Аргентины: https://www.independent.co.uk/sport/football/world-cup/world-cup-2018-argentina-jorge-sampaoli-group-nigeria-lionel-messi-tactics-a8411031.html

Взвешенная версия, тем не менее, ставит на первое место саб Игуаин и хорошие результаты для Агуэро и двух других сабов Дыбала / Павона. Это не может быть правильным, но японятия не имею, почему результаты так различны. Имеет ли значение тот факт, что на индивидуальном уровне у нас есть порядок проходов?

Вот мой код R, необходимо установить StatsBombR из Github через devtools::install_github("statsbomb/StatsBombR")

library(StatsBombR)

library(dplyr)

library(igraph)

matches <- FreeMatches(43)

#download match events

match <- get.matchFree(matches[9,])

#take info about passes, remove non-pass events

passes <- select(match,player.name,pass.recipient.name,team.name)

passes <- na.omit(passes)

#teams in match

teams <- unique(passes$team.name)

#two ways of presenting data, pass-per-row or aggregated player-wise

teamPasses <- passes[passes$team.name==teams[2],1:2]

weightPasses <- teamPasses %>% 
    group_by(player.name, pass.recipient.name) %>% 
    summarise(weight=n())

#create graphs

net <- graph_from_data_frame(teamPasses, directed = TRUE)

net2 <- graph_from_data_frame(weightPasses, directed = TRUE)
E(net2)$weight <- weightPasses$weight

#scores

betweenness(net)

betweenness(net2)

strength(net, mode = "out")

strength(net2, mode = "out")

1 Ответ

0 голосов
/ 25 сентября 2018

Объявление strength():

Они идентичны, просто порядок вершин различен

all.equal(
  sort(strength(net, mode="out")),
  sort(strength(net2, mode="out"))
)
# TRUE

Объявление betweenness():

Проще объяснить на простом графике, подобном этим двум:

el <- data_frame(
  from = c("A", "B", "A", "D", "A"), 
  to = c("B", "C", "D", "C", "B")
  )
g <- graph_from_data_frame(el)

elw <- el %>%
  count(from, to) %>%
  rename(weight=n)

gw <- graph_from_data_frame(elw) 

plot(g)

enter image description here

В gw есть только 4 дуги (против 5 в g), и дуга A -> B имеет вес 2, а все остальные имеют вес 1. Давайте сосредоточимся на промежуточности B:

  • В мультиграфе g это будет 2/3, потому что:

    1. B лежит только на кратчайших путях между A и C
    2. Всего есть 3 кратчайших пути от A до C: A-> D-> C и два пути A-> B-> C, поскольку мы можем выбрать одну из двух дуг в (A, Б) диада.
    3. Два из этих путей включают B
  • На взвешенном графике gw это будет 0, потому что:

    1. Путь A-> B-> C имеет вес 3
    2. Путь A-> D-> C имеет вес 2
    3. «Самый короткий» (минимальный вес) путь только один, и он не включает B

Другими словами, в взвешенном графе кратчайший путь на самом деле является «путем с минимальной суммой весов дуг». В этом смысле вы находите пути игроков, которые меньше всего пропускают мяч, что, вероятно, совсем не то, что вам нужно.

...