Tactical behavior in #Football has a spatial and a temporal component, and results from interaction with the opponent. It’s key to account for all these aspects in data-driven tactical analysis, as well as to respect the complexity of the temporal and spatial dimensions 🧵
Two years ago I published a systematic review in @EurJSportSci on using big data in #soccer for tactical performance analysis that illustrates the associated challenges and provides a data-driven scientific framework. #DataSciencetinyurl.com/mrxky6ca
The most common analysis issue is the fact that spatial and/or temporal complexity is not respected. For example by aggregating data over multiple minutes, or constructing spatial features aggregating 11 player positions into a single variable.
Another issue is the focus on point-in-time KPIs in outcome assessments. A game of #football is not a serie of static snapshots but rather a time-series of collective and individual behavior and should ideally be treated as such.
I proposed a more fine-grained approach. Constructing spatial features over small subsets of players, and aggregating data over small tactical game phases, like a single attack. Check for example my publication in @JSportsScitinyurl.com/2s3a9ysf#DataScience#Analytics
Finally. Tactical behavior in #Football emerges from interaction between players / teams. Years of research have shown two teams in a game are strongly coupled on all dimensions, and behave as complex dynamical systems.
This means teams typically move in “in-phase” or “anti-phase” synchrony, but rarely asynchronous. In other words, every action sparks an opposing reaction. If you space the field, the opponent will follow to some extent, and the other way around.
Curious how to conduct relative phase analysis and how to do statistical analysis on these time-series? Later this week I’ll share threads on relative phase analysis in #Soccer as well as circular statistics. #DataScientist#PhD
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Preparing for a technical interview for a #DataScience position? These are some of the questions that typically allow me as an interviewer to quickly distinguish between juniors and mediors, including some quick tips 🧵. #Python#pythonprogramming#DataScientist#Jobs
All questions about SQL. Not the hardest thing to learn, but many #DataScientists only start to learn the value of SQL when they actually become part of a dev team. I’m not only talking about SELECT * FROM table, but also about joins, truncates, partitions and constraints.
Interacting with an API. Make sure you know your requests (GET, POST, PUT, DELETE, PATCH), as well as the #Python requests library.
#DataScientist in a software dev team and #pythonprogramming code for production pipelines? You should think carefully about scalability and integration. One of the things to consider is datatypes, here are some helpful tips 🧵
#Python is a dynamically typed language, but that doesn't mean you shouldn't care about types. Know you dtypes, from "str" to "bool" to "int8" to "float64", and understand their memory footprint and restrictions. Especially when working with larger objects, choose wisely.
Loose the strings. 9/10 times strings can be replaced by categoricals (Pandas) or even better by Enums (docs.python.org/3/library/enum…). This can reduce memory footprint of large dataframes with >30%, and improves performance.