Analyse de régression

Analyser des données d’enquête en Python

EbunOluwa Andrew

Data Scientist

Analyse de régression

  • Comprendre la relation entre les variables
  • Utilisée pour prédire un résultat précis
  • Mesurer l'influence des variables indépendantes sur la variable dépendante
  • Anticiper opportunités et risques futurs
  • Transformer de gros volumes de données brutes en informations actionnables
  • Apporter un appui factuel aux décisions éclairées

Des personnes tentant d'arrêter une flèche financière descendante

Analyser des données d’enquête en Python

Régression linéaire avec la méthode des moindres carrés ordinaires (OLS)

  • Modèle de régression linéaire
    • Suppose une relation linéaire entre x et y
    • y = m * x + b
    • Méthode des moindres carrés (OLS)
    • Somme((calculé−observé)^2) ⇒ minimisée

https://seeing-theory.brown.edu/regression-analysis/index.html

1 https://seeing-theory.brown.edu/regression-analysis/index.html
Analyser des données d’enquête en Python

Chargement des données

import pandas as pd

import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
exercise_data = pd.read_csv('workout_survey_data.csv') print(exercise_data.head())
| workout_minutes | calories_burned |
|-----------------|-----------------|
| 77              | 79.775152       |
| 21              | 23.177279       |
| 22              | 25.609262       |
| 20              | 17.857388       |
Analyser des données d’enquête en Python

Définir les variables

x = variable indépendante y = variable dépendante

x = exercise_data.minutes.tolist()
y = exercise_data.calories.tolist() 
print(x,'\n',y)
| [77, 21, 22, 20, 36...           |
|----------------------------------|
| [79.7, 23.1, 25.6, 17.8, 41.8... |

Données d'enquête

workout_minutes calories_burned
77 79.775152
21 23.177279
22 25.609262
20 17.857388
36 41.849864
Analyser des données d’enquête en Python

Ajouter un terme constant

x = sm.add_constant(x)
print (x)
  • Indique au modèle d'ajuster une valeur pour b

Analyser des données d’enquête en Python

Réaliser la régression et l'ajustement

result = sm.OLS(y,x).fit()
print(result.summary())

Analyser des données d’enquête en Python

Récupérer m et b

Analyser des données d’enquête en Python

Tracer les valeurs initiales

x = exercise_data.minutes.tolist()
y = exercise_data.calories.tolist()
plt.scatter(x,y)
plt.xlabel('minutes')
plt.ylabel('calories')
plt.show()

Analyser des données d’enquête en Python

Tracer la droite de régression

max_x = exercise_data.minutes.max()
min_x = exercise_data.minutes.min()
x = np.arange(min_x, max_x, 1)

y = 1.0072*x + 0.1552
plt.plot(y, 'r') plt.show()

Analyser des données d’enquête en Python

Prédire la réponse

y = 1.0072 * 30 + 0.1552
print(y)
30.3712
Analyser des données d’enquête en Python

Avantages et limites de la régression linéaire

  • Avantage
    • Performant lorsque les données sont linéairement séparables
  • Inconvénient
    • Suppose une relation linéaire pour des cas non linéaires

Analyser des données d’enquête en Python

Passons à la pratique !

Analyser des données d’enquête en Python

Preparing Video For Download...