У меня есть несколько независимых кодеров, которые пытаются идентифицировать события во временном ряду - в этом случае я смотрю видео разговора лицом к лицу и ищу конкретные невербальные поведения (например, кивает головой) и кодирует время и категорию каждого событие. Эти данные целесообразно обрабатывать как ряды с дискретным временем с высокой частотой дискретизации (30 кадров в секунду) или как ряды с непрерывным временем, с чем проще работать.
Я хотел бы вычислить некоторую меру надежности между оценщиками, но я ожидаю, что будет некоторая неопределенность в том, когда произошли события; то есть, я ожидаю, что один кодер может, например, кодировать, что конкретное движение началось на четверть секунды позже, чем другие кодеры думали, что оно началось. Это редкие события, если это помогает; обычно не менее нескольких секунд (сотни видеокадров) между событиями.
Есть ли хороший способ оценки надежности между оценщиками, который рассматривает оба этих типа соглашения и разногласия: (1) согласны ли эксперты по поводу того, какое событие произошло (если есть), и (2) они согласны с тем, когда оно произошло? Второе важно для меня, потому что мне интересно посмотреть на время этих событий относительно других вещей, происходящих в разговоре, например, что говорят люди.
Стандартная практика в моей области, кажется, состоит в том, чтобы разделить вещи на временные интервалы, скажем, 1/4 секунды или около того, агрегировать события, о которых каждый кодер сообщил за интервал времени, а затем вычислить каппу Коэна или некоторую похожую меру. Но выбор длительности среза является специальным, и я не могу понять, что неопределенность во времени событий.
Лучшая мысль, которую я имею до сих пор, - это то, что я могу вычислить некоторую кривую надежности; что-то вроде каппа в зависимости от размера окна, в котором я считаю, что два события кодируются одновременно. Я не совсем уверен, куда идти оттуда, хотя ...
Ответы:
Вот несколько способов подумать.
1
A) Вы можете рассматривать каждую полную последовательность кодировок как упорядоченный набор событий (например, ["кивок головы", "тряска головы", "кивок головы"] и ["кивок головы", "тряска головы" , "брови подняты"]), затем выровняйте последовательности, используя понятный вам алгоритм ( http://en.wikipedia.org/wiki/Sequence_alignment ). Затем вы можете рассчитать надежность межкодерного кодирования для всей последовательности.
Б) Затем, снова используя выровненные последовательности, вы можете сравнить, когда они сказали, что произошло событие, учитывая, что они оба наблюдали событие.
2) С другой стороны, вы можете смоделировать это как скрытую марковскую модель и использовать что-то вроде алгоритма Баумна-Уэлча, чтобы рассчитать вероятности того, что при некотором фактическом событии каждый кодер действительно закодировал данные правильно. http://en.wikipedia.org/wiki/Baum-Welch_algorithm
источник
Вместо того, чтобы разбивать данные на произвольные части, вы могли бы учитывать фактические различия во времени. Кодер 1 сообщает время и действие:
Простой способ определить, какой кодер является наиболее надежным по сравнению с другими кодировщиками, - дать ему оценку следующим образом:
Если для вас важна близость, рассмотрите альтернативы, подобные этим:
Имея всю доступную информацию о проблемах, не составит труда реализовать эту идею на практике.
источник