Statsmodels : Exécutez une régression linéaire R directement dans Python

CTVXNovember 4, 2025 10:35

Explorez la bibliothèque statsmodels, un outil qui permet aux analystes de données d'effectuer des régressions linéaires avec la syntaxe R familière et d'obtenir des résultats détaillés.

La puissance des modèles statistiques en analyse statistique

Python est un langage de programmation populaire dans le domaine de l'analyse statistique grâce à son riche écosystème de bibliothèques. Parmi les techniques statistiques, la régression linéaire est l'une des méthodes les plus utilisées. La bibliothèque statsmodels offre des outils performants pour effectuer des régressions et des analyses de variance, particulièrement utiles pour ceux qui maîtrisent déjà la syntaxe du langage R.

StatsModels est une bibliothèque Python conçue spécifiquement pour réaliser des tests statistiques. Elle est particulièrement performante en analyse de régression, similaire aux méthodes utilisées en économétrie. Un atout majeur de StatsModels réside dans la vérification de l'exactitude de ses résultats à l'aide d'autres logiciels statistiques professionnels tels que R, Stata et SAS, garantissant ainsi une grande fiabilité pour la recherche académique et approfondie.

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang11
Comment effectuer facilement une régression linéaire en Python en utilisant une logique de type R.

Régression linéaire simple avec une syntaxe de type R.

La régression linéaire simple permet de déterminer la relation entre une variable dépendante (y) et une variable indépendante (x). Avec statsmodels, les utilisateurs peuvent facilement réaliser cette opération grâce à une syntaxe de formule similaire à celle de R.

Vous devez d'abord importer les bibliothèques nécessaires :

importer statsmodels.formula.api en tant que smf

import statsmodels.api as sm

Importer Seaborn RealSNS

import numpy as np

Utilisez l'ensemble de données 'tips' disponible dans la bibliothèque Seaborn pour analyser la relation entre les pourboires ('tip') et la facture totale ('total_bill').

conseils = sns.load_dataset('conseils')

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang10
Comment effectuer facilement une régression linéaire en Python en utilisant une logique de type R.

Pour ajuster le modèle de régression, nous utilisons la fonctionsmf.olsMoindres carrés ordinaires (moindres carrés ordinaires) avec la syntaxe de formule suivante :

résultats = smf.ols('tip ~ total_bill', data=tips).fit()

Dans ce cas, « tip ~ total_bill » désigne « tip » comme variable dépendante et « total_bill » comme variable indépendante. Pour consulter les résultats détaillés du modèle, utilisez la commande :

print(resultats.summary())

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang9
Comment effectuer facilement une régression linéaire en Python en utilisant une logique de type R.

Extension aux modèles de régression multivariée et non linéaires

La régression linéaire multiple permet d'analyser la relation entre la variable dépendante et plusieurs variables indépendantes, contribuant ainsi à contrôler les variables confondantes potentielles. La syntaxe dans statsmodels est très simple : il suffit d'ajouter de nouvelles variables à la formule à l'aide du signe plus (+).

Par exemple, pour prendre en compte l'impact du montant total de la facture et du nombre de convives sur le pourboire :

résultats = smf.ols('tip ~ total_bill + size', data=tips).fit()

print(resultats.summary())

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang8
Comment exécuter facilement une régression linéaire de type R en Python 8

De plus, statsmodels prend également en charge la modélisation des relations non linéaires, telles que les équations du second degré. La fonction suivante doit être utilisée :I-AuxPour indiquer à statsmodels qu'il s'agit d'une opération sur une variable existante :

résultats = smf.ols('y ~ x + I(x**2)', données=df).fit()

print(resultats.summary())

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang7
Comment effectuer facilement une régression linéaire en Python en utilisant une logique de type R.

Décryptage du tableau des résultats de régression

Le tableau récapitulatif des résultats de statsmodels fournit de nombreuses informations importantes pour l'évaluation du modèle :

  • R² (coefficient de détermination) :Cela indique dans quelle mesure la variabilité de la variable dépendante est expliquée par les variables indépendantes. Plus la valeur est proche de 1, meilleur est l'ajustement du modèle.
  • R² ajusté :Similaire au R² mais ajusté en fonction du nombre de variables dans le modèle, il est plus utile pour comparer des modèles de régression multivariée.
  • Coefficients :Cela indique le degré de variation de la variable dépendante lorsque la variable indépendante correspondante varie d'une unité.
  • Erreur standard (Std err) :Mesurez la précision du coefficient estimé. Plus la valeur est faible, plus l'estimation est fiable.
  • valeur p :Ce test permet d'évaluer la signification statistique de chaque variable. Si la valeur p est inférieure à un seuil prédéterminé (généralement 0,05), la variable a un effet statistiquement significatif.
cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang6
Comment effectuer facilement une régression linéaire en Python en utilisant le style R.

Analyse de la variance (ANOVA)

L'analyse de variance (ANOVA) est utilisée pour comparer les valeurs moyennes d'une variable à travers plusieurs groupes d'une variable catégorielle.

ANOVA à un facteur

Lorsqu'il n'y a qu'une seule variable catégorielle, nous utilisons une ANOVA à un facteur. Par exemple, pour tester si l'espèce de manchot (« species ») est un prédicteur significatif de la longueur du bec (« bill_length_mm ») :

longueur_du_bille = smf.ols('bill_length_mm ~ species', data=penguins).fit()

résultats = sm.stats.anova_lm(penguin_lm)

imprimer(résultats)

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang5
Comment effectuer facilement une régression linéaire en Python en utilisant une logique de type R.

ANOVA multidimensionnelle

Lorsqu'il y a plusieurs variables catégorielles, on peut utiliser une ANOVA multiplexe. Par exemple, on peut ajouter la variable « île » au modèle :

penguin_multi_lm = smf.ols('bill_length_mm ~ species * island', data=penguins).fit()

résultats = sm.stats.anova_lm(penguin_multi_lm)

imprimer(résultats)

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang3
Comment effectuer facilement une régression linéaire en Python en utilisant le style R.

L'utilisation d'astérisques (*) dans la formule permet au modèle de prendre en compte à la fois les effets individuels de chaque variable et les interactions entre elles.

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang4
Comment effectuer facilement une régression linéaire en Python en utilisant le style R.

Conclure

La bibliothèque statsmodels permet d'effectuer des modélisations statistiques complexes, telles que la régression linéaire et l'ANOVA, directement dans l'environnement Python. Grâce à une syntaxe de formules similaire à celle de R, statsmodels simplifie la création et l'analyse de modèles, permettant ainsi aux data scientists et aux analystes de transformer les données brutes en informations exploitables et en décisions éclairées.

cach chay hoi quy tuyen tinh kieu R trong Python mot cach de dang2
Comment effectuer facilement une régression linéaire en Python en utilisant le style R.
0 0 0

Article paru dans le journal Nghe An

Dernier

x
Statsmodels : Exécutez une régression linéaire R directement dans Python
Google News
ALIMENTÉ PARGRATUITCMS- UN PRODUIT DENEKO