cassionAnalyse de données

Retour à la leçonLeçon 7 sur 8Les apprentissages

Huit points de progrès, dont deux que personne n'a gagnés

Le même diaporama que les téléchargements, rendu sous forme de page. Lancez le diaporama pour le présenter en plein écran — les flèches ou un clic avancent d'une diapositive, Échap quitte.

Diapositives · PDFDiapositives · PowerPoint

  1. Diapositive 1 / 28

    Ce que couvre cette leçon

    • La comparaison qui ne peut pas être faite
    • Trois choses comparables, et une qui ne l'est pas
    • Qui a passé l'épreuve
    • Mesurez la sélection au lieu de l'écarter par hypothèse
    • Ce que coûte le panel
    • Rapportez les trois nombres
    • La suite
    Notes du présentateur
    La lecture passe de 53,1 % à 61,8 % des items entre les deux passations. Sur les 585 élèves ayant passé les deux, elle passe de 56,8 % à 63,7 %. L'écart tient à qui s'est présenté, et les scores bruts n'auraient pu donner ni l'un ni l'autre.
  2. Diapositive 2 / 28

    La comparaison qui ne peut pas être faite — En Python

    import pandas as pd
    
    assessment = pd.read_csv("learning-assessment-2024.v1.csv")
    literacy = assessment[assessment["domain"] == "literacy"]
    
    print(literacy.groupby("assessment_round").agg(
        students=("student_id", "nunique"),
        items=("items", "first"),
        mean_raw=("raw_score", "mean"),
    ).round(1))
  3. Diapositive 3 / 28

    La comparaison qui ne peut pas être faite — En R

    library(dplyr)
    
    assessment |>
      filter(domain == "literacy") |>
      summarise(students = n_distinct(student_id), items = first(items),
                mean_raw = mean(raw_score), .by = assessment_round)
  4. Diapositive 4 / 28

    La comparaison qui ne peut pas être faite

    PassationÉlèvesItemsScore brut moyen
    Initiale7414021,2
    Finale6585030,9
  5. Diapositive 5 / 28

    La comparaison qui ne peut pas être faite

    • Un score brut est passé de 21,2 à 30,9 et cette comparaison ne signifie rien — car les instruments n'ont pas la même…
    Notes du présentateur
    Un score brut est passé de 21,2 à 30,9 et cette comparaison ne signifie rien, car les instruments n'ont pas la même longueur. Neuf points de la hausse sont dix questions de plus. C'est l'erreur la plus courante du rapportage des évaluations éducatives, et elle est invisible tant qu'on ne regarde pas la colonne items — que la plupart des extraits ne portent pas et que la plupart des analystes ne demandent pas.
  6. Diapositive 6 / 28

    Trois choses comparables, et une qui ne l'est pas

    • Non comparable : le score brut — Dénominateurs différents
    • Comparable avec prudence : la proportion d'items réussis — Elle met les deux passations sur une échelle de 0 à 1, ce…
    Notes du présentateur
    Non comparable : le score brut. Dénominateurs différents. Comparable avec prudence : la proportion d'items réussis. Elle met les deux passations sur une échelle de 0 à 1, ce qui est nécessaire et non suffisant — les items de la passation finale peuvent être plus ou moins difficiles, et une proportion suppose qu'ils sont équivalents.
  7. Diapositive 7 / 28

    Trois choses comparables, et une qui ne l'est pas — En Python

    literacy = literacy.assign(proportion=literacy["raw_score"] / literacy["items"])
    print(literacy.groupby("assessment_round")["proportion"].mean().round(3))
  8. Diapositive 8 / 28

    Trois choses comparables, et une qui ne l'est pas — En R

    assessment |> filter(domain == "literacy") |>
      summarise(proportion = mean(raw_score / items), .by = assessment_round)
  9. Diapositive 9 / 28

    Trois choses comparables, et une qui ne l'est pas

    • 53,1 % au départ et 61,8 % à la fin — Mieux, et reposant encore sur une hypothèse que personne n'a vérifiée
    • Comparable par construction : les bandes de compétence — Elles ont été équatées lors de la conception des instruments,…
    Notes du présentateur
    53,1 % au départ et 61,8 % à la fin. Mieux, et reposant encore sur une hypothèse que personne n'a vérifiée. Comparable par construction : les bandes de compétence. Elles ont été équatées lors de la conception des instruments, ce qui est l'objet même de l'équatage — une procédure psychométrique qui place deux tests différents sur une seule échelle, et c'est la raison pour laquelle les bandes existent comme colonne distincte plutôt que dérivées du score.
  10. Diapositive 10 / 28

    Trois choses comparables, et une qui ne l'est pas — En Python

    bands = pd.crosstab(assessment["assessment_round"],
                        assessment["proficiency_band"], normalize="index")
    order = ["below-minimum", "minimum", "proficient", "advanced"]
    print((bands[order] * 100).round(1))
  11. Diapositive 11 / 28

    Trois choses comparables, et une qui ne l'est pas — En R

    assessment |> count(assessment_round, proficiency_band) |>
      mutate(share = n / sum(n), .by = assessment_round)
  12. Diapositive 12 / 28

    Trois choses comparables, et une qui ne l'est pas

    BandeInitialeFinale
    Sous le minimum19,3 %11,1 %
    Minimum30,6 %23,9 %
    Compétent38,2 %38,9 %
    Avancé11,9 %26,1 %
  13. Diapositive 13 / 28

    Trois choses comparables, et une qui ne l'est pas

    • La bande sous le minimum passe de 19,3 % à 11,1 % et la bande avancée de 11,9 % à 26,1 % — C'est la comparaison à…
    Notes du présentateur
    La bande sous le minimum passe de 19,3 % à 11,1 % et la bande avancée de 11,9 % à 26,1 %. C'est la comparaison à rapporter, car c'est la seule dont l'échelle a été conçue pour survivre à un changement d'instrument.
  14. Diapositive 14 / 28

    Qui a passé l'épreuve — En Python

    sat = assessment.groupby("assessment_round")["student_id"].apply(set)
    baseline, endline = sat["baseline"], sat["endline"]
    
    print(f"baseline only: {len(baseline - endline)}")
    print(f"endline only:  {len(endline - baseline)}")
    print(f"both rounds:   {len(baseline & endline)}")
  15. Diapositive 15 / 28

    Qui a passé l'épreuve — En R

    # Three groups, and only one of them supports a change estimate.
  16. Diapositive 16 / 28

    Qui a passé l'épreuve

    • 741 ont passé l'initiale, 658 la finale, et 585 les deux — 156 élèves ayant passé le premier test n'ont pas passé le…
    • Ce ne sont pas 156 élèves au hasard — Le jour de l'évaluation attrape qui se trouve en classe, et les enfants qui n'y…
    Notes du présentateur
    741 ont passé l'initiale, 658 la finale, et 585 les deux. 156 élèves ayant passé le premier test n'ont pas passé le second. Ce ne sont pas 156 élèves au hasard. Le jour de l'évaluation attrape qui se trouve en classe, et les enfants qui n'y sont pas sont ceux qui fréquentent le moins — qui sont aussi, d'après la leçon 3, ceux qui obtiennent les scores les plus bas. La moyenne finale est donc calculée sur un groupe dont les plus faibles ont été retirés de façon disproportionnée, et elle montera pour cette seule raison.
  17. Diapositive 17 / 28

    Mesurez la sélection au lieu de l'écarter par hypothèse — En Python

    panel = literacy.pivot_table(index="student_id", columns="assessment_round",
                                 values="proportion")
    panel = panel.dropna()
    
    print(f"panel of {len(panel)} students")
    print(f"  baseline {panel['baseline'].mean():.1%} → endline {panel['endline'].mean():.1%}")
    
    all_comers = literacy.groupby("assessment_round")["proportion"].mean()
    print(f"all comers")
    print(f"  baseline {all_comers['baseline']:.1%} → endline {all_comers['endline']:.1%}")
    Notes du présentateur
    Le registre permet de faire ce qui tranche : calculer l'évolution sur les élèves présents aux deux passations.
  18. Diapositive 18 / 28

    Mesurez la sélection au lieu de l'écarter par hypothèse — En R

    assessment |> filter(domain == "literacy") |>
      mutate(proportion = raw_score / items) |>
      select(student_id, assessment_round, proportion) |>
      tidyr::pivot_wider(names_from = assessment_round, values_from = proportion) |>
      filter(!is.na(baseline), !is.na(endline)) |>
      summarise(n = n(), baseline = mean(baseline), endline = mean(endline))
  19. Diapositive 19 / 28

    Mesurez la sélection au lieu de l'écarter par hypothèse

    InitialeFinaleÉvolution
    Tous présents53,1 %61,8 %+8,7 points
    Panel de 58556,8 %63,7 %+6,9 points
  20. Diapositive 20 / 28

    Mesurez la sélection au lieu de l'écarter par hypothèse

    • Deux des 8,7 points tiennent à qui s'est présenté — La valeur initiale du panel dépasse de 3,7 points celle de tous les…
    • Rapportez l'estimation du panel et montrez le chiffre tous-présents à côté — Le panel est le nombre défendable ;…
    Notes du présentateur
    Deux des 8,7 points tiennent à qui s'est présenté. La valeur initiale du panel dépasse de 3,7 points celle de tous les présents, ce qui est la mesure directe de la sélection : les élèves revenus étaient déjà plus forts. Rapportez l'estimation du panel et montrez le chiffre tous-présents à côté. Le panel est le nombre défendable ; l'écart entre les deux est la preuve que la sélection était réelle et son ampleur.
  21. Diapositive 21 / 28

    Ce que coûte le panel

    • Le panel n'est pas la population — 585 élèves sur 741 à l'initiale, et ce sont les plus assidus
    • Il ne dit rien des 156 partis — Leurs apprentissages ont pu aller n'importe où, et le rapport honnête dit que…
    Notes du présentateur
    Il n'est pas gratuit, et l'arbitrage doit être énoncé. Le panel n'est pas la population. 585 élèves sur 741 à l'initiale, et ce sont les plus assidus. Les +6,9 points sont donc une estimation non biaisée de l'évolution pour les enfants restés scolarisés et présents deux fois, ce qui est une affirmation plus étroite que celle que l'on attend. Il ne dit rien des 156 partis. Leurs apprentissages ont pu aller n'importe où, et le rapport honnête dit que l'estimation ne les couvre pas.
  22. Diapositive 22 / 28

    Ce que coûte le panel — En Python

    left = literacy[literacy["student_id"].isin(baseline - endline)
                    & (literacy["assessment_round"] == "baseline")]
    print(f"the 156 who did not return scored "
          f"{left['proportion'].mean():.1%} at baseline")
    print(f"the 585 who did scored "
          f"{panel['baseline'].mean():.1%}")
  23. Diapositive 23 / 28

    Ce que coûte le panel — En R

    # Quantify the difference rather than asserting it.
  24. Diapositive 24 / 28

    Ce que coûte le panel

    • Les 156 qui ne sont pas revenus obtenaient 39,3 % à l'initiale contre 56,8 % pour le panel — dix-sept points en dessous…
    • Chiffrer la sélection est le livrable — non l'éliminer
    Notes du présentateur
    Les 156 qui ne sont pas revenus obtenaient 39,3 % à l'initiale contre 56,8 % pour le panel — dix-sept points en dessous. Ce n'est pas un effet de sélection subtil ; c'est le sixième le plus faible de la cohorte qui sort de la moyenne finale. Chiffrer la sélection est le livrable, non l'éliminer. Une analyse qui dit « l'échantillon final était plus assidu, et voici de combien » a fait son travail ; une analyse qui rapporte +8,7 points ne l'a pas fait.
  25. Diapositive 25 / 28

    Rapportez les trois nombres — Exemple (suite)

    Literacy, baseline to endline
    
      Proficiency bands, all who sat each round
        Below minimum        19.3% → 11.1%
        Advanced             11.9% → 26.1%
    
      Proportion of items correct
        All comers           53.1% → 61.8%   +8.7 points   n=741, n=658
        Panel of both rounds 56.8% → 63.7%   +6.9 points   n=585
    
      Instruments differed: 40 items at baseline, 50 at endline. Raw scores are
      not comparable and are not reported. Proficiency bands were equated at
      design; the proportion of items assumes equivalent difficulty.
    
      156 baseline students did not sit the endline. They scored 39.3% at
      baseline against 56.8% for those who returned, so the all-comers change
  26. Diapositive 26 / 28

    Rapportez les trois nombres — Exemple (suite)

      overstates learning by about 1.8 points. The panel estimate covers
      children who sat both rounds and does not cover those 156.
  27. Diapositive 27 / 28

    La suite

    • Vous disposez désormais de tous les indicateurs éducatifs que ce cours peut produire — inscription, présence, rétention et apprentissages — chacun avec son dénominateur et sa réserve.
    Notes du présentateur
    Vous disposez désormais de tous les indicateurs éducatifs que ce cours peut produire — inscription, présence, rétention et apprentissages — chacun avec son dénominateur et sa réserve. La dernière leçon porte sur le rapport où ils vont, et sur les quatre nombres sur lesquels un directeur d'école peut réellement agir.
  28. Diapositive 28 / 28

    La suite

    Lire la leçon complète, avec le code exécutable Retour à la leçon