Adloun

mathématiques complémentaires (terminale) · Chapitre 19 · Exercice de TD

Stratifier, et voir la pente s'inverser

Thème 9 — Corrélation et causalité · niveau 3 (difficile)

Énoncé

Stratifier, et voir la pente s'inverser.

On reprend les douze groupes de patients de la section sec:t9strat : dose en mg, mortalité en %, et trois niveaux de gravité de quatre groupes chacun.

  • Ajuster en sur les douze points. Vérifier les deux contrôles du chapitre 10 et calculer .
  • Ajuster en dans chaque strate. Vérifier de même.
  • Que valent les résidus de l'ajustement global ? Que trahissent-ils ?
  • Quelle pente répond à la question « faut-il augmenter la dose ? »

Corrigé

  • Ajustement global. On a

puis, par le calcul détaillé en Python ci-dessous,

D'où

Contrôles : , la droite passe par ; et la somme des résidus, calculée à la question 3, est nulle. Enfin

Voilà un ajustement irréprochable, avec une pente franchement positive.

  • Ajustement par strate. Prenons les cas légers : , , et

d'où et . Les valeurs prédites sont ; ; ; , donc les résidus valent ; ; ; , de somme nulle.

Les deux autres strates donnent exactement la même pente :

avec des résidus ; ; ; puis ; ; ; , tous de somme nulle, et des droites qui passent par et .

  • Les résidus globaux. Ils valent, dans l'ordre des douze groupes,

Leur somme est nulle, comme il se doit — mais ils ne sont pas répartis au hasard : à l'intérieur de chaque strate ils décroissent régulièrement, puis remontent brutalement au passage à la strate suivante. Ce motif en dents de scie est la signature d'une variable oubliée. Le coefficient ne l'a pas vu : il mesure la dispersion, pas la structure.

  • La pente qui répond. Celle des strates, . La question « faut-il augmenter la dose ? » est une question d'intervention : elle porte sur un patient donné, dont la gravité est ce qu'elle est. C'est donc à gravité fixée qu'il faut comparer — et à gravité fixée, augmenter la dose fait baisser la mortalité de point par milligramme. La pente globale répond, elle, à la question d'observation : « si l'on m'annonce une dose de mg, que dois-je craindre ? » — et la réponse, le pire, est juste : cette dose signale un cas grave.

def moyenne(v):
    return sum(v) / len(v)

def ajustement(x, y):
    xb, yb = moyenne(x), moyenne(y)
    sxy = sum((x[i] - xb) * (y[i] - yb) for i in range(len(x)))
    sxx = sum((t - xb) ** 2 for t in x)
    a = sxy / sxx
    b = yb - a * xb
    residus = [y[i] - (a * x[i] + b) for i in range(len(x))]
    assert abs(a * xb + b - yb) < 1e-9          # passe par le point moyen
    assert abs(sum(residus)) < 1e-9             # residus de somme nulle
    return a, b, residus

strates = [([10, 12, 14, 16], [8.0, 6.9, 6.2, 4.9]),
           ([20, 22, 24, 26], [19.9, 19.3, 17.7, 17.1]),
           ([30, 32, 34, 36], [32.2, 30.8, 29.8, 29.2])]

for x, y in strates:
    a, b, e = ajustement(x, y)
    print(round(a, 6), round(b, 4))     # -0.5 13.0 / -0.5 30.0 / -0.5 47.0

xg = [t for x, y in strates for t in x]
yg = [t for x, y in strates for t in y]
a, b, e = ajustement(xg, yg)
print(round(a, 6), round(b, 4))         # 1.081395 -6.3721
print([round(t, 2) for t in e])         # motif decroissant dans chaque strate

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →