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)