Exercices

Exercice 1 - Des cotes côte à côte

Une étude porte sur la survenue d’une infection dans les 30 jours suivant une intervention chirurgicale.

Type d’intervention Infection Pas d’infection Total
Urgente 24 96 120
Programmée 12 108 120
  1. Quel est l’événement ? Quelle est l’exposition et quelle est la catégorie de référence ?
  2. Calculez la probabilité puis la cote d’infection dans chacun des deux groupes.
  3. Calculez l’odds ratio brut et son intervalle de confiance à 95 %. Est-ce que l’association est statistiquement significative au seuil de 5 % ?
  4. Rédigez une phrase de résultat comprenant l’OR, son IC 95 %, les groupes comparés et la période de suivi.

1. Événement, exposition et référence

L’événement est souvent quelque chose sur lequel on souhaite intervenir, afin de limiter ou favoriser (suivant le contexte) sa survenue ; et l’exposition, un facteur qui pourrait influencer cette dite survenue. La catégorie de référence de l’exposition est souvent une modalité “normale” / “standard”, à laquelle on compare les autres modalités.

Ainsi, ici, l’événement est la survenue d’une infection dans les 30 jours suivant l’intervention. L’exposition est alors le type d’intervention, urgente ou programmée. En l’absence de détails supplémentaires, on peut considérer comme “standard” une intervention programmée, qui sera alors notre catégorie de référence1.

2. Probabilités et cotes

Pour les interventions urgentes : \[ \widehat p_U=\frac{24}{120}=0,20=20\,\%, \] d’où \[ \widehat{\operatorname{odds}}_U =\frac{\widehat p_U}{1-\widehat p_U} =\frac{0,20}{0,80} =\frac{24}{96} =0,25 \]

Pour les interventions programmées : \[ \widehat p_P=\frac{12}{120}=0,10=10\,\%, \] d’où \[ \widehat{\operatorname{odds}}_P =\frac{0,10}{0,90} =\frac{12}{108} =0,111 \]

Pour rappel, la probabilité est une part parmi toutes les personnes du groupe (donc compris entre 0 et 1), tandis que la cote est un rapport entre le nombre d’événements et le nombre de non-événements (donc compris entre 0 et \(+\infty\)).

3. OR brut et intervalle de confiance

Notons \(a=24\), \(b=96\), \(c=12\) et \(d=108\). L’odds ratio vaut : \[ \widehat{OR} =\frac{a/b}{c/d} =\frac{ad}{bc} =\frac{24\times108}{96\times12} =2,25 \]

Pour construire l’intervalle, on travaille sur \(\log(OR)\). Son erreur standard estimée est : \[ SE\left(\log(\widehat{OR})\right) =\sqrt{\frac1a+\frac1b+\frac1c+\frac1d} =\sqrt{\frac1{24}+\frac1{96}+\frac1{12}+\frac1{108}} =0,380 \]

Comme \(\log(2,25)=0,811\), alors : \[ IC_{95\,\%}\left(\log(OR)\right) =0,811\pm1,96\times0,380 =[0,065\, ; \,1,557] \]

Enfin, pour revenir à l’échelle de l’OR, on exponentie les bornes de l’intervalle : \[ IC_{95\,\%}(OR) =[e^{0,065};e^{1,557}] =[1,074\, ; \,4,74] \]

L’intervalle n’incluant pas 1, l’association est donc statistiquement significative au seuil de 5 %, soit \(p<0,05\).

4. Phrase de résultat

On pourrait dire : “dans les 30 jours suivant l’intervention, la cote d’infection était 2,25 fois plus élevée après une intervention urgente qu’après une intervention programmée (OR = 2,25 ; IC 95 % [1,07 ; 4,74]).”

Exercice 2 - Maintenant que tu le dis, c’est logit …

Dans une cohorte de personnes âgées, on s’intéresse à la survenue d’une réhospitalisation dans les 30 jours après une sortie d’hôpital. De plus, on a un score de fragilité qui est calculé, qui varie de 0 à 20. On estime alors le modèle logistique suivant : \[ \operatorname{logit}\left(p(x)\right)=-2,20+0,12x, \] où \(x\) est le score de fragilité.

  1. Que représente \(p(x)\) ? Et les valeurs \(-2,20\) et \(0,12\) ?
  2. Calculez et interprétez l’OR associé à une augmentation d’un point du score. Peut-on avoir cet OR, mais pour une augmentation de 5 points ? Si oui, le calculer.
  3. Interprétez les coefficients estimés.
  4. Calculez la probabilité prédite de réhospitalisation pour un score de 0 et un score de 20.

1. Sens de \(p(x)\) et des coefficients

Ici, \[ p(x)=\mathbb{P}(\text{réhospitalisation dans les 30 jours}=1 \mid\text{score de fragilité}=x) \]

Le modèle ne rend pas \(p(x)\) linéaire, mais rend linéaire le logarithme de la cote : \[ \log\left(\frac{p(x)}{1-p(x)}\right)=-2,20+0,12x \]

  • \(-2,20\) est le log de la cote de réhospitalisation pour un score nul.
  • \(0,12\) est l’augmentation du log de la cote associée à un point supplémentaire.

2. OR pour un point et pour cinq points

Pour une hausse d’un point : \[ OR_{+1}=e^{0,12}=1,127 \] À chaque point supplémentaire, la cote de réhospitalisation est donc multipliée par environ 1,13.

Pour cinq points, la différence de log-cote est \(5\times0,12=0,60\) : \[ OR_{+5}=e^{0,60}=1,82. \] Une augmentation de cinq points multiplie la cote par environ 1,82, soit une hausse de 82 %.

Attention ! Il ne faut pas calculer \(5\times1,127\) : les OR se multiplient tandis que les coefficients sur l’échelle logit s’additionnent.

3. Interprétation complète

À un score de 0, la cote prédite vaut : \[ e^{-2,20}=0,111, \] soit environ 0,111 réhospitalisation attendue pour un non-événement sur l’échelle des cotes.

La pente positive (\(= 0,12\)) indique que les personnes plus fragiles ont une probabilité prédite plus élevée.

4. Probabilités prédites

En utilisant la transformation inverse du logit, on a : \[ p(x)=\frac{\exp(-2,20+0,12x)} {1+\exp(-2,20+0,12x)} \]

Pour \(x=0\) : \[ p(0)=\frac{e^{-2,20}}{1+e^{-2,20}} =0,0998, \] soit environ 10,0 %.

Pour \(x=20\) : \[ -2,20+0,12\times20=0,20, \] \[ p(20)=\frac{e^{0,20}}{1+e^{0,20}} =0,5498, \] soit environ 55,0 %.

Exercice 3 - Un OR vaut mieux que deux tu auras

On étudie l’association entre une vaccination et une infection respiratoire au cours de l’hiver. L’âge est un facteur de confusion possible. Les effectifs sont présentés dans deux strates :

Groupe d’âge Vaccination Infection Pas d’infection Total
Moins de 65 ans Oui 10 190 200
Moins de 65 ans Non 10 90 100
65 ans ou plus Oui 18 82 100
65 ans ou plus Non 45 105 150
  1. Regroupez les deux strates et calculez l’OR brut de l’infection pour les personnes vaccinées par rapport aux personnes non vaccinées.
  2. Calculez l’OR séparément chez les moins de 65 ans et chez les personnes de 65 ans ou plus. Comparez ces deux OR par rapport à l’OR brut. Que pouvez-vous en conclure ?
  3. Calculez l’OR de Mantel-Haenszel ajusté sur le groupe d’âge.
  4. Au vu des résultats, a-t-on une potentielle confusion par l’âge ?

1. OR brut après regroupement

On additionne d’abord les deux strates :

Tableau 1: Infection respiratoire au cours de l’hiver selon la vaccination chez 550 personnes, après regroupement des deux classes d’âge.
Vaccination Infection Pas d’infection Total
Oui \(10+18=28\) \(190+82=272\) 300
Non \(10+45=55\) \(90+105=195\) 250

L’OR brut de l’infection chez les personnes vaccinées par rapport aux non-vaccinées est : \[ OR_{\mathrm{brut}} =\frac{28\times195}{272\times55} =0,365 \]

Après regroupement sans ajustement, les données suggèrent donc une cote d’infection environ 63,5 % plus faible chez les personnes vaccinées.

2. OR dans chaque groupe d’âge

Chez les moins de 65 ans : \[ OR_{<65} =\frac{ \overbrace{10/190}^{\text{cote chez les vaccinés}} }{ \underbrace{10/90}_{\text{cote chez les non-vaccinés}} } =\frac{10\times90}{190\times10} =0,474 \]

Chez les 65 ans ou plus : \[ OR_{\geq65} =\frac{ \overbrace{18/82}^{\text{cote chez les vaccinés}} }{ \underbrace{45/105}_{\text{cote chez les non-vaccinés}} } =\frac{18\times105}{82\times45} =0,512 \]

Les deux OR de strate sont proches, environ 0,47 et 0,51. Cela ne suggère pas une forte modification de l’association par le groupe d’âge. En revanche, ils sont tous deux plus proches de 1 que l’OR brut de 0,365 : le regroupement sans tenir compte de l’âge paraît avoir exagéré l’association protectrice.

3. OR de Mantel-Haenszel

Dans chaque strate \(i\), on note :

  • \(a_i\) : vaccinés infectés ;
  • \(b_i\) : vaccinés non infectés ;
  • \(c_i\) : non-vaccinés infectés ;
  • \(d_i\) : non-vaccinés non infectés ;
  • \(n_i=a_i+b_i+c_i+d_i\).

La formule est : \[ \widehat{OR}_{MH} =\frac{\sum_i a_id_i/n_i} {\sum_i b_ic_i/n_i}. \]

Au numérateur, on a : \[ \overbrace{\frac{10\times90}{300}}^{\text{moins de 65 ans}} +\overbrace{\frac{18\times105}{250}}^{\text{65 ans ou plus}} =3,00+7,56 =10,56 \] tandis qu’au dénominateur : \[ \overbrace{\frac{190\times10}{300}}^{\text{moins de 65 ans}} +\overbrace{\frac{82\times45}{250}}^{\text{65 ans ou plus}} =6,33+14,76 =21,09 \]

Ainsi : \[ \widehat{OR}_{MH} =\frac{10,56}{21,09} =0,501 \]

4. Confusion par l’âge

Oui, une confusion par l’âge est plausible :

  • les OR propres aux strates sont assez homogènes, autour de 0,5 ;
  • tandis que l’OR brut (= 0,365), s’en écarte sensiblement.

Ceci peut s’expliquer par la structure des données : 33 % des vaccinés ont 65 ans ou plus (\(100/300\)), contre 60 % des non-vaccinés (\(150/250\)), et l’infection est plus fréquente chez les personnes âgées. L’âge semble donc bien confondre l’association entre vaccination et infection, et il est important de la prendre en compte !

Exercice 4 - Un traitement en OR

Une étude analyse la survenue d’un effet indésirable médicamenteux sévère. Le modèle est ajusté sur la dose, l’âge, l’insuffisance rénale et la voie d’administration. La dose est exprimée par tranche de 10 mg, l’âge par tranche de 10 ans et la voie orale est la référence.

Tableau 2: Odds ratios ajustés de l’effet indésirable médicamenteux sévère selon les variables du modèle logistique.
Variable OR ajusté IC 95 % p-valeur
Intercept 0,82 [0,30 ; 2,22] 0,694
Dose (+10 mg) 1,42 [1,15 ; 1,76] 0,001
Âge (+10 ans) 1,18 [0,98 ; 1,43] 0,083
Insuffisance rénale (oui vs non) 2,70 [1,35 ; 5,39] 0,005
Voie d’administration (réf. orale) 0,350
 Intraveineuse 1,60 [0,76 ; 3,38] 0,216
 Intramusculaire 0,82 [0,34 ; 1,99] 0,661

Enfin, on fournit les log-vraisemblances du modèle complet \(\ell_C\) et du modèle réduit sans la variable de voie d’administration \(\ell_R\) : \[ \ell_R=-120,00,\;\; \ell_C=-118,95. \]

  1. Écrivez le modèle logistique multiple.
  2. Interprétez les OR ajustés de la dose, de l’âge et de l’insuffisance rénale.
  3. Expliquez comment obtenir 0,001 pour la variable “dose”. Effectuez le test statistique ; on donne la valeur critique \(z_{0,975}=1,96\) et \(SE(\widehat\beta_D) = 0,1086\).
  4. Expliquez comment obtenir la p-valeur de 0,350 pour la variable “Voie d’administration”. Effectuez le test ; on donne la valeur critique \(\chi^2_{0,95,2}=5,99\).
  5. Quelle est la probabilité prédite d’un effet indésirable médicamenteux sévère pour un patient de 70 ans, avec une dose de 30 mg, sans insuffisance rénale et recevant le médicament par voie orale ?

1. Modèle logistique multiple

Posons : \[ D_{10}=\frac{\mathrm{dose\ en\ mg}}{10} \, \text{ et }\, A_{10}=\frac{\mathrm{âge\ en\ années}}{10}, \] \(R=1\) en cas d’insuffisance rénale, \(V_{IV}=1\) pour la voie intraveineuse et \(V_{IM}=1\) pour la voie intramusculaire. La voie orale, catégorie de référence, correspond à \(V_{IV}=V_{IM}=0\).

Le modèle s’écrit alors : \[ \operatorname{logit}(p) =\beta_0+\beta_DD_{10}+\beta_AA_{10} +\beta_RR+\beta_{IV}V_{IV}+\beta_{IM}V_{IM} \]

Si, quand on a les \(\beta\), il faut passer à l’exponentielle pour en tirer des odds ratios ; alors les coefficients peuvent être retrouvés en prenant le logarithme des OR : \[ \begin{aligned} \widehat\beta_0 &= \log(0{,}82) = -0{,}198 \quad & \widehat\beta_D &= \log(1{,}42) = \phantom{-}0{,}351 \quad & \widehat\beta_A &= \log(1{,}18) = \phantom{-}0{,}166 \\ \widehat\beta_R &= \log(2{,}70) = \phantom{-}0{,}993 \quad & \widehat\beta_{IV}&= \log(1{,}60) = \phantom{-}0{,}470 \quad & \widehat\beta_{IM}&= \log(0{,}82) = -0{,}198 \end{aligned} \]

2. Interprétation des OR ajustés

  • Pour 10 mg supplémentaires, la cote d’effet indésirable sévère est multipliée par 1,42, soit une hausse de 42 %, à âge, fonction rénale et voie identiques. L’IC \([1,15\, ; \,1,76]\) exclut 1, donc \(p<0,05\).
  • Pour 10 ans supplémentaires, la cote est multipliée par 1,18, soit une hausse estimée de 18 %, toutes choses égales par ailleurs. L’IC \([0,98\, ; \,1,43]\) inclut 1, donc \(p>0,05\) : l’association n’est pas statistiquement significative au seuil de 5 %.
  • En présence d’insuffisance rénale, la cote est 2,70 fois celle d’un patient sans insuffisance rénale de mêmes dose, âge et voie. L’IC \([1,35\, ; \,5,39]\) exclut 1, donc \(p<0,05\).

3. Test de Wald pour la dose

On teste : \[ H_0:\beta_D=0 \iff OR_D=1, \] contre \[ H_1:\beta_D\neq0 \]

Pour faire le test de Wald, on a besoin du coefficient \(\beta\), d’où : \[ \widehat\beta_D=\log(1,42)=0,3507 \]

En utilisant l’erreur standard fournie dans l’énoncé, la statistique de Wald est : \[ z=\frac{0,3507}{0,1086}=3,23 \]

Comme \(|3,23|>z_{0,975}=1,96\), on rejette \(H_0\) au seuil de 5 %, donc \(p<0,05\).

4. Test global de la voie d’administration

La variable possède trois modalités, donc elle est représentée par deux coefficients. On teste alors \[ H_0:\beta_{IV}=\beta_{IM}=0, \] contre l’alternative qu’au moins un des deux coefficients est non nul.

On compare alors le modèle réduit (sans la variable “voie d’administration”) et le modèle complet par un test du rapport de vraisemblance : \[ G^2=2(\ell_C-\ell_R) =2\left(-118,95-(-120,00)\right) =2,10 \]

Le nombre de degrés de liberté correspond au nombre de paramètres testés, soit 2. Comme : \[ 2,10<\chi^2_{0,95\, ; \,2}=5,99, \] on ne rejette pas \(H_0\) au seuil de 5 %.

5. Probabilité pour le profil demandé

Pour 30 mg, \(D_{10}=3\) ; pour 70 ans, \(A_{10}=7\). L’absence d’insuffisance rénale et la voie orale mettent les indicatrices correspondantes à zéro. Le prédicteur linéaire est : \[ \widehat\eta =\log(0,82) +3\log(1,42) +7\log(1,18) =2,012 \] qu’on utilise alors pour calculer la probabilité : \[ \widehat p =\frac{\exp(2,012)} {1+\exp(2,012)} =0,882 \] soit 88,2 %.

Exercice 5 - Les antibiotiques, c’est pas automatique

On étudie l’association entre une antibioprophylaxie et une complication de plaie. On note ANTIBIO = 1 si l’antibioprophylaxie est administrée et OBESITE = 1 en présence d’obésité. Le modèle, ajusté sur l’âge et le type d’intervention, est :

\[ \operatorname{logit}(p)=\beta_0+\beta_1\mathrm{ANTIBIO}+\beta_2\mathrm{OBESITE} +\beta_3(\mathrm{ANTIBIO}\times\mathrm{OBESITE})+\boldsymbol\gamma^\top\mathbf Z. \]

Notre logiciel favori a estimé \(\widehat\beta_1=-0,60\), \(\widehat\beta_2=0,40\), et \(\widehat\beta_3=0,69\).

Le test de l’interaction donne \(p=0,030\). Pour un patient de 60 ans ayant une intervention programmée, on demande de calculer les OR conditionnels à partir de ces coefficients.

  1. Comment tester si l’effet de l’antibioprophylaxie sur la complication de plaie est modifié par l’obésité ? Est-ce le cas ici ?
  2. Exprimez l’OR de l’antibioprophylaxie chez les patients sans obésité puis chez les patients avec obésité à partir des coefficients du modèle. Interprétez ces OR.
  3. Présentez les résultats dans un tableau pouvant être inséré dans un article scientifique.

1. Test de la modification d’effet

L’interaction est portée par \(\beta_3\) : \[ H_0:\beta_3=0 \text{ vs. } H_1:\beta_3\neq0 \]

Elle peut être testée par un test de Wald du coefficient d’interaction ou par un test du rapport de vraisemblance comparant les modèles avec et sans interaction.

Comme on nous fournit que \(p=0,030<0,05\), alors on rejette \(H_0\) : l’association entre antibioprophylaxie et complication de plaie est statistiquement modifiée par l’obésité.

2. OR de l’antibioprophylaxie selon l’obésité

À âge et type d’intervention fixés, comparons ANTIBIO = 1 à ANTIBIO = 0.

Chez les patients sans obésité, OBESITE = 0. La différence de log-cote vaut : \[ \beta_1+\beta_3\times0=\beta_1 \] donnant alors un OR de : \[ OR_{\mathrm{ANTIBIO}\mid\mathrm{OBESITE}=0} =e^{-0,60} =0,55 \] La cote de complication est estimée environ 45 % plus faible avec antibioprophylaxie.

Chez les patients avec obésité, OBESITE = 1 : \[ \beta_1+\beta_3=-0,60+0,69=0,09, \] d’où \[ OR_{\mathrm{ANTIBIO}\mid\mathrm{OBESITE}=1} =e^{0,09} =1,09 \] La cote est estimée 9 % plus élevée avec antibioprophylaxie.

Le rapport des deux OR est : \[ \frac{1,09}{0,55}=e^{0,69}=1,99. \] L’OR associé à l’antibioprophylaxie est donc presque deux fois plus grand chez les patients avec obésité que chez ceux sans obésité.

3. Présentation pour un article

Les estimations ponctuelles peuvent être présentées ainsi :

Tableau 3: Association ajustée entre l’antibioprophylaxie et la complication de plaie selon l’obésité.
Obésité OR ajusté
Non 0,55
Oui 1,09

Note : OR ajustés sur l’âge et le type d’intervention. L’interaction entre l’antibioprophylaxie et l’obésité est statistiquement significative (\(p<0,05\)).

Notes de bas de page

  1. Ce choix fixe le sens de l’OR, et cela ne change en rien nos analyses ou autre. Si on avait choisi l’inverse, alors l’OR estimé serait juste inversé. Autrement dit, si \(OR\) est l’OR estimé avec l’intervention programmée comme référence, alors \(1/OR\) est l’OR estimé avec l’intervention urgente comme référence.↩︎