Statistiques descriptives et inférentielles

Analyser des données de sondage avec Python

EbunOluwa Andrew

Data Scientist

Statistiques descriptives

  • Mesures de base pour décrire des données d'enquête
  • Exemples : moyenne, médiane, mode, étendue, écart-type, etc.
  • .describe()

Photo de Lukas - graphique en gros plan

1 Photo de Lukas
Analyser des données de sondage avec Python

La fonction .describe()

data.describe()
|      | year     | satisfaction_rating
|------|----------|--------------------
| count|       42 |                  42
| mean | 2012.381 |            7192.857
| std  |    4.196 |             945.178
| min  |     2006 |                5500
| 25%  |     2009 |                6325
| 50%  |   2012.5 |                7400
| 75%  |     2016 |                8000
| max  |     2019 |                8600
data.describe(include = np.object)
|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
Analyser des données de sondage avec Python

Interpréter .describe()

  • Valeur aberrante : max > moyenne et médiane
  • Valeurs improbables : valeurs non logiques
|       | year     | satisfaction_rating |
|-------|----------|---------------------|
| count |       42 |                  42 |
| mean  | 2012.381 |            7192.857 |
| std   |    4.196 |             945.178 |
| min   |     2006 |                5500 |
| 25%   |     2009 |                6325 |
| 50%   |   2012.5 |                7400 |
| 75%   |     2016 |                8000 |
| max   |     2019 |                8600 |
Analyser des données de sondage avec Python

Interpréter .describe()

  • Top = mode = classe la plus fréquente
  • Freq = nombre d'occurrences de cette classe
|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
Analyser des données de sondage avec Python

.describe() sur electric_satisfaction

import pandas as pd

electric_satisfaction = pd.read_csv("austin-energy-customer-satisfaction.csv")
Analyser des données de sondage avec Python

.describe() sur electric_satisfaction

electric_satisfaction.describe()
|      | year     | satisfaction_rating
|------|----------|--------------------
| count|       42 |                  42
| mean | 2012.381 |            7192.857
| std  |    4.196 |             945.178
| min  |     2006 |                5500
| 25%  |     2009 |                6325
| 50%  |   2012.5 |                7400
| 75%  |     2016 |                8000
| max  |     2019 |                8600
  • satisfaction_rating comporte des valeurs aberrantes
  • 50e centile = médiane
Analyser des données de sondage avec Python

.describe() sur electric_satisfaction

|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
  • Mode = répondants résidentiels
Analyser des données de sondage avec Python

Statistiques inférentielles

  • Déterminer si les données s'appliquent à une population plus large
  • Taille de l'échantillon < taille de la population → erreur d'échantillonnage
  • Estimer les paramètres de la population
    • Intervalles de confiance
      • Fonction norm.interval()

Photo d'Andrea Piacquadio sur Pexels - femme tenant une ampoule

1 Photo d'Andrea Piacquadio sur Pexels
Analyser des données de sondage avec Python

La fonction norm.interval()

  • Pour de grands ensembles de données
  • Supposer que la distribution d'échantillonnage de la moyenne est normale
import scipy.stats
scipy.stats.norm.interval(alpha, loc, scale)
  • alpha = niveau de confiance
  • loc = moyenne de l'échantillon
  • scale= erreur-type de l'échantillon
Analyser des données de sondage avec Python

Interpréter norm.interval() sur electric_satisfaction

electric_satisfaction = pd.read_csv(
  "austin-energy-customer-satisfaction.csv")

conf_interval = st.norm.interval(
  alpha = 0.99,
  loc = np.mean(electric_satisfaction.satisfaction),
  scale=st.sem(electric_satisfaction.satisfaction))

print(conf_interval)
(6817.187361704269, 7568.526924010017)
Analyser des données de sondage avec Python

Passons à la pratique !

Analyser des données de sondage avec Python

Preparing Video For Download...