Calculer un intervalle de confiance d'un test Kappa de Cohen

Aller en bas

Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par lauriep le Ven 27 Avr 2018 - 7:24

Bonjour, je souhaite calculer un intervalle de confiance d'un test kappa de Cohen sur R. J'utilise le package "psy" et la fonction "ckappa" pour calculer le kappa.
Voici le programme R que j'utilise :
menton = read.table("clipboard", header =T, sep = "\t")
menton
library(psy)
ckappa(menton[,c(1,3)])
L'aide de R pour calculer l'intervalle de confiance de ce test indique :
#to obtain a 95%confidence interval:
#library(boot)
#ckappa.boot <- function(data,x) {ckappa(data[x,])[[2]]}
#res <- boot(expsy[,c(12,14)],ckappa.boot,1000)
#quantile(res$t,c(0.025,0.975)) # two-sided bootstrapped confidence interval of kappa
#boot.ci(res,type="bca") # adjusted bootstrap percentile (BCa) confidence interval (better)
#ckappa(expsy[,c(11,13)]) # Cohen's kappa for non binary diagnosis

Cependant je ne comprend pas la ligne du "ckappa.boot". Je pensais écrire : "ckappa.boot = ckappa(menton[x,])" sauf que je ne sais pas à quoi correspond le "x" de l'aide.
Pourriez vous m'indiquer comment faire pour calculer cet intervalle.
Je vous remercie d'avance pour votre réponse

lauriep

Nombre de messages : 4
Date d'inscription : 27/04/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par AdrienC le Ven 27 Avr 2018 - 12:15

Salut, en fait tu vas faire plusieurs bootstraps de ton échantillon de base (échantillonnage avec remise, ou un sous échantillonnage sans remise).
Appelons les B*1 , B*2 .... B*1000 (on va dire 1000).

Puis ensuite tu vas estimer le Kappa de Cohen sur chacun de ces échantillons B*1 .... donc tu vas obtenir 1000 Kappa de Cohen que l'on note K*1, K*2 .... . Ensuite pour essayer d'avoir un Kappa de Cohen non biaisé (du moins on l'espère). Tu fais la moyenne de tous ces Kappa ce qui va te donner K** (l'estimateur final du Kappa de Cohen).

L'avantage de ce genre de technique bootstrap, c'est qu'elle te permet de calculer l'écart type de ton estimateur K** très facilement, c'est juste la racine carré de (1000-1) fois la somme (de b allant de  1 à 1000) de (K*(b)-K**)².


Tu peux retrouver ce que je viens de dire sur Wikipédia par exemple (remplace le théta par Kappa de Cohen).

Tu as ton estimateur de l'écart type et l'intervalle de confiance du vrai Kappa de Cohen appartient à l'intervalle [K** +- 1.96*sd(K**)].

C'est exactement ce que tu as fait. Le fameux "x" c'est juste pour indiquer la variable dans ta fonction ckappa.boot.



Je connais bien cette mesure car je l'ai utilisée récemment. Calculer des intervalles de confiance de ce genre de statistique peut être compliqué (d'un point de vue statistique). En passant par le bootstrap tu peux te calculer un IC très facilement. On aurait pu estimer ce genre d'IC pour une p-value, une autre statistique, pour un coefficient beta d'une régression linéaire.

En fait ça sert vraiment à tout. Le bootstrap c'est vraiment génial car tu ne fais aucune hypothèse sur les données et tu obtiens des IC juste avec les données brutes !
avatar
AdrienC

Nombre de messages : 60
Date d'inscription : 15/03/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par Eric Wajnberg le Ven 27 Avr 2018 - 15:15

lauriep a écrit:Cependant je ne comprend pas la ligne du "ckappa.boot". Je pensais écrire : "ckappa.boot = ckappa(menton[x,])" sauf que je ne sais pas à quoi correspond le "x" de l'aide.
La ligne en question définie dans R une fonction. Ce n'est pas un objet comme un autre. Notamment, c'est un objet qui accepte ce qu'on appelle des arguments. "x", par exemple, dans ce cas. Ensuite, chaque fois que cette fonction sera appelée (et elle est appelée plein de fois dans la ligne juste après par la fonction boot()), x prendra une valeur différente, et c'est ainsi que le bootstrap pourra fonctionner. Si on écrivait directement "ckappa.boot = ckappa(menton[x,])", comme vous le proposez, ca serait toujours l'objet "x" (qui peut ne correspondre à rien) qui sera invoqué, et ca serait alors toujours le même calcul qui serait fait, ce qui ne rimerait à rien.

Je pense que votre problème est que vous ne connaissez pas trop R, et notamment pas comment on écrit/défini des fonctions. Je vous conseille de lire de la documentation (des tutoriels) sur R avant de vous lancer dans l'usage de code R que vous pouvez trouver à droite et à gauche. Ceci me semble indispensable.

Cordialement, Eric.
avatar
Eric Wajnberg

Nombre de messages : 917
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par lauriep le Lun 30 Avr 2018 - 8:59

Bonjour,
Je vous remercie d'avoir répondu à mes questions. En effet, je suis novice dans le logiciel R que je n'utilise que depuis quelques temps.
Mon jeux de données ressemble à cela :

OBSA OBSABIS OBSB



lauriep

Nombre de messages : 4
Date d'inscription : 27/04/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par lauriep le Lun 30 Avr 2018 - 9:06

OBSA OBSABIS OBSB OBSBBIS
1 0 1 0
1 0 1 1
1 0 1 0
1 0 1 0
1 0 1 1
0 1 1 1
1 1 0 0
0 0 0 0

(Je n'ai pas mis toutes les lignes, j'ai 59 lignes en tout)
Le logiciel R indique que j'ai 4 variables. Je voulais donc écrire dans mon code:
menton = read.table("clipboard", header =T, sep = "\t")
library(psy)
library(boot)
ckappa.boot = ckappa(menton[menton$OBSA,menton$OBSB,])
res = boot(menton[,c(1,3)],ckappa.boot,R = 1000)

Cependant le logiciel R m'indique un message d'erreur, "Error in statistic(data, original, ...) : could not find function "statistic" ". Je comprend donc que dans la fonction boot, le logiciel ne considère pas "ckappa.boot" comme une fonction statistique. Est-ce que cela vient du fait que les variables que je lui ai indiqué ne soient pas les bonnes variables?

Cordialement

lauriep

Nombre de messages : 4
Date d'inscription : 27/04/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par Eric Wajnberg le Lun 30 Avr 2018 - 11:58

lauriep a écrit:ckappa.boot = ckappa(menton[menton$OBSA,menton$OBSB,])
Cette ligne n'a pas de sens pour moi. Les crochets "[" et "]" veulent dire que vous voulez accéder à des éléments de votre tableau avec des indices, mais, par exemple menton[,,] signifie que vous considérez que l'objet menton à trois dimensions alors qu'il n'y en a que deux, etc.

Je ne sais comment vous aider. Il faut (comme je l'ai déjà dit ici) que vous appreniez d'avantage les bases de R, sans quoi vous ne pourrez pas vous en sortir.

HTH, Eric.
avatar
Eric Wajnberg

Nombre de messages : 917
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par lauriep le Jeu 3 Mai 2018 - 7:55

Bonjour,
Je vous remercie quand même d'avoir répondu à mon post et de m'avoir donné des explications et des indications sur la fonction boot.
Je pense avoir trouvé la solution à mon problème d'intervalle de confiance.

Cordialement.
Laurie

lauriep

Nombre de messages : 4
Date d'inscription : 27/04/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Calculer un intervalle de confiance d'un test Kappa de Cohen

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum