Incertitude en audiométrie vocale – Partie 3… et fin !

Bon, c’est toujours la même chose… je suis en retard j’avais autre chose à faire, et j’ai un peu laissé traîner ce troisième (et dernier !) billet sur l’incertitude en audiométrie vocale.

Alors nous allons tenter d’appliquer les problèmes d’incertitude vus dans les premier et second billet, mais cette fois ci, en audiométrie vocale DANS LE BRUIT ! Je l’écris en gros parce qu’il me semble que ça fait plus bruyant… non ? passons…

Après moult réflexions et quelques années de pratique, je crois qu’il faut casser un mythe sur l’audiométrie vocale dans le bruit : perdons toute idée de référence par rapport à une courbe de « normalité » absolue, sauf à avoir au préalable étalonné votre cabine avec des sujets normo-entendants (on verra comment). Mais peut être va t’il falloir s’habituer à raisonner en « relatif » (condition B versus condition A), on verra comment aussi…

Pour vous convaincre de la difficulté de se baser un score absolu en audiométrie vocale dans le bruit, et de la toute relativité (et osons le mot, inutilité ?) d’une courbe de référence, voici la courbe de référence fournie par HörTech pour le Framatrix (en rouge) et la courbe réelle de la cabine de test « étalonnée » avec 20 sujets normo-entendants (en bleue) :

Comme vous le constatez, les conditions spatiales de test diffèrent. La courbe rouge est la seule courbe de référence que peut et veut donner HörTech pour le Framatrix : c’est à dire en champ quasi-direct (environ 1 m du HP) et voix et bruit émis sur le même haut-parleur, de face (0°).

Toute autre condition spatiale de test serait une extrapolation selon l’institut allemand, et ils ont raison ! C’est connu, à la fin, c’est toujours les allemands qui gagnent, mais pas toujours au ballon !

Dans la cabine et les conditions de test de la courbe bleue, 20 sujets normo-entendants ont été testés avec le Framatrix, mais le HP du signal était à 80cm et de face, et le bruit était émis au 4 coins de la pièce, dans le même plan mais à 2,5m du patient, donc en champ diffus. Et là, la courbe de référence n’est pas du tout (euphémisme) la même.

Donc ce préambule nous laisse entrevoir la très très relative « normalité » des tests dans le bruit sur laquelle nous pourrions nous baser. En effet, les résultats ne dépendent pas uniquement des performances du sujet testé, mais très fortement des conditions d’administration du test, car avec deux populations qu’on imagine homogènes (deux groupes de 20 sujets à audition normale), pour un même test, les RSB nécessaires pour obtenir le SRT (50% d’intelligibilité) ont 7dB d’écart.

Les porteurs n’iront pas plus loin. Docteur Livingstone le sait bien. Malédiction ! Malédiction ! Malédiction ! (A. Bashung)

Après cet intermède musical, nous allons essayer de voir comment un test dans le bruit peut être déclaré significatif, et, soyons fous, valide à peu près scientifiquement.

Car enfin c’est à peu près simple, et des recettes basiques peuvent nous être proposées (j’en donnerai une, qui vaut ce qu’elle vaut) pour prendre une décision.

Au début était l’être humain, et son cerveau si particulier…

Tellement particulier qu’il n’y en a pas deux pareils ! Et pour le prouver, je re-convoque nos fameux 20 sujets normo-entendants :

Moi, ce que j’aime, ce que j’adore même dans les articles scientifiques, c’est quand les points s’alignent si bien… quand le coefficient de régression est si proche de 1… quand la vie est si facile à mettre en équation…

Et bien non ! Soit le landais est retors (c’est vraisemblable), soit le vivant n’est pas si simple (c’est pourquoi la vie est si belle, disons-le, même si des fois…). Mais ici, à -12dB de RSB, certains sujets répètent 1 mot/100 quand d’autres en répètent 58 ! Et j’ai beau, avec l’aide de supers étudiants (merci Julian, merci Hélène, etc.) faire des tests avec des sujets à l’audition « normale », je tombe toujours sur ces fantastiques écarts.

Refermons la parenthèse. Donc voici ce qu’il faudrait faire avant tout test (Framatrix, Hint, autres) dans chacune de nos cabines, avec chacune sa spécificité acoustique et spatiale de test. Avouez que ça pourrait en éloigner quelques uns, mais c’est la seule façon; il faudrait obtenir une courbe de référence comme celle ci :

En annexe de ce billet, pour les plus chauds bouillants d’entre vous, vous aurez le code informatique pour effectuer cette régression sigmoïde (gloups !), puisque c’est comme cela que s’appelle cette courbe qui passe dans le poétique « nuage » de points. Reste à vous de mettre la main sur 20 sujets à l’audition normale, et pour cela, il va falloir faire de la retape sur vos trottoirs genre restaurateur grec du quartier St Michel à Paris (ça sent le vécu !)…

Donc nous allons partir de notre courbe de « normalité » propre à notre cabine (voix à 0° et bruit à 360°). On obtient avec les intervalles de confiance à 95% de tous nos sujets testés :

Mais pourquoi s’intéresser à cette courbe ?

Et l’être humain créa la régression non-linéaire…

… avec son petit cerveau malade bien sûr ! Parce que ce type de courbe sigmoïde (en forme de « S ») régit pas mal de phénomènes du vivant, mais également, parce qu’avec cette courbe, on peut extraire des informations utiles pour déterminer si un test est significatif ou non (on y vient…) comme on l’a vu dans le billet 2.

Mais vous n’avez pas forcément besoin de faire ça dans votre cabine, car les choses étant bien faites, les courbes rouge (la référence de Hörtech) et bleue (votre cabine, ou la mienne en l’occurrence) sont quasi parallèles, ce qui veut dire qu’elles ont des pentes assez proches (mais un peu plus pentue quand tout est émis de face), et que tout va dépendre de la pente…

Donc pour résumer :

  • Mesurer une courbe de « normalité » pour votre cabine est relativement peu important, sauf si vous voulez dire à vos patients « Vous êtes à tant de la normale »
  • Mais ne pas la mesurer nous oblige à travailler en mesure relative (comparer deux conditions) et non pas absolue (se comparer à la « normale »)
  • Et si on ne peut/veut pas la mesurer, cette référence, il faut savoir à partir de quelle différence entre deux conditions on peut dire « C’est mieux » ou « C’est sans effet »…
  • … donc pour cela, il va falloir connaître… la pente (si, si!!!) de cette courbe.

Avant de voir pourquoi la pente va nous renseigner sur le caractère significatif ou non d’un test, je vais partir de l’équation de base de cette courbe sigmoïde.

Croyez moi sur parole ou lisez l’annexe informatico-mathématique à la fin de ce billet, mais la courbe bleue a pour équation :

x est le RSB et y l’intelligibilité. a, b, c et d sont des coefficients qui ici (courbe bleue) sont respectivement -21, 99, 0,37 et -12,9.

99 est l’asymptote, le haut de la courbe, qui tend vers 100%. -12,9 est aussi appelé « xmid », qui est proche du 50% donc du SRT, soit -12,9dB de RSB pour 50% d’intelligibilité (mais en réalité, c’est exactement -12,5dB, si on prend la forme inverse de cette fonction).

Et la pente ? Mais avant : le SRT !

On s’aperçoit qu’utiliser des tests tous les jours nous fait oublier l’énorme boulot qu’il y a derrière, chez les concepteurs de ces tests (je parle de HörTech, Audyx, et les fabricants de chaînes de mesures). Tout nous apparaît comme par miracle, alors qu’il y a un gros boulot mathématique derrière. Mais un pilote n’a pas forcément besoin de savoir démonter son A380 vous me direz… et vous aurez raison. Donc nos logiciels nous calculent automatiquement ce SRT, voire plus.

J’en reviens de manière insistante à la pente. Pour la calculer, il faut d’abord calculer le SRT = le RSB à = 50% :

 


 

Et ici on obtient RSB = -12,5dB pour avoir 50% d’intelligibilité.

Ensuite (enfin !), la pente est donnée par la dérivée de la première fonction, en x = -12,6dB de RSB. Je vous passe les calculs de dérivé assez infâmes (mais vous les trouverez en annexe, grands fous !), mais sachez que cette pente, ici, est de 11,3% par dB de RSB.

Et on retrouve une pente quasi identique (14% pour la référence Framatrix, courbe rouge ici) dans cette thèse de Sofie Jansen.

Pente ? Oui ? Alors ?

Oui, la beauté de la chose ne saute pas forcément aux yeux…

La pente de la courbe bleue est assez proche de celle de la courbe rouge de HörTech, ce qui veut dire que l’on pourrait se dispenser de la calculer pour chaque cabine (ouf !).

Mais surtout, c’est avec la pente que l’on va pouvoir dire si une condition (appareillé/non appareillé, programme 1/programme 2, etc.) est significativement meilleure qu’une autre (à 95% de certitude). Et voilà où ce billet 3 rejoint le billet 2.

Voici pourquoi :

  • Si la pente varie d’environ 11,3% d’intelligibilité à chaque fois que le RSB varie de 1dB,
  • Et si vous vous souvenez bien, dans le billet 2, on avait calculé que pour le Framatrix, l’intervalle de confiance était compris entre 20 et 26% (10 à 13% autour du score),
  • Donc, si on prend l’intervalle de confiance le plus large (26%) : lorsque vous obtenez un SRT vous présumez qu’il est à 50% +/-13%. Donc pour être sûr que deux conditions de test sont significativement différentes il faut que le RSB ait varié de (13%)/(11,3%/dB RSB) = 1,2dB d’une condition à l’autre pour dire avec certitude « C’est significatif ! ».
  • Si on prend la pente donnée par HörTech (courbe rouge) pour le Framatrix, elle est de 14%/dB de RSB, donc le test aurait une sensibilité de 13/14 env. = 1dB.
  • Donc en gros, si vous faites des tests dans le bruit avec recherche automatique du SRT (ou SIN = Speech In Noise), c’est à partir de 1,2dB de RSB de différence que vous pourrez juger d’une amélioration dans le cas du Framatrix, si la pente est proche de la « normale » (c’est à dire entre 10 et 15%/dB de RSB).

Pour résumer

  • Avec le Framatrix (100 mots), une amélioration du RSB de 1,2dB peut commencer à être jugée comme étant significative. Et si voulez vraiment avoir une grande honnêteté intellectuelle (on ne se refait pas !), prenez 1,5dB et là, vous êtes certains. Pourquoi ?
  • Si par exemple vous avez un patient en grande difficulté d’intelligibilité, et que vous soupçonnez que la pente de ses résultats est faible (ex: 10%/dB RSB), n’hésitez pas à faire un test « SRT + pente » avec le Framatrix. En prenant la valeur de 1,5dB, vous balayez très large en certitude mathématique.
  • Et pour avoir une justification mathématique de ce 1,5dB de décalage plutôt que 1 ou 1,2dB, lisez la fin de ce billet sur les intervalles de confiance
  • Si vous faites un test « SRT + pente », pour connaître le décalage significatif entre deux conditions, faites le calcul 13/pente = xdB
  • Plus vous testez en conditions spatiales éloignées de voix et bruit à 0°, plus la pente de la courbe sera faible, c’est à dire plus proche de 10%/dB que de 15%/dB, car les conditions sont plus faciles et suppléance mentale et processus psychoacoustiques jouent mieux.
  • Avec moins de mots ou d’items testés, par exemple le HINT (20 phrases), il faufrait au moins 2,5dB de différence pour être décisifs…
  • … mais attention : la pente est-elle la même avec le HINT ? That is the question !
  • Ne faîtes jamais deux tests comparatifs directement sans entraînement. Laissez le maximum de chances au patient (et d’entraînement) : une liste d’entraînement, une liste de comptage condition A et une liste de comptage condition B (la plus défavorable en dernier pour maximiser ses chances) = 7min40s de test environ.
  • Oublions les valeurs absolues dans ce genre de tests, sauf à étalonner chaque cabine avec une cohorte de sujets normo-entendants.
  • Faîtes des tests dans le bruit, c’est génial ! Et ce sera une obligation légale avec le RACzéro (c’est connu, l’Etat bloque nos tarifs, mais nous demande de passer du temps et d’investir…)

Atelier informatique (cerveaux malades only)

C’est une manie chez moi, avec le logiciel statistique R. On a une cohorte de 20 sujets qui ont été testés, et que vous pouvez télécharger ici en format .txt. Vous allez renommer ce fichier « datafram3.txt ».

Liez et attachez ce fichier afin de créer une fonction de régression (d’ajustement aux points), dont vont être extraits les paramètres a, b, c et d (appelés « params » ici) :

norm<-read.table("datafram3.txt", header = T)
attach(norm)
x<-rsb
y<-intell
fitmodel <- nls(y ~ a + ((b - a)/(1 + exp(-c * (x - d)))), start = list(a = min(y), b = max(y), c = 1, d = round(median(x))), trace = TRUE)
params<-coef(fitmodel)
params

Tracer le graphe (avec courbe transparente, car je suis maniaque et je n’aime pas que la grille soit au-dessus de la courbe…), puis la courbe et les points :

plot(rsb, intell, xlim=c(-20, 10), col=rgb(0, 0, 0, alpha=0), xlab="RSB (dB)", ylab="Pourcentage d'intelligibilité (%)", las=1, main="Relation RSB/intelligibilité FRAMATRIX voix 0°/bruit 360° sujets normo-entendants")
grid()
cbe<-function(rsb) params[1] + ((params[2] - params[1])/(1 + exp(-params[3] * (rsb - params[4]))))
curve(cbe, col="blue", add=T, lwd=2)
points(rsb, intell)

Pour obtenir les l’intervalle entre les quantiles 2,5 et 97,5% (soit 95% des sujets testés) et tracer ces limites supérieures et inférieures (attention ça pique…) :

##recherche quantile 2,5%##
ic25<-c(quantile(intell[rsb==-17], probs=0.025), quantile(intell[rsb==-13], probs=0.025), quantile(intell[rsb==-10], probs=0.025), quantile(intell[rsb==-7], probs=0.025), quantile(intell[rsb==-4], probs=0.025), quantile(intell[rsb==-1], probs=0.025))
ic25

##crée un dataframe des quantiles 2,5%#
x25<-c(-17, -13, -10, -7, -4, -1)
df25<-data.frame(x=x25, y=ic25)
df25

##Régression logistique quantile 2,5%##
fitmodel25 <- nls(ic25 ~ a + ((b - a)/(1 + exp(-c * (x25 - d)))), start = list(a = min(x25), b = max(ic25), c = 1, d = round(median(x25))), trace = TRUE, df25)
params25<-coef(fitmodel25)

##courbe 2,5%##
cbe25<-function(x25) params25[1] + ((params25[2] - params25[1])/(1 + exp(-params25[3] * (x25 - params25[4]))))
curve(cbe25, from=-15.4, to=-1, col="blue", add=T, lty=2)

##recherche quantile 97,5%##
ic975<-c(quantile(intell[rsb==-17], probs=0.975), quantile(intell[rsb==-13], probs=0.975), quantile(intell[rsb==-10], probs=0.975), quantile(intell[rsb==-7], probs=0.975), quantile(intell[rsb==-4], probs=0.975), quantile(intell[rsb==-1], probs=0.975))
ic975

##crée un data frame des quantiles 97,5%##
x975<-c(-17, -13, -10, -7, -4, -1)
df975<-data.frame(x=x975, y=ic975)
df975

##regression logistique quantile 97,5%##
fitmodel975<-nls(ic975 ~ a + ((b - a)/(1 + exp(-c * (x975 - d)))), start = list(a = min(ic975), b = max(ic975), c = 1, d = round(median(x975))), trace = TRUE, df975)
coef(fitmodel975)
params975<-coef(fitmodel975)

##courbe 97,5%##
cbe975<-function(x975) params975[1] + ((params975[2] - params975[1])/(1 + exp(-params975[3] * (x975 - params975[4]))))
curve(cbe975, from=-17, to=-3, col="blue", add=T, lty=2)

##légende##
legend(x=0, y=20, legend=c("Quantile 2,5%", "Moyenne", "Quantile 97,5%"), lty=c(2, 1, 2), col=c("blue", "blue", "blue"), bty="n")

On peut en calculer le SRT à xdB par la fonction inverse :

## Pour calculer le SRT (50% intell à xdB) à partir de l'équation de la courbe##
SRTdB<-(log((50/(params[2]-50))-(params[1]/(params[2]-50)))+((params[3]*params[4]))/params[3])
SRTdB

Et également en calculer la pente par sa dérivée en x = SRT :

## calculer la pente en x = SRT##
pente<-(params[3]*(params[2]-params[1])*exp(-params[3]*(SRTdB-params[4])))/((exp(-params[3]*(SRTdB-params[4])))+1)^2
pente

Pour afficher ces résultats sur le graphe obtenu précédemment :

## affiche les valeurs de SRT et pente###
legend(-5, 55, legend = c(paste("SRT =", round(SRTdB, 1), "dB"), paste("Pente =",round(pente, 1), "%/dB RSB")), bty = "n")

Pour connaître la robustesse de l’ajustement de la courbe de régression au nuage de points (le fameux R²), on va extraire SCR et SCT, facteurs d’éloignement des points à la régression (voir ici pour plus de détails, même s’ils portent les noms de RSS et TSS) :

SCR <- sum(residuals(fitmodel)^2)
SCT <- sum((y - mean(y))^2)
R.carre <- 1 - (SCR/SCT)
R.carre

Pour afficher ce R² sur le graphique (qui est ici de 0,94 bravo !) :

text(-18, 90, as.expression(substitute(italic(R)^2==r, list(r=round(R.carre, 2)))))

 

Attention cependant, le SRT (approximé par le facteur xmid de la fonction de régression) possède lui aussi un intervalle de confiance. Pour le calculer, vous pouvez utiliser la fonction suivante (confint) :

conf<-confint(fitmodel)
conf

Et R vous dira que xmid (en gros, le SRT) est compris avec 95% de certitude (ou 5% d’incertitude…) dans un intervalle de [-14,84 <—> -12,15dB de RSB]. Et cet intervalle de confiance ne doit pas croiser celui du score d’intelligibilité (qui est de +/- 10 à 13% autour du score). D’où la marge de 1,5dB entre deux tests pour être certain que deux conditions sont significativement différentes.

Voilà. Merci de m’avoir supporté tout au long de ces trois billets, où j’ai tenté de me persuader, et peut être vous aussi, que l’audiométrie vocale, ce n’était pas du « clic bouton », que les tests avaient leur importance et qu’il faudrait en bannir certains, et que l’audiométrie dans le bruit n’est pas un gadget mais qu’elle obéit à des règles strictes. Bref : que tout est mesurable, comparable, à condition de respecter certaines règles.

 

BONNES VACANCES SINON !! Et à la rentrée pour de nouvelles aventures !

 

 

 

Merci à Isabeau pour son décrassage mathématique 😉

Comments (2)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Bienvenu

Bienvenu chez Blog-Audioprothesiste.fr !

Qui Sommes nous ?

Contactez nous !

Je contacte Sébastien
Je contacte Xavier
Je contacte Jean Michel