{"id":1022,"date":"2021-04-05T21:28:32","date_gmt":"2021-04-05T21:28:32","guid":{"rendered":"https:\/\/miguelpdl.com\/weblog\/?p=1022"},"modified":"2021-04-05T21:28:32","modified_gmt":"2021-04-05T21:28:32","slug":"passing-networks-and-flow-centrality","status":"publish","type":"post","link":"https:\/\/miguelpdl.com\/weblog\/passing-networks-and-flow-centrality\/","title":{"rendered":"Passing networks and Flow centrality"},"content":{"rendered":"\n<p>As mentioned in&nbsp;<a href=\"https:\/\/miguelpdl.com\/weblog\/?p=966\">Part I of this multipart post<\/a>, Luca Pappalardo&nbsp;prepared a video, for the Friends of Tracking channel in 2020, to talk about some elements of a paper related to an open Wyscout data set, and advanced statistics related to passing networks, flow centrality and player ranking.<\/p>\n\n\n\n<p>For this post (Part III) I\u2019m going to cover my take on Passing networks and Flow centrality.<\/p>\n\n\n\n<p>I\u2019ve forked the&nbsp;<a href=\"https:\/\/github.com\/mmoffoot\/mapping-match-events-in-Python\">\u201cmapping-match-events-in-Python\u201d repo into my mmoffoot<\/a>&nbsp;area and created a new branch called&nbsp;<a href=\"https:\/\/github.com\/mmoffoot\/mapping-match-events-in-Python\/tree\/englanddata\">\u2018englanddata\u2019<\/a>&nbsp;to cover the data set of English Premier League information for the 2017-18 season.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Passing networks<\/h2>\n\n\n\n<p>This Notebook creates a player passing network for any of the matches covered in the data set. The passing network is a weighted network where nodes are players and weighted edges represent movements of the ball between players. The size of an edge is proportional to the number of passes between the players.<\/p>\n\n\n\n<p>Some finer details on are covered in a research paper <a href=\"https:\/\/ieeexplore.ieee.org\/document\/7344823\" target=\"_blank\" rel=\"noreferrer noopener\">Cintia et al., The harsh rule of the goals: data-driven performance indicators for football teams, In Proceedings of the 2015 IEEE International Conference on Data Science and Advanced Analytics (DSAA&#8217;2015), 2015<\/a>.<\/p>\n\n\n\n<p>Now I wanted to continue with a passing network from the Tottenham Hotspur &#8211; Leicester City match (2018), given this was the match showing the events to this point, however it just turned out as a blank image for both teams via the Notebook, I tried another match and only got one team and finally the Arsenal &#8211; Burnley match turned out what was being looked for, so I moved over to this match.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"302\" data-attachment-id=\"1025\" data-permalink=\"https:\/\/miguelpdl.com\/weblog\/passing-networks-arsenal-vs-burnley-ars-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png?fit=446%2C302&amp;ssl=1\" data-orig-size=\"446,302\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"passing-networks-arsenal-vs-burnley-ars\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png?fit=300%2C203&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png?fit=446%2C302&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png?resize=446%2C302\" alt=\"\" class=\"wp-image-1025\" srcset=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png?w=446&amp;ssl=1 446w, https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-ars.png?resize=300%2C203&amp;ssl=1 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/a><figcaption>Arsenal Passing Network, Arsenal &#8211; Burnley, May 13, 2018<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"302\" data-attachment-id=\"1026\" data-permalink=\"https:\/\/miguelpdl.com\/weblog\/passing-networks-arsenal-vs-burnley-bur-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png?fit=446%2C302&amp;ssl=1\" data-orig-size=\"446,302\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"passing-networks-arsenal-vs-burnley-bur\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png?fit=300%2C203&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png?fit=446%2C302&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png?resize=446%2C302\" alt=\"\" class=\"wp-image-1026\" srcset=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png?w=446&amp;ssl=1 446w, https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/passing-networks-arsenal-vs-burnley-bur.png?resize=300%2C203&amp;ssl=1 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/a><figcaption>Burnley Passing Network, Arsenal &#8211; Burnley May 13, 2018<\/figcaption><\/figure>\n\n\n\n<p>The produced images need some time for study, even a quick look leaves me wondering what I can take from them. I also tried to gain some insight from a related paper from the authors <a href=\"https:\/\/www.researchgate.net\/publication\/280520469_A_network-based_approach_to_evaluate_the_performance_of_football_teams\" target=\"_blank\" rel=\"noreferrer noopener\">P. Cintia, S. Rinzivillo, and L. Pappalardo, \u201cA network-based approach to evaluate the performance of football teams,\u201d in Proceedings of the Machine Learning and Data Mining for Sports Analytics workshop, ECML\/PKDD 2015<\/a>, were it mentions again that nodes are players, directed edges represent passes between players and the size of an edge is proportional to the number of passes between the players. Node 0 indicates the opponent\u2019s goal, and edges ending in 0 node represent goal attempts. However there are no Node 0 in these passing networks.<\/p>\n\n\n\n<p>The related video at minute 15:00 has a section that describes the passing networks too, but unfortunately there&#8217;s still not enough in there to give a hint as to what the take away is.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/ZXEHPKmx410?t=899%3Frel%3D0&#038;version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-GB&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Flow centrality<\/h2>\n\n\n\n<p>Next up is flow centrality, which is a feature that can be computed on the passing network and in this Notebook is described as a way to capture the fraction of times that a player intervenes in those paths that result in a shot. They take into account defensive efficiency by letting each player start a number of paths proportional to the number of balls that he recovers during the match.<\/p>\n\n\n\n<p>This concept is only lightly explained in the paper <a rel=\"noreferrer noopener\" href=\"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0010937\" target=\"_blank\">Duch et al., Quantifying the Performance of Individual Players in a Team Activity, PLoS ONE 5(6): e10937<\/a> as referenced in the Notebook and I must admit I still didn&#8217;t get it, but then a read of a source paper by <a href=\"https:\/\/www.researchgate.net\/publication\/216637282_A_Set_of_Measures_of_Centrality_Based_on_Betweenness\" target=\"_blank\" rel=\"noreferrer noopener\">Freeman LC, A set of measures of centrality based upon betweenness, Sociometry 40: 35\u201341, 1977<\/a> clears it all up &#8220;when a particular person in a group is strategically located on the shortest communication path connecting pairs of others, that person is in a central position&#8221;, and that same paper goes on to show measures that define centrality in terms of the degree to which a point falls on the shortest path between others and therefore has a potential for control of communication.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"712\" height=\"352\" data-attachment-id=\"1027\" data-permalink=\"https:\/\/miguelpdl.com\/weblog\/flow_centrality-england-burnley-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png?fit=712%2C352&amp;ssl=1\" data-orig-size=\"712,352\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"flow_centrality-england-burnley\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png?fit=300%2C148&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png?fit=712%2C352&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png?resize=712%2C352\" alt=\"\" class=\"wp-image-1027\" srcset=\"https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png?w=712&amp;ssl=1 712w, https:\/\/i0.wp.com\/miguelpdl.com\/weblog\/wp-content\/uploads\/2021\/04\/flow_centrality-england-burnley.png?resize=300%2C148&amp;ssl=1 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><figcaption>Flow Centrality Burnley 2018, Arsenal &#8211; Burnley May 13, 2018<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><p>Dare I say Westwood (Burnley) is the betweenness man in control for Burnley.<\/p>\n<p>Might be a follow up idea to classify based on how they measure cohesiveness within the team.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>As mentioned in&nbsp;Part I of this multipart post, Luca Pappalardo&nbsp;prepared a video, for the Friends of Tracking channel in 2020, to talk about some elements of a paper related to an open Wyscout data set, and advanced statistics related to passing networks, flow centrality and player ranking. For this post (Part III) I\u2019m going to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[199],"tags":[185,200,216,217],"class_list":["post-1022","post","type-post","status-publish","format-standard","hentry","category-mathematical-modelling-of-football","tag-football","tag-mathematical-modelling-of-football","tag-visualisations","tag-wyscout"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7O9Cj-gu","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/posts\/1022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/comments?post=1022"}],"version-history":[{"count":2,"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/posts\/1022\/revisions"}],"predecessor-version":[{"id":1028,"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/posts\/1022\/revisions\/1028"}],"wp:attachment":[{"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/media?parent=1022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/categories?post=1022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miguelpdl.com\/weblog\/wp-json\/wp\/v2\/tags?post=1022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}