Archives par étiquette : mixed-martial-arts

Suivi de l’état de forme à partir du CMJ – Tout est-il sous contrôle ?

Le saut en contre mouvement ( ou CMJ – counter movement jump – en anglais) est probablement une des mesures les plus utilisées pour suivre les effets de l’entraînement sur la capacité à s’entraîner ou à être performant. Cette une mesure qui ne concerne que le système nerveux et la capacité musculaire et ne saurait représenter l’ensemble des capacités nécessaire à la performance dans le sport (cardiovasculaire, technique, tactique,motivation,etc). 

Cependant c’est une mesure rapide, pratique, reproductible et de ce fait très étudiée.

L’objectif de cet article est de présenter le suivi des performances lors d’un CMJ pour 11 sujets pratiquants le MMA, pendant 5 mois.

Nous allons retenir uniquement le pic de vélocité qui semble être un marqueur plus précis de la fatigue neuromusculaire.

Pour suivre cette évolution sur 5 mois nous allons utiliser un procédé basé sur la Maîtrise Statistique de Processus (MSP), aussi dénommée Statistical Process Control (SPC) en anglais. Ce procédé permet d’identifier les valeurs “anormales” ou qui vont au delà de valeurs prédéfinies.

Nous utiliserons pour chaque cas étudié le langage R pour une analyse graphique à partir la moyenne et l’écart-type. Toutes les données sont disponibles sur mon Github.

1/ Les données

Tout d’abord nous allons charger le package ggplot2 d’exporation graphique, puis explorer les données.

library(ggplot2)
head(cmj)
table(cmj$ID)
table(cmj$Date)

En examinant les données nous constatons que pour chaque sujet (ID) les résultats sont présentés par date. Pour chaque date nous avons 3 sauts (Saut1, Saut2, Saut3). Les sujets 1/7/8 sont ceux pour lesquels nous avons le plus de données (10 ou 11). Nous constatons également que la régularité n’est pas optimales. Les 11 sujets sont loin d’avoir participés à toutes les prises de mesures. Mais dans le cas présent, présentation du procédé MSP/SPC pour un suivi du CMJ, cela ne sera pas handicapant.

2/ Exemples

Nous allons prendre pour 1er exemple le sujet 8 car il présente le plus de données (avec le sujet 1).  Nous allons isoler toutes les données du sujet 8 puis calculer la moyenne des 3 sauts pour chacune des dates.

Nous avons besoin de la moyenne et de l’écart-type de l’ensemble des observations du sujet. 

Le procédé MSP/SPC utilise des seuils hauts et bas se basant sur l’écart-type. J’attire l’attention du lecteur que les seuils sont ici calculés sur la base de 1 et 2 écarts-types. Libre à chacun de définir les seuils selon sa volonté et ses besoins. Ces seuils s’obtiennent en ajoutant ou soustrayant 1 et 2 écarts-types à la moyenne.

# Isoler les données sur sujet 8 
Sujet8<-cmj[cmj$ID=='8',] 

# Calcul de la moyenne pour chaque date 
Sujet8$moyenne<-round(with(Sujet8,(Saut1+Saut2+Saut3)/3),2) 

# Calcul de la moyenne et écart-type pour l'ensemble des observations 
Sujet8_sauts<-c(Sujet8$Saut1, Sujet8$Saut2 ,Sujet8$Saut3) 
Sujet8_moyenne<-mean(Sujet8_sauts) 
Sujet8_sd<-sd(Sujet8_sauts) 

# Détermination des seuils haut et bas 
sd1_haut<-Sujet8_moyenne+(1*Sujet8_sd) 
sd1_bas<-Sujet8_moyenne-(1*Sujet8_sd) 
sd2_haut<-Sujet8_moyenne+(2*Sujet8_sd) 
sd2_bas<-Sujet8_moyenne-(2*Sujet8_sd) 

Nous pouvons alors faire le graphique avec la moyenne (trait en rouge continu), les seuils 1 écart-type (trait pointillé noir) et les seuils 2 écarts-types (trait pointillé rouge).

ggplot(Sujet8, aes(x = Date, y = moyenne)) +
  geom_point(color = "blue") +
  theme_classic()+ geom_hline(aes(yintercept = mean(Sujet8_sauts)), color = "red")+
  geom_hline(aes(yintercept = sd1_haut), linetype = "dashed")+
  geom_hline(aes(yintercept = sd1_bas), linetype = "dashed")+geom_line()+
  geom_hline(aes(yintercept = sd2_haut), linetype = "dashed", color = "red")+
  geom_hline(aes(yintercept = sd2_bas), linetype = "dashed", color = "red")+
  ggtitle("Sujet 8 - Evolution Pic de vitesse lors d'un CMJ") + xlab("Date")+ylab("Vitesse (m/s)")

Le procédé MSP/SPC se base sur une suite ou un fréquence de valeur au delà des différents seuils. Par exemple, si les valeurs restent entre les seuils 1 supérieur et inférieur, les réponses au processus d’entraînement sont considérées comme normales. Les différentes performances et la variation de l’état de forme du sportif font partie de processus d’adaptations à la charge d’entraînement. Ce que l’on cherche à savoir est si ce processus est sous contrôle (adaptations/réponses désirées) ou non (surentrainement/mauvaise adaptation/désentrainement)  

Le sujet 8 présente 2 valeurs inférieures au seuil 1. Mais elles ne sont pas consécutives. Elles ne semblent pas indiquer de mal-adaptations du sujet au processus d’entraînement ou d’effets indésirables de celui-ci.

Nous pouvons procéder à la même analyse avec les sujets 1 et 7 pour finalement présenter les 3 graphiques.


# Sujet8
ggplot(Sujet8, aes(x = Date, y = moyenne)) +
  geom_point(color = "blue") +
  theme_classic()+ geom_hline(aes(yintercept = mean(Sujet8_sauts)), color = "red")+
  geom_hline(aes(yintercept = sd1_haut), linetype = "dashed")+
  geom_hline(aes(yintercept = sd1_bas), linetype = "dashed")+geom_line()+
  geom_hline(aes(yintercept = sd2_haut), linetype = "dashed", color = "red")+
  geom_hline(aes(yintercept = sd2_bas), linetype = "dashed", color = "red")+
  ggtitle("Sujet 8 - Evolution Pic de vitesse lors d'un CMJ") + xlab("Date")+ylab("Vitesse (m/s)")

# Sujet 1
Sujet1<-cmj[cmj$ID=='1',]

Sujet1$moyenne<-round(with(Sujet1,(Saut1+Saut2+Saut3)/3),2)

Sujet1_saut<-c(Sujet1$Saut1, Sujet1$Saut2 ,Sujet1$Saut3  )
Sujet1_saut
mean(Sujet1_saut)
sd(Sujet1_saut)
sd1_haut<-mean(Sujet1_saut)+(1*sd(Sujet1_saut))
sd1_bas<-mean(Sujet1_saut)-(1*sd(Sujet1_saut))
sd2_haut<-mean(Sujet1_saut)+(2*sd(Sujet1_saut))
sd2_bas<-mean(Sujet1_saut)-(2*sd(Sujet1_saut))

ggplot(Sujet1, aes(x = Date, y = moyenne)) +
  geom_point(color = "blue") +
  theme_classic()+ geom_hline(aes(yintercept = mean(Sujet1_saut)), color = "red")+
  geom_hline(aes(yintercept = sd1_haut), linetype = "dashed")+
  geom_hline(aes(yintercept = sd1_bas), linetype = "dashed")+
  geom_hline(aes(yintercept = sd2_haut), linetype = "dashed", color = "red")+
  geom_hline(aes(yintercept = sd2_bas), linetype = "dashed", color = "red")+
  ggtitle("Sujet 1 - Evolution Pic de vitesse lors d'un CMJ") + xlab("Date")+ylab("Vitesse (m/s)")+
  geom_line()



# Sujet 7
Sujet7<-cmj[cmj$ID=='7',]

Sujet7$moyenne<-round(with(Sujet7,(Saut1+Saut2+Saut3)/3),2)

Sujet7_saut<-c(Sujet7$Saut1, Sujet7$Saut2 ,Sujet7$Saut3  )
Sujet7_saut
mean(Sujet7_saut)
sd(Sujet7_saut)
sd1_haut<-mean(Sujet7_saut)+(1*sd(Sujet7_saut))
sd1_bas<-mean(Sujet7_saut)-(1*sd(Sujet7_saut))
sd2_haut<-mean(Sujet7_saut)+(2*sd(Sujet7_saut))
sd2_bas<-mean(Sujet7_saut)-(2*sd(Sujet7_saut))

ggplot(Sujet7, aes(x = Date, y = moyenne)) +
  geom_point(color = "blue") +
  theme_classic()+ geom_hline(aes(yintercept = mean(Sujet7_saut)), color = "red")+
  geom_hline(aes(yintercept = sd1_haut), linetype = "dashed")+
  geom_hline(aes(yintercept = sd1_bas), linetype = "dashed")+
  geom_hline(aes(yintercept = sd2_haut), linetype = "dashed", color = "red")+
  geom_hline(aes(yintercept = sd2_bas), linetype = "dashed", color = "red")+geom_line()+
  ggtitle("Sujet 7 - Evolution Pic de vitesse lors d'un CMJ") + xlab("Date")+ylab("Vitesse (m/s)")




Nous constatons que pour les 3 sujets présentés ici le processus d'entraînement semble sous contrôle. 

3/ Conclusion

Un procédé basé sur la Maîtrise Statistique de Processus (MSP), aussi dénommée Statistical Process Control (SPC), est une méthode simple pour suivre la réponse du sportif au processus d'entraînement. Nous avons vu ici le cas du pic de vitesse lors d’un CMJ mais d’autres données peuvent sans problème être utilisées. 

Volontairement, le cas des tendances des courbes n’a pas été abordé. Il fera certainement l’objet d’un autre billet sur ce blog.

 

 

Réferences :

- Bertrand Mathieu, Alexis Peeters , Julien Piscione , Mathieu Lacome - Usefulness of typical tests of short-duration maximal effort used to assess players readiness to perform - SPSR - 2017 | Nov | 3 | v1

- Taylor KL. Monitoring neuromuscular fatigue in high performance athletes. Edith Cowan University; 2012.

- Kennedy, R., & Drake, D. (2018). Improving the Signal-To-Noise Ratio When Monitoring Countermovement Jump Performance: Signal-to-noise ratio of CMJ performance. Journal of Strength and Conditioning Research.

- William Sands, Marco Cardinale, Jeni McNeal, Steven Murray, Christopher Sole, Jacob Reed, Nikos Apostolopoulos, and Michael Stone - Recommendations for Measurement and Management of an Elite Athlete (2019)

Durée du combat au MMA

La durée de l’effort est une donnée importante dans la préparation à un sport. C’est une information qui intéresse particulièrement des entraîneurs. On ne se prépare pas à un effort de 5 minutes comme à un effort de 15 minutes. Dans les sports de combat cela implique notamment la mise en place de stratégie technique, mais également de gestion de l’effort (pacing en anglais). L’Institut de la Performance de l’UFC (UFCPI) à publié en 2018 une étude nous éclairant sur ces notions. Ainsi, le durée moyenne d’un combat à l’UFC est de 10 minutes 43 seconde. De plus, ils ont constaté une relation entre la catégorie de poids et la durée du combat. Les catégories de poids plus légères présentant une durée moyenne de combat plus importante, tandis que les catégories de poids les plus lourdes présentent elles une durée moyenne de combat plus courte.
Cependant, plusieurs études sur ce type de sujet dans différents sports nous laisse à penser que le niveau de compétition est un facteur important sur certaines données d’efforts. Par exemple, au football un niveau de jeu plus élevé n’est pas nécessairement associé à une durée de jeu réel ou une distance parcourue plus importantes pendant la rencontre. Sans oublier la variabilité selon de poste joué.
La question qu’un entraîneur est en droit de se poser est donc : la durée type d’un combat de MMA est elle la même, peut importe le niveau ?
A partir des données de l’European BeatDown (EBD), sur 6 événements, je vous propose d’explorer la question grâce à du code en R.

Obtenir des données
Les données ont été obtenues grâce au site Tapology et sont disponibles sont mon github. Ils y a 83 observations pour lesquelles nous avons les variables suivantes : EDB, durée, résultat et catégorie. Nous aurons besoin du package ggplot2 pour la visualisation des données.

library(ggplot2)
head(EBD)

Distribution
Tout d’abord, observons la distribution de la fin du combat pour choisir les statistiques les plus appropriées.

ggplot(EBD, aes(x=Durée)) + 
geom_histogram(binwidth = 100) + 
theme_classic() + 
ggtitle ("EBD - Fin du combat")

Nous pouvons observer que de part sa distribution asymétrique la médiane et la distance interquartile seront des informations plus utiles que la moyenne qui sera certainement sur évaluée en raison du très grand nombre de combat d’une durée de 15 minutes (note: +1 min pour être précis).

Durée type du combat

ggplot(data=EBD, aes( y = Durée)) +  geom_boxplot()+ theme_classic() + ggtitle("EBD - Durée du combat")
quantile(EBD$Durée)
IQR(EBD$Durée)
median(EBD$Durée)

Nous obtenons une médiane à 7 minutes 07 (soit 3 minutes de moins que l’UFC) et une distance interquartile de 711 secondes (près de 11 minutes). Autrement dit, 50% des combats de l’EBD se terminent entre la 3ème et la 15 minutes. Notons également que très peu d’observations sont visibles à cette valeur sur l’histogramme précédent. Ces informations étant très peu précises et inutilisables par les entraîneurs, cherchons à présent les mêmes informations par catégories de poids.

Durée type du combat selon la catégorie

ggplot(data=EBD, aes(x = CATEGORIE, y = Durée)) +  geom_boxplot(aes(fill=CATEGORIE))+ theme_classic() + ggtitle("Durée du combat selon catégorie")+coord_flip()  +
  xlab("M/F:Catégorie(lbs)") + ylab("Durée (min:sec)") + geom_jitter(shape=2, position=position_jitter(0.2)) + theme(legend.text = element_text(size = 13),
   

Résumons
L’objectif de cette analyse était de déterminer sur les informations de l’UFC sur la durée du combat étaient utilisable pour d’autre niveau de compétition. Pour la durée moyenne, la réponse est non (sous réserve que l’UFC ait utilisée la médiane et non la moyenne). Les combats semblent plus long à l’UFC. Concernant la tendance à une relation entre la catégorie de poids et la durée du combat, la réponse est plutôt oui. Les observations des données de l’EBD semblent confirmer les tendances observées à l’UFC. Les catégories de poids plus légères semblent avoir des durées de combat plus importantes. Cependant, les entraîneurs seraient avisés de prendre en compte la durée type (50% des observations – distance interquartiles) selon la catégorie de poids pour construire une stratégie. Celles-ci étant particulièrement grande en relation avec la durée maximale du combat ( 3 x 5 min).

Références :

A Cross-Sectional Analysis & Projection of the UFC Athlete