Rondetijden en pacing strategieën: een AI-gebaseerde advies tool voor schaatsers
Martijn Willemsen, JADS & TU/e
Langebaanschaatsen (op een 400m baan) is vooral een race tegen de klok, een soort tijdrit, meer dan een race tegen je tegenstander. Al kan een goede tegenstander zeker helpen bij een goed eindresultaat, bijvoorbeeld omdat je een fijne kruising hebt waar je er lekker achter aan gaan, of omdat het motiveert bij te blijven of voor te blijven. Maar een tegenstander kan ook ertoe leiden dat je niet de race opbouwt op de manier die bij je past omdat je te hard begint, of te langzaam.
Bij schaatsen is het goed opbouwen van een race zeer belangrijk is voor een goede eindtijd. Begin je te snel, dan verzuren je spieren te snel en gaan je rondetijden daarna te snel omhoog. Begin je te langzaam, dan kan het lastig worden alsnog in de juiste flow en snelheid te komen. Dat komt ook omdat je weinig feedback krijgt over je echte snelheid, met alleen een keer per ronde een rondetijd. Bij hardlopen of fietsen is dat anders, daar kun je veel makkelijker zien (op je teller/horloge) en voelen hoe hard je gaat.
Pacing, het opbouwen van de rondetijden, wordt relevant vanaf 1500m. De 1500m bestaat uit een opening van 300m en daarna 3 rondjes van 400m. Het is een verlengde sprint van rond de 2 minuten (voor een goede rijder) en de benen verzuren snel door de anaerobe belasting. Je begint een 1500m meestal op bijna topsnelheid, maar de latere rondes gaan al snel een stuk langzamer. Hoe je dat moet indelen?
Dat ligt gedeeltelijk aan het soort rijder dat je bent: ben je meer een sprinter dan zal je vaak heel snel starten (vaak is de eerste ronde nauwelijks langzamer dan de snelheid op een 500m) en hoop je dat je de laatste ronde nog doorkomt. Ben je meer een rijder voor langere afstanden, dan kun je een 1500m vlakker rijden. Neem bijvoorbeeld Thomas Krol en Kjeld Nuis, beide echte 1000m/1500m specialisten: zij beginnen zeer snel en hebben een langzame laatste ronde. Hun rondes gaan van een lage 25 naar een hoge 28 of lage 29. Bijna 4 seconden verval. Vergelijk dat met Patrick Roest, een 5000m specialist die begint met een hoge 25 of lage 26 en eindigt met een lage 27 en maar 1.5 seconde verval laat zien. Hieronder de resultaten van de WK kwalificatie in Thialf: Patrick Roest won in 1:43:79 van Krol (1:43:85) ondanks zijn veel langzamere 1e volle ronde. Dat je als sprinter ook te snel kan starten liet Kjeld Nuis bij dit toernooi: een 25.01 (een echte 500m ronde) was te snel en zorgde voor te veel verval.
Dit maakt de 1500m tot een interessante afstand die je op verschillende manieren kunt rijden en ook wetenschappers hebben die afstand bestudeerd. Zo bestudeerden Wiersma et al. (2017) de ontwikkeling van juniorrijders en keken ze hoe de relatieve rondetijden veranderden van jonge leeftijd (rond 121-3 jaar, de periode dat ze voor het eerst 1500m rijden) tot ongeveer 18 jaar. Ze vonden dat de rijders die op hun 18e tot de elite rijders hoorden, door de jaren heen relatief sneller werden op de 3de ronde, en dus relatief langzamer op de opening en eerste ronde, t.o.v. rijders die niet tot de allerbeste behoorden.
Dit bekent ook dat je dus zou moeten kunnen leren hoe je een bepaalde race moet opbouwen, maar hoe kunnen we een individuele rijder daarbij helpen? Hoe weet je wat de beste strategie is voor een bepaalde rijder?
Met behulp van data science en AI kunnen we dat probleem proberen op te lossen. Met behulp van 5 jaar aan racetijden van alle Nederlandse schaatsers (met dank aan osta.nl) hebben we een adviestool gemaakt. Die tool heeft ongeveer 46 duizend 1500m’s. Van iedere schaatser in de data hebben we dus een beste persoonlijke tijd, en een aantal tijden die langzamer zijn. Die kunnen we combineren in zogenaamde ‘cases’: een combinatie van een persoonlijk beste tijd (PB) en een niet-beste tijd (een non-PB). Als we dan van een schaatser een 1500m tijd hebben met rondetijden, dan kunnen we zoeken naar cases die een vergelijkbare tijd en rondetijd hebben als non-PB. De PBs van die andere schaatsers die lijken op onze schaatser is dan een goede voorspeller voor een mogelijk PB van onze schaatser. En hun rondetijden kunnen we dan gebruiken in het advies voor een pacing strategie voor onze schaatser.
De techniek die we hierbij gebruiken heet case-based reasoning. Een collega van mij had dat als eens eerder toegepast op marathon data en we vonden dat dit eigenlijk nog beter werkt voor schaatsdata (Smyth and Willemsen, 2020). In het paper laten we zien dat dit goed werkt voor 1500m, 3000m en 5000m tijden en dat we vaak maar 1-2% fout zitten in de voorspellingen van het model. We vonden ook twee andere belangrijke zaken. Ten eerste: het is belangrijk te corrigeren voor het type baan. Half-open banen die meer aan weersinvloeden worden blootgesteld hebben vaak langzamere tijden dan gesloten banen, zeker als de luchtvochtigheid en temperatuur geconditioneerd wordt (zoals in Heerenveen). Ten tweede: je hebt niet eens een 1500m tijd nodig om een voorspelling te doen, je kunt ook op basis van de beste 500m en 1000m tijd van een schaatser voorspellen hoe deze een 1500m zou moeten rijden en hoe snel dat kan. Of op basis van een 1000m en 1500m voorspellen wat iemand op een 3000m kan rijden en hoe die race aangepakt moet worden. Dat is zeker handig als iemand nog (bijna) nooit zo’n afstand heeft gereden, want op basis van kortere afstanden kun je toch een raceplan bedenken en een voorspelling doen van een mogelijke eindtijd.
Als voorbeeld hierbij een voorspelling voor de eerste 3000m van mijn dochter op 15 jarige leeftijd. Op basis van haar 500m, 1000m en 1500m PB tijden, gereden in hetzelfde seizoen kon het algoritme een voorspelling maken. We vergeleken deze hieronder met de tijd die ze daadwerkelijk reed (huidig PB). In dit specifieke geval zit het algoritme er heel dichtbij (2 seconden verschil), en het voorspelt ook ongeveer hetzelfde verloop, inclusief dat de laatste ronde iets sneller zou zijn (een typisch patroon bij onervaren rijders die nog iets te langzaam beginnen).
type | tijd | opening | r1 | r2 | r3 | r4 | r5 | r6 | r7 |
voorspeld PB | 05:43.21 | 25.06 | 41.99 | 44.75 | 45.56 | 46.07 | 46.64 | 47.18 | 45.97 |
huidig PB | 05:45.19 | 24.16 | 41.35 | 45.29 | 45.7 | 46.64 | 47.55 | 48.19 | 46.31 |
Voor mensen die zelf wedstrijden schaatsen heb ik een web-app ontwikkeld waarmee je op basis van je eerdere tijden een voorspelling kan maken van een nieuwe PB. De app is nog in ontwikkeling maar de eerste testversies voor de 1500m en 3000m heb ik al online gezet. De app heeft data van 2015-2020 (grofweg tot aan de periode dat Corona begon) zodat je eventueel je eigen (oude) tijden kunt opzoeken om te beginnen. Maar je kunt ook zelf je huidige tijden invoeren als je tijden niet in de database staan.
https://shiny.ieis.tue.nl/voorspelling1500m/
https://shiny.ieis.tue.nl/voorspelling3000m/
De voorspellingen zijn vooral bedoeld voor niet-professionele schaatsers. Het voorspellen van van tijden voor de absolute topschaatsers werkt minder goed doordat er haast geen vergelijkbare schaatsers te vinden zijn om een voorspelling op te baseren.
Ik hoor graag je reactie op de app via het contact formulier op deze website!