Analyse des conditions de tests pour le taux de CO2 dans les écoles du Québec

Contexte

Cette analyse et les données utilisées sont rendues publiques par souci de transparence et d’intégrité journalistique. Le tout a été publié le 15 avril 2021. Pour voir le reportage, cliquez ici.

Par Nael Shiab, journaliste de données pour CBC/Radio-Canada

Contact:

J’ai extrait les données des tests de CO2 menés dans les centres de service scolaire (CSS). Ces tests ont été réalisés lors de l’automne 2020 et de l’hiver 2021. L’objectif était d’évaluer l’efficacité de la ventilation dans les salles de classe. Les CSS devaient rendre publics les résultats de ces tests en mars 2021. Mais tous ne l’ont pas fait.

Pour notre analyse, nous avons besoin des conditions détaillées des tests. Seulement une poignée de CSS les a rendues publiques. Dans cette analyse, nous nous concentrons sur les deux plus gros CSS à Montréal (de Montréal, Marguerite-Bourgeoys) et à Québec (de la Capitale, des Premières-seigneuries). Ils s’occupent de près de 175 000 élèves.

Pour télécharger le répertoire complet de code, avec les fichiers originaux, les scripts de traitement, les données finales et l’analyse complète, cliquez ici.

Les données ont été téléchargées sur les sites web des CSS de Montréal (269 fichiers PDF, total de 970 pages), de la Capitale (128 fichiers PDF, total de 363 pages) et des Premières-Seigneuries (141 fichiers PDF, total de 300 pages) avec un moissonneur de données codé en NodeJS (scraper.js dans le répertoire de code).

Le CSS Marguerite-Bourgeoys nous a envoyé les données sous forme de fichier Excel (101 fichiers, total d’environ 10 000 lignes). Les fichiers Excel ont été transformés en fichier CSV et pour chaque CSS, les fichiers PDF ont été fusionnés avec le même script (scraper.js).

Les fichiers PDF fusionnés ont été passés dans l’outil Tabula (pleine page, méthode Lattice) pour les transformer en fichiers CSV. Les données ont alors été triées et classées avec un script NodeJS (parser.js dans le répertoire de code) pour les restructurer dans un seuil fichier CSV sous forme de tidy data (analyse/data dans le répertoire de code). On peut maintenant les analyser ici, en utilisant le langage R.

Voici un extrait d’une présentation faite au CSS de Portneuf.

Le protocole de test consistait à prendre une première mesure avant l’arrivée des élèves, une deuxième mesure au milieu du cours avec les élèves, puis finalement une troisième mesure à la fin du cours après avoir ouvert les fenêtres pendant 20 minutes.

Dans cette analyse, on appelle un test l’ensemble de ces mesures dans une classe donnée. Chaque test comporte donc les 3 mesures. Mais chaque mesure peut aussi être analysée indépendamment.

Question de recherche

On souhaite répondre à la question suivante:

La réponse à cette question dépend en partie des conditions suivantes que nous pouvons vérifier avec nos données:

Si ces conditions sont remplies, les tests sous-estiment potentiellement la situation dans les classes.

Limites

Les centres de services scolaires n’ont pas rendu publiques les données de façon structurée et ouverte (csv ou base de données).

Par conséquent, nous reconstruisons la base de données à partir de centaines de documents PDF et Excel. Il est possible que des tests aient été manqués par nos algorithmes, notamment quand les CSS utilisent un formulaire différent de celui fourni par le ministère de l’Éducation.

Voici un exemple du formulaire en question que notre algorithme détecte et dont il extrait les informations pertinentes pour notre analyse

Dans certains cas, les CSS ont mené des reprises de tests dans les classes avec de hauts taux de CO2. Ces reprises sont censées être effectuées après des mesures correctives pour améliorer la ventilation dans les classes problématiques. Mais ces reprises ne sont pas toujours clairement identifiées dans le formulaire.

De plus, les conditions décrites plus haut pour mener notre analyse restent valides pour un premier test comme pour une reprise. Par exemple, ouvrir une fenêtre dans une salle de classe pendant 20 minutes au milieu d’un cours n’est pas réaliste en plein hiver, même si ce serait une mesure corrective efficace pour baisser le taux de CO2.

Pour toutes ces raisons, nous ne distinguons pas les premiers tests des reprises dans notre analyse.

Nous sommes bien évidemment dépendants de la qualité de la collecte de données effectuée par les personnes qui ont réalisé les tests et en ont compilé les résultats.

Les données

Importation

On commence par importer les données.

data <- read_csv("./data/data-analyse-protocole.csv")
data