Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment effectuer un test de tendance Mann-Kendall en Python



Un test de tendance Mann-Kendall est utilisé pour déterminer s’il existe ou non une tendance dans les données de séries chronologiques. Il s’agit d’un test non paramétrique, ce qui signifie qu’aucune hypothèse sous-jacente n’est formulée quant à la normalité des données.

Les hypothèses du test sont les suivantes :

H 0 (hypothèse nulle) : aucune tendance n’est présente dans les données.

H A (hypothèse alternative) : Une tendance est présente dans les données. (Cela pourrait être une tendance positive ou négative)

Si la valeur p du test est inférieure à un certain niveau de signification (les choix courants sont 0,10, 0,05 et 0,01), il existe alors une preuve statistiquement significative qu’une tendance est présente dans les données de la série chronologique.

Ce didacticiel explique comment effectuer un test de tendance Mann-Kendall en Python.

Exemple : test de tendance Mann-Kendall en Python

Pour effectuer un test de tendance Mann-Kendall en Python, nous allons d’abord installer le package pymannkendall :

pip install pymannkendall

Une fois que nous avons installé ce package, nous pouvons effectuer le test de tendance Mann-Kendall sur un ensemble de données de séries chronologiques :

#create dataset
data = [31, 29, 28, 28, 27, 26, 26, 27, 27, 27, 28, 29, 30, 29, 30, 29, 28]

#perform Mann-Kendall Trend Test
import pymannkendall as mk

mk.original_test(data)

Mann_Kendall_Test(trend='no trend', h=False, p=0.422586268671707,
                  z=0.80194241623, Tau=0.147058823529, s=20.0,
                  var_s=561.33333333, slope=0.0384615384615, intercept=27.692307692)

Voici comment interpréter le résultat du test :

  • tendance : Ceci indique la tendance. Le résultat possible inclut une tendance croissante, décroissante ou inexistante.
  • h : vrai si la tendance est présente. Faux si aucune tendance n’est présente.
  • p : La valeur p du test.
  • z : la statistique du test de normalisation.
  • Tau : Kendall Tau.
  • s : partition de Mann-Kendal
  • var_s : écart S
  • pente : estimateur Theil-Sen/pente
  • interception : Interception de la ligne robuste Kendall-Theil

La principale valeur qui nous intéresse est la valeur p, qui nous indique s’il existe ou non une tendance statistiquement significative dans les données.

Dans cet exemple, la valeur p est de 0,4226 , ce qui n’est pas inférieur à 0,05. Il n’y a donc pas de tendance significative dans les données des séries chronologiques.

En plus d’effectuer le test de tendance Mann-Kendall, nous pouvons créer un tracé linéaire rapide à l’aide de Matplotlib pour visualiser les données réelles de la série chronologique :

import matplotlib.pyplot as plt

plt.plot(data)

fois

Sur le graphique, nous pouvons voir que les données sont un peu dispersées, ce qui confirme qu’il n’y a pas de tendance claire dans les données.

Ressources additionnelles

Comment tracer une série chronologique dans Matplotlib
Comment effectuer un test Dickey-Fuller augmenté en Python
Comment tracer plusieurs séries à partir d’un DataFrame Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *