Como calcular o coeficiente de correlação intraclasse em python


Um coeficiente de correlação intraclasse (ICC) é usado para determinar se itens ou tópicos podem ser avaliados de forma confiável por diferentes avaliadores.

O valor de um ICC pode variar de 0 a 1, sendo que 0 indica nenhuma confiabilidade entre os avaliadores e 1 indica confiabilidade perfeita.

A maneira mais fácil de calcular o ICC em Python é usar a função penguin.intraclass_corr() do pacote de estatísticas penguin , que usa a seguinte sintaxe:

pengouin.intraclass_corr(dados, alvos, avaliadores, notas)

Ouro:

  • dados: o nome do quadro de dados
  • alvos: Nome da coluna que contém os “alvos” (coisas sendo anotadas)
  • revisores: nome da coluna que contém os revisores
  • notas: Nome da coluna que contém as notas

Este tutorial fornece um exemplo prático de uso desse recurso.

Passo 1: Instale o Pinguim

Primeiro de tudo, você precisa instalar o Penguin:

 pip install penguin

Etapa 2: crie os dados

Suponha que quatro juízes diferentes sejam solicitados a avaliar a qualidade de seis vestibulares diferentes. Podemos criar o seguinte dataframe para armazenar as pontuações dos juízes:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' exam ': [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6,
                            1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6],
                   ' judge ': ['A', 'A', 'A', 'A', 'A', 'A',
                             'B', 'B', 'B', 'B', 'B', 'B',
                             'C', 'C', 'C', 'C', 'C', 'C',
                             'D', 'D', 'D', 'D', 'D', 'D'],
                   ' rating ': [1, 1, 3, 6, 6, 7, 2, 3, 8, 4, 5, 5,
                              0, 4, 1, 5, 5, 6, 1, 2, 3, 3, 6, 4]})

#view first five rows of DataFrame
df. head ()

	exam judge rating
0 1 A 1
1 2 A 1
2 3 A 3
3 4 To 6
4 5 A 6

Passo 3: Calcular o coeficiente de correlação intraclasse

A seguir, usaremos o seguinte código para calcular o coeficiente de correlação intraclasse:

 import penguin as pg

icc = pg. intraclass_corr (data=df, targets=' exam ', raters=' judge ', ratings=' rating ')

icc. set_index (' Type ')

        Description ICC F df1 df2 pval CI95%
Kind							
ICC1 Single raters absolute 0.505252 5.084916 5 18 0.004430 [0.11, 0.89]
ICC2 Single random raters 0.503054 4.909385 5 15 0.007352 [0.1, 0.89]
ICC3 Single fixed raters 0.494272 4.909385 5 15 0.007352 [0.09, 0.88]
ICC1k Average raters absolute 0.803340 5.084916 5 18 0.004430 [0.33, 0.97]
ICC2k Average random raters 0.801947 4.909385 5 15 0.007352 [0.31, 0.97]
ICC3k Average fixed raters 0.796309 4.909385 5 15 0.007352 [0.27, 0.97]

Esta função retorna os seguintes resultados:

  • Descrição: O tipo de ICC calculado
  • ICC: O coeficiente de correlação intraclasse (ICC)
  • F: O valor F do ICC
  • df1, df2: os graus de liberdade associados ao valor F
  • pval: O valor p associado ao valor F
  • IC95%: intervalo de confiança de 95% para o ICC

Observe que existem seis ICCs diferentes calculados aqui. Na verdade, existem várias formas de calcular o ICC com base nos seguintes pressupostos:

  • Modelo: efeitos aleatórios unidirecionais, efeitos aleatórios bidirecionais ou efeitos mistos bidirecionais
  • Tipo de relacionamento: consistência ou acordo absoluto
  • Unidade: avaliador único ou média de avaliadores

Para obter uma explicação detalhada dessas suposições, consulte este artigo .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *