Статистика

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

В: Статистика

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

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

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

pingouin.intraclass_corr(data, targets, raters, ratings)

где:

  • data: имя датафрейма
  • targets: имя столбца, содержащего targets (оцениваемые вещи)
  • raters: название столбца, содержащего оценщиков
  • ratings: Название столбца, содержащего рейтинги

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

Шаг 1. Установите Pingouin

Во-первых, мы должны установить Pingouin:

pip install pingouin

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

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

import pandas as pd

#создайте DataFrame
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	A	6
#4	5	A	6

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

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

import pingouin 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%
Type							
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]

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

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

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

  • Model: Односторонние случайные эффекты, Двусторонние случайные эффекты или Двусторонние смешанные эффекты
  • Type of Relationship: Последовательность или абсолютное согласие
  • Unit: Один оценщик или среднее значение оценщиков
Еще от кодкамп
Статистика

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

Коэффициент внутриклассовой корреляции (ICC или intraclass correlation coefficient) используется, чтобы определить, могут ли предметы или предметы быть надежно оценены разными
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.