Analyse de régression

Analyser des données de sondage avec Python

EbunOluwa Andrew

Data Scientist

Analyse de régression

  • Comprendre le lien 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 les occasions et risques futurs
  • Transformer un gros volume de données brutes en information exploitable
  • Appuyer des décisions éclairées par des faits

Personnes tentant de retenir une flèche financière à la baisse

Analyser des données de sondage avec 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 ordinaires (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 de sondage avec 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 de sondage avec 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 de sondage avec Python

Ajouter le terme constant

x = sm.add_constant(x)
print (x)
  • Indique au modèle d'estimer la valeur de b

Analyser des données de sondage avec Python

Exécuter la régression et l'ajustement

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

Analyser des données de sondage avec Python

Récupérer m et b

Analyser des données de sondage avec Python

Tracer les valeurs d'origine

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 de sondage avec 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 de sondage avec Python

Prédire la réponse

y = 1.0072 * 30 + 0.1552
print(y)
30.3712
Analyser des données de sondage avec Python

Avantages et limites de la régression linéaire

  • Avantage
    • Efficace quand les données sont linéairement séparables
  • Inconvénient
    • Suppose une relation linéaire dans des cas non linéaires

Analyser des données de sondage avec Python

Passons à la pratique !

Analyser des données de sondage avec Python

Preparing Video For Download...