cassionAnalyse de données

Retour à la leçonLeçon 6 sur 8Juger une enquête

L'intervalle qui chevauche deux phases IPC

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 / 22

    Ce que couvre cette leçon

    • Le nombre pour lequel l'enquête existe
    • L'estimation, avec le plan
    • Les phases IPC
    • Ce que cela veut dire, dit franchement
    • Ce qui se serait passé sans l'effet de plan
    • Lisez-le avec le rapport de plausibilité
    • Le bloc de rapportage complet
    • La suite
    Notes du présentateur
    La MAG vaut 14,9 %, au sommet de la phase 3 de l'IPC. L'intervalle ajusté du plan va de 11,1 % à 18,7 %, ce qui couvre les phases 3 et 4 — et l'enquête ne peut pas dire dans laquelle se trouve la population.
  2. Diapositive 2 / 22

    Le nombre pour lequel l'enquête existe

    • Tout ce qui précède était préparatoire.
    Notes du présentateur
    Tout ce qui précède était préparatoire. L'enquête a été financée pour répondre à une question — quelle est l'ampleur de la malnutrition aiguë — et cette leçon produit la réponse sous la forme qu'elle doit prendre : une prévalence, un intervalle et une phase.
  3. Diapositive 3 / 22

    L'estimation, avec le plan — En Python (suite)

    import numpy as np
    import pandas as pd
    
    analysable = smart[smart["whz"].between(-5, 5)].copy()
    analysable["gam"] = (analysable["whz"] < -2) | (analysable["oedema"] == True)
    analysable["sam"] = (analysable["whz"] < -3) | (analysable["oedema"] == True)
    
    
    def cluster_prevalence(df, column, cluster="cluster"):
        n = len(df)
        p = df[column].mean()
    
        totals = df.groupby(cluster)[column].agg(["sum", "size"])
        residual = totals["sum"] - p * totals["size"]
        m = len(totals)
    
    Notes du présentateur
    Une enquête SMART est une enquête en grappes. Le cours sur les enquêtes a établi ce que cela implique ; ici cela arrive avec un seuil attaché.
  4. Diapositive 4 / 22

    L'estimation, avec le plan — En Python (suite)

        variance = m / (m - 1) * (residual**2).sum() / n**2
        se = np.sqrt(variance)
        srs = p * (1 - p) / n
        return {"p": p, "se": se, "deff": variance / srs, "clusters": m, "n": n}
    
    
    for column in ["gam", "sam"]:
        r = cluster_prevalence(analysable, column)
        t = 2.045                                  # t(0.975, 29 df)
        print(f"{column.upper()}: {r['p']:.1%}  95% CI {r['p'] - t * r['se']:.1%} to "
              f"{r['p'] + t * r['se']:.1%}  deff {r['deff']:.2f}  n {r['n']}")
  5. Diapositive 5 / 22

    L'estimation, avec le plan — En R

    library(survey)
    
    design <- svydesign(ids = ~cluster, weights = NULL, data = analysable)
    
    svyciprop(~I(whz < -2 | oedema), design, method = "logit")
    svymean(~I(whz < -2 | oedema), design, deff = TRUE)
  6. Diapositive 6 / 22

    L'estimation, avec le plan

    EstimationIC 95 %Effet de plann
    MAG14,9 %11,1 – 18,7 %2,29852
    MAS3,8 %2,3 – 5,2 %1,20852
  7. Diapositive 7 / 22

    L'estimation, avec le plan

    • L'effet de plan vaut 2,29 pour la MAG et 1,20 pour la MAS — Deux indicateurs, une enquête, deux effets de plan — car la…
    • L'intervalle naïf serait de 12,5 à 17,3 % — Ignorer les grappes rétrécit l'intervalle de 37 %, et la section suivante…
    Notes du présentateur
    Deux points à retenir de ce tableau avant de lire la phase. L'effet de plan vaut 2,29 pour la MAG et 1,20 pour la MAS. Deux indicateurs, une enquête, deux effets de plan — car la malnutrition se regroupe géographiquement et la malnutrition sévère, plus rare, se regroupe de façon moins détectable. Les 852 enfants de l'enquête en valent environ 372 indépendants pour la MAG. L'intervalle naïf serait de 12,5 à 17,3 %. Ignorer les grappes rétrécit l'intervalle de 37 %, et la section suivante dit ce que ce rétrécissement aurait coûté.
  8. Diapositive 8 / 22

    Les phases IPC

    PhaseMAG par poids-pour-taille
    1 — Acceptablesous 5 %
    2 — Alerte5 à 9,9 %
    3 — Sérieuse10 à 14,9 %
    4 — Critique15 à 29,9 %
    5 — Extrêmement critique30 % et plus
    Notes du présentateur
    L'IPC classe la prévalence de malnutrition aiguë en cinq phases, et ce sont elles qui transforment un pourcentage en décision.
  9. Diapositive 9 / 22

    Les phases IPC — En Python

    def ipc_phase(gam):
        for threshold, phase in [(0.05, 1), (0.10, 2), (0.15, 3), (0.30, 4)]:
            if gam < threshold:
                return phase
        return 5
    
    
    r = cluster_prevalence(analysable, "gam")
    t = 2.045
    low, high = r["p"] - t * r["se"], r["p"] + t * r["se"]
    
    print(f"point estimate: phase {ipc_phase(r['p'])}")
    print(f"interval spans: phase {ipc_phase(low)} to phase {ipc_phase(high)}")
  10. Diapositive 10 / 22

    Les phases IPC — En R

    c(point = 0.149, low = 0.111, high = 0.187)
  11. Diapositive 11 / 22

    Les phases IPC

    • L'estimation ponctuelle vaut 14,9 %, soit la phase 3 — à un dixième de point près
    • L'intervalle va de 11,1 % à 18,7 %, ce qui couvre les phases 3 et 4
    Notes du présentateur
    L'estimation ponctuelle vaut 14,9 %, soit la phase 3 — à un dixième de point près. L'intervalle va de 11,1 % à 18,7 %, ce qui couvre les phases 3 et 4.
  12. Diapositive 12 / 22

    Ce que cela veut dire, dit franchement

    La malnutrition aiguë globale est estimée à 14,9 % (IC 95 % 11,1-18,7). L'estimation ponctuelle relève de la phase 3 de l'IPC (Sérieuse). L'intervalle de confiance couvre les phases 3 et 4 (Critique), si bien que cette enquête ne permet pas de déterminer dans quelle phase se trouve la population.
  13. Diapositive 13 / 22

    Ce que cela veut dire, dit franchement

    • Elle refuse d'arrondir jusqu'au seuil — 14,9 % rapporté « environ 15 % » a pris une décision de classification par…
    • Elle énonce l'intervalle avant la phase — Un lecteur qui voit « phase 3 » d'abord ne la révisera pas en arrivant à…
    • Elle dit que l'enquête ne peut pas trancher — C'est le verdict à trois branches sur lequel insistait le cours sur les…
    Notes du présentateur
    C'est le moment vers lequel tout le cours tendait, et l'énoncé honnête est inconfortable. Trois choses que fait cette phrase. Elle refuse d'arrondir jusqu'au seuil. 14,9 % rapporté « environ 15 % » a pris une décision de classification par arrondi, et la différence entre phase 3 et phase 4 est une différence de réponse. Elle énonce l'intervalle avant la phase. Un lecteur qui voit « phase 3 » d'abord ne la révisera pas en arrivant à l'intervalle. Elle dit que l'enquête ne peut pas trancher. C'est le verdict à trois branches sur lequel insistait le cours sur les enquêtes, et ici la troisième branche est la bonne.
  14. Diapositive 14 / 22

    Ce qui se serait passé sans l'effet de plan — En Python

    srs_se = np.sqrt(r["p"] * (1 - r["p"]) / r["n"])
    print(f"naive interval: {r['p'] - 1.96 * srs_se:.1%} to {r['p'] + 1.96 * srs_se:.1%}")
  15. Diapositive 15 / 22

    Ce qui se serait passé sans l'effet de plan — En R

    p <- 0.149; n <- 852
    c(p - 1.96 * sqrt(p * (1 - p) / n), p + 1.96 * sqrt(p * (1 - p) / n))
    Notes du présentateur
    12,5 % à 17,3 %. Toujours à cheval sur les deux phases — donc sur cette enquête l'effet de plan ne change pas le verdict, et le dire vaut autant qu'un constat. Mais voyez à quel point c'est passé près. Si l'estimation avait valu 13,5 %, l'intervalle naïf serait resté dans la phase 3 et l'intervalle ajusté du plan serait entré en phase 4. La mise en grappes décide de la classification dès que l'estimation est à environ deux points d'un seuil, ce qui, dans ce secteur, est le cas la plupart du temps.
  16. Diapositive 16 / 22

    Lisez-le avec le rapport de plausibilité

    • L'écart-type gonflé (1,22) fait monter la MAG. Une distribution plus large place davantage d'enfants au-delà d'un…
    • Les mesures basses de l'équipe 3 font monter la MAG. Ses grappes donnent 22,3 % contre 9,2 à 16,2 % pour les…
    Notes du présentateur
    La leçon précédente a trouvé quatre contrôles échoués, et deux d'entre eux poussent dans un sens connu. L'estimation a donc plus de chances d'être trop haute que trop basse, ce qui pousse la valeur vraie vers la moitié basse de l'intervalle — vers la phase 3 plutôt que la phase 4.
  17. Diapositive 17 / 22

    Lisez-le avec le rapport de plausibilité — En Python

    without_team3 = analysable[analysable["team"] != 3]
    r3 = cluster_prevalence(without_team3, "gam")
    print(f"excluding team 3: {r3['p']:.1%} on n={r3['n']}, "
          f"{r3['clusters']} clusters")
  18. Diapositive 18 / 22

    Lisez-le avec le rapport de plausibilité — En R

    analysable |> filter(team != 3) |> summarise(gam = mean(gam), n = n())
  19. Diapositive 19 / 22

    Lisez-le avec le rapport de plausibilité

    • Rapportez la sensibilité, ne la substituez pas — Le chiffre principal reste l'estimation sur échantillon complet ;…
    Notes du présentateur
    Rapportez la sensibilité, ne la substituez pas. Le chiffre principal reste l'estimation sur échantillon complet ; l'exclusion figure à côté comme indice sur le sens. Écarter en silence un quart d'une enquête parce qu'il donne une réponse gênante est précisément ce que tout ce module existe pour prévenir.
  20. Diapositive 20 / 22

    Le bloc de rapportage complet — Exemple

    Global acute malnutrition (weight-for-height z < -2 or oedema)
      14.9%   95% CI 11.1-18.7   n = 852   design effect 2.29   30 clusters
      IPC Phase 3 by point estimate; interval spans Phase 3 and Phase 4.
    
    Severe acute malnutrition (z < -3 or oedema)
      3.8%    95% CI 2.3-5.2     n = 852   design effect 1.20
    
    Plausibility: 4 of 6 SMART checks failed (SD 1.22, digit preference in one team,
    age heaping 24%, team bias -0.42 to -1.09). Two of the four push the estimate
    upward. Excluding the affected team gives 12.6% on 628 children.
    
    Analysable denominator: 852 of 930 measured. 66 had no computable z-score
    (32 missing weight or age, 30 outside the reference range, 4 heights in metres,
    recoverable) and 12 were flagged by the WHO bounds.
    Notes du présentateur
    Douze lignes. Elles portent l'estimation, son intervalle, son plan, sa classification, ses biais connus et son dénominateur, et il ne reste rien qu'un relecteur puisse demander sans que le bloc y réponde.
  21. Diapositive 21 / 22

    La suite

    • L'enquête dit quelle est la situation.
    Notes du présentateur
    L'enquête dit quelle est la situation. L'unité suivante demande ce que le programme en a fait — la performance PCIMA au regard des standards Sphere, et le dénominateur qui déplace le taux de guérison de neuf points.
  22. Diapositive 22 / 22

    La suite

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