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 Durbin-Watson en Python



L’une des hypothèses de la régression linéaire est qu’il n’y a pas de corrélation entre les résidus. En d’autres termes, les résidus sont supposés indépendants.

Une façon de déterminer si cette hypothèse est remplie consiste à effectuer un test de Durbin-Watson , qui est utilisé pour détecter la présence d’autocorrélation dans les résidus d’une régression . Ce test utilise les hypothèses suivantes :

H 0 (hypothèse nulle) : Il n’y a pas de corrélation entre les résidus.

H A (hypothèse alternative) : Les résidus sont autocorrélés.

La statistique du test est approximativement égale à 2*(1-r) où r est l’autocorrélation de l’échantillon des résidus. Ainsi, la statistique du test sera toujours comprise entre 0 et 4 avec l’interprétation suivante :

  • Une statistique de test de 2 indique aucune corrélation en série.
  • Plus les statistiques du test sont proches de 0 , plus il y a de preuves d’une corrélation sérielle positive.
  • Plus les statistiques du test sont proches de 4 , plus il y a de preuves d’une corrélation sérielle négative.

En règle générale, les valeurs statistiques de test comprises entre 1,5 et 2,5 sont considérées comme normales. Cependant, des valeurs en dehors de cette plage pourraient indiquer que l’autocorrélation pose un problème.

Ce tutoriel explique comment effectuer un test Durbin-Watson en Python.

Exemple : test Durbin-Watson en Python

Supposons que nous disposions de l’ensemble de données suivant qui décrit les attributs de 10 joueurs de basket-ball :

import numpy as np
import pandas as pd

#create dataset
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view dataset
df

	rating	points	assists	rebounds
0	90	25	5	11
1	85	20	7	8
2	82	14	7	10
3	88	16	8	6
4	94	27	5	6
5	90	20	7	9
6	76	12	6	6
7	75	15	9	10
8	87	14	9	10
9	86	19	5	7

Supposons que nous ajustions un modèle de régression linéaire multiple en utilisant la notation comme variable de réponse et les trois autres variables comme variables prédictives :

from statsmodels.formula.api import ols

#fit multiple linear regression model
model = ols('rating ~ points + assists + rebounds', data=df).fit()

#view model summary
print(model.summary())

Nous pouvons effectuer un Durbin Watson en utilisant la fonction durbin_watson() de la bibliothèque statsmodels pour déterminer si les résidus du modèle de régression sont autocorrélés :

from statsmodels.stats.stattools import durbin_watson

#perform Durbin-Watson test
durbin_watson(model.resid)

2.392

La statistique du test est de 2,392 . Puisque cette valeur est comprise entre 1,5 et 2,5, nous considérons que l’autocorrélation ne pose pas de problème dans ce modèle de régression.

Comment gérer l’autocorrélation

Si vous rejetez l’hypothèse nulle et concluez qu’une autocorrélation est présente dans les résidus, vous disposez alors de plusieurs options pour corriger ce problème si vous le jugez suffisamment grave :

1. Pour une corrélation en série positive, envisagez d’ajouter des décalages de la variable dépendante et/ou indépendante au modèle.

2. Pour une corrélation série négative, assurez-vous qu’aucune de vos variables n’est surdifférée .

3. Pour la corrélation saisonnière, envisagez d’ajouter des variables fictives saisonnières au modèle.

Ajouter un commentaire

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