Leçon 3 sur 8
Unité · L'adaptation est une séquence, non un score
Un ménage est classé par sa pire stratégie
Dix stratégies, trois phases de sévérité, et la règle est le maximum plutôt que la somme. 18,2 % de ces ménages ont employé une stratégie d'urgence, et la façon dont un district a traité « sans objet » rend ses prévalences fausses tout en laissant sa classification intacte.
Le module, et pourquoi ce n’est pas un indice de plus
Le module des stratégies d’adaptation aux moyens d’existence demande si un ménage a employé l’une de dix stratégies au cours des trente derniers jours. Chaque stratégie est classée à l’avance dans une phase de sévérité, avant toute collecte, et le ménage est ensuite classé par la stratégie la plus sévère qu’il a employée.
| Phase | Stratégies | Ce qu’elles ont en commun |
|---|---|---|
| Stress | Vente de biens du ménage, épargne épuisée, emprunt, vente d’animaux au-delà de l’habitude | Réduisent la capacité à absorber un choc futur ; réversibles |
| Crise | Vente d’actifs productifs, retrait des enfants de l’école, coupe des dépenses de santé | Réduisent la productivité future ; difficiles à inverser |
| Urgence | Vente de la maison ou de la terre, mendicité, vente des dernières femelles reproductrices | Réduisent la productivité future et sont quasi irréversibles |
La classification est un maximum, non une somme, et non un décompte. Un ménage qui a vendu une fois ses dernières reproductrices est plus mal en point qu’un ménage qui a emprunté quatre fois, et toute arithmétique qui additionne les deux dit le contraire.
import pandas as pd
coping = pd.read_csv("livelihood-coping-2024.v1.csv")
PHASE = {
"sold_household_assets": "stress",
"spent_savings": "stress",
"borrowed_money": "stress",
"sold_more_animals_than_usual": "stress",
"sold_productive_assets": "crisis",
"withdrew_children_from_school": "crisis",
"reduced_health_expenditure": "crisis",
"sold_house_or_land": "emergency",
"begged": "emergency",
"sold_last_female_animals": "emergency",
}
RANK = {"none": 0, "stress": 1, "crisis": 2, "emergency": 3}
used = coping[list(PHASE)].eq("yes")
severity = pd.Series("none", index=coping.index)
for strategy, phase in PHASE.items():
higher = used[strategy] & (severity.map(RANK) < RANK[phase])
severity[higher] = phase
print((severity.value_counts(normalize=True) * 100).round(1))
library(dplyr)
phase <- c(sold_household_assets = "stress", spent_savings = "stress",
borrowed_money = "stress", sold_more_animals_than_usual = "stress",
sold_productive_assets = "crisis",
withdrew_children_from_school = "crisis",
reduced_health_expenditure = "crisis",
sold_house_or_land = "emergency", begged = "emergency",
sold_last_female_animals = "emergency")
rank <- c(none = 0, stress = 1, crisis = 2, emergency = 3)
| Classification | Ménages | Part |
|---|---|---|
| Aucune | 339 | 16,0 % |
| Stress | 754 | 35,5 % |
| Crise | 642 | 30,3 % |
| Urgence | 386 | 18,2 % |
48,5 % ont employé une stratégie de crise ou d’urgence. Ce seul chiffre est ce que le tableau de preuves IPC retient de ce module, et c’est une image très différente des 7,3 % à consommation alimentaire pauvre.
Sans objet n’est pas non
Un ménage sans animaux ne peut pas vendre sa dernière femelle reproductrice. Le
module l’enregistre comme not-applicable, et c’est une troisième réponse et non
une variante de non.
answers = coping["sold_last_female_animals"].value_counts()
print(answers)
applicable = coping["sold_last_female_animals"].isin(["yes", "no"])
print(f"prevalence among applicable: "
f"{coping.loc[applicable, 'sold_last_female_animals'].eq('yes').mean():.1%}")
print(f"prevalence if n/a counted as no: "
f"{coping['sold_last_female_animals'].eq('yes').mean():.1%}")
coping |> count(sold_last_female_animals)
coping |>
filter(sold_last_female_animals %in% c("yes", "no")) |>
summarise(prevalence = mean(sold_last_female_animals == "yes"), n = n())
| Stratégie | Parmi les ménages concernés | Si « sans objet » compté comme non |
|---|---|---|
| Vente d’animaux au-delà de l’habitude | 37,4 % | 27,5 % |
| Vente d’actifs productifs | 19,8 % | 17,3 % |
| Retrait des enfants de l’école | 19,7 % | 16,5 % |
| Vente des dernières femelles | 8,6 % | 5,8 % |
Dix points d’écart sur la première ligne. Le dénominateur d’une prévalence par stratégie est l’ensemble des ménages auxquels la stratégie est ouverte, et compter les autres comme non-utilisateurs sous-estime chacune d’elles.
La classification au niveau du ménage y survit et la prévalence par stratégie
non, car un maximum sur des valeurs yes ne se soucie pas de savoir si les
autres valent no ou not-applicable. Cette asymétrie mérite d’être connue :
c’est pourquoi un même fichier peut porter une classification juste et un tableau
de prévalences faux sur la même page.
Le district où la distinction a été perdue
by_district = coping.groupby("district")["sold_last_female_animals"].agg(
yes=lambda s: (s == "yes").sum(),
applicable=lambda s: s.isin(["yes", "no"]).sum(),
not_applicable=lambda s: (s == "not-applicable").sum(),
)
by_district["correct"] = by_district["yes"] / by_district["applicable"]
by_district["naive"] = by_district["yes"] / coping.groupby("district").size()
print((by_district[["correct", "naive"]] * 100).round(1))
coping |>
summarise(yes = sum(sold_last_female_animals == "yes"),
applicable = sum(sold_last_female_animals %in% c("yes", "no")),
n = n(), .by = district) |>
mutate(correct = yes / applicable, naive = yes / n)
| District | Bon dénominateur | Tous les ménages |
|---|---|---|
| Nord-Ouest | 12,3 % | 6,8 % |
| Artibonite | 9,7 % | 5,3 % |
| Sud | 7,5 % | 4,5 % |
| Centre | 6,5 % | 6,4 % |
Les deux colonnes de Centre sont presque identiques, celles de tous les autres
districts non. La raison est dans les données brutes : Centre n’a aucune cellule
not-applicable, parce que ses enquêteurs les ont toutes enregistrées comme
no.
print(coping.groupby("district")[list(PHASE)]
.apply(lambda block: (block == "not-applicable").sum().sum()))
coping |> summarise(across(all_of(names(phase)),
~ sum(.x == "not-applicable")), .by = district)
Sur le bon dénominateur, Nord-Ouest vaut presque le double de Centre. Sur le mauvais, les deux sont identiques. Une comparaison de districts bâtie sur la colonne naïve conclurait que la vente de détresse du bétail est uniforme dans la zone de réponse, et lirait l’habitude de saisie d’une équipe.
Le module partiel
Cinquante-huit ménages ont les trois questions d’urgence vides.
emergency = [s for s, phase in PHASE.items() if phase == "emergency"]
partial = coping[emergency].eq("").all(axis=1) | coping[emergency].isna().all(axis=1)
print(f"{partial.sum()} households cannot be classified above crisis")
coping |> filter(if_all(c(sold_house_or_land, begged, sold_last_female_animals),
~ is.na(.x))) |> nrow()
Un maximum calculé sur ce qui est présent les classe au pire en crise. Les 18,2 % en urgence sont donc une borne inférieure, et le rapport honnête le dit plutôt que de la présenter comme l’estimation.
L’alternative — les supprimer — fait de la part en urgence une estimation non biaisée d’une population légèrement différente. Les deux sont défendables ; trancher en silence ne l’est pas.
Pourquoi l’adaptation se mesure à part de la consommation
Les instruments ne se recouvrent pas comme on l’attend.
survey = pd.read_csv("food-security-survey-2024.v1.csv")
merged = survey.merge(coping, on="household_id", how="left", indicator=True)
print(merged["_merge"].value_counts())
survey |> left_join(coping, by = "household_id") |>
summarise(matched = sum(!is.na(district.y)), n = n())
Les ménages recourent aux stratégies d’adaptation avant que leur consommation ne baisse — c’est l’objet même de l’adaptation. Un ménage qui vend des actifs pour continuer à manger a une consommation intacte et une base d’actifs qui s’effondre, et une analyse qui ne lit que le SCA l’enregistre comme en sécurité alimentaire jusqu’au jour où les actifs manquent.
C’est l’argument pour mesurer les deux, et la leçon suivante est ce qui arrive quand on le fait.
Deux choses à vérifier sur la jointure. Neuf ménages figurent dans le module et pas dans l’enquête, car le module a été administré à partir d’une liste distincte — une jointure interne les supprime sans un mot. Et les douze ménages enquêtés deux fois n’apparaissent qu’une fois dans le module, si bien que la jointure n’est pas un-à-un.
La suite
Quatre instruments existent désormais sur ces ménages : consommation, faim, comportements de survie et stratégies d’adaptation. La leçon suivante demande lesquels s’accordent sur qui est en insécurité alimentaire, et la réponse est l’essentiel de la raison d’être de l’IPC.