Как рассчитать коэффициент внутриклассовой корреляции в python


Коэффициент внутриклассовой корреляции (ICC) используется для определения того, могут ли элементы или темы быть надежно оценены разными экспертами.

Значение ICC может варьироваться от 0 до 1, где 0 указывает на отсутствие надежности среди оценщиков, а 1 указывает на идеальную надежность.

Самый простой способ рассчитать ICC в Python — использовать функцию penguin.intraclass_corr() из пакета статистики penguin , которая использует следующий синтаксис:

pengouin.intraclass_corr(данные, цели, оценщики, оценки)

Золото:

  • данные: имя фрейма данных.
  • цели: название столбца, содержащего «цели» (вещи, которые следует отметить).
  • рецензенты: название столбца, содержащего рецензентов.
  • примечания: имя столбца, содержащего примечания.

В этом руководстве представлен практический пример использования этой функции.

Шаг 1: Установите Пингвин

Прежде всего вам необходимо установить Penguin:

 pip install penguin

Шаг 2. Создайте данные

Предположим, четырех разных судей просят оценить качество шести разных вступительных экзаменов в колледж. Мы можем создать следующий фрейм данных для хранения оценок судей:

 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

Шаг 3: Рассчитайте коэффициент внутриклассовой корреляции

Далее мы будем использовать следующий код для расчета коэффициента внутриклассовой корреляции:

 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]

Эта функция возвращает следующие результаты:

  • Описание: Тип рассчитываемого ICC
  • ICC: коэффициент внутриклассовой корреляции (ICC).
  • F: значение F ICC
  • df1, df2: степени свободы, связанные со значением F
  • pval: значение p, связанное со значением F.
  • CI95%: доверительный интервал 95% для ICC.

Обратите внимание, что здесь рассчитываются шесть различных ICC. Действительно, существует несколько способов расчета ICC, основанных на следующих предположениях:

  • Модель: односторонние случайные эффекты, двусторонние случайные эффекты или двусторонние смешанные эффекты.
  • Тип отношений: последовательность или абсолютное согласие.
  • Единица измерения: один оценщик или среднее значение оценщиков.

Подробное объяснение этих предположений можно найти в этой статье .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *