Mam wielu niezależnych programistów, którzy próbują zidentyfikować zdarzenia w szeregu czasowym - w tym przypadku oglądam wideo rozmowy twarzą w twarz i szukam określonych zachowań niewerbalnych (np. Skinienie głową) oraz kodują czas i kategorię każdego z nich zdarzenie. Dane te można rozsądnie potraktować jako szereg dyskretny w czasie o wysokiej częstotliwości próbkowania (30 klatek / sekundę) lub jako szereg ciągły w czasie, w zależności od tego, który z nich jest łatwiejszy do pracy.
Chciałbym obliczyć pewną miarę niezawodności między oceniającymi, ale spodziewam się pewnej niepewności w momencie wystąpienia zdarzeń; to znaczy, spodziewam się, że jeden programista może na przykład zakodować, że określony ruch rozpoczął się kwadrans później niż inni sądzili, że się zaczął. Są to rzadkie zdarzenia, jeśli to pomaga; zazwyczaj co najmniej kilka sekund (setki klatek wideo) między zdarzeniami.
Czy istnieje dobry sposób oceny wiarygodności między oceniającymi, który uwzględnia oba rodzaje porozumienia i nieporozumienia: (1) czy oceniający zgadzają się co do tego, jakie zdarzenie miało miejsce (jeśli występuje), oraz (2) czy zgadzają się, kiedy to miało miejsce? Druga jest dla mnie ważna, ponieważ jestem zainteresowany spojrzeniem na czas tych wydarzeń w stosunku do innych rzeczy zachodzących w rozmowie, takich jak to, co mówią ludzie.
Standardową praktyką w mojej dziedzinie wydaje się być dzielenie rzeczy na przedziały czasowe, powiedzmy 1/4 sekundy lub więcej, agregowanie zdarzeń zgłaszanych przez każdy koder na odcinek czasu, a następnie obliczanie kappa Cohena lub podobnej miary. Ale wybór czasu cięcia jest doraźny i nie mam pojęcia o niepewności w czasie wydarzeń.
Jak dotąd najlepiej mi się wydaje, że mogę obliczyć krzywą niezawodności; coś w rodzaju kappa w zależności od wielkości okna, w którym uważam dwa zdarzenia za zakodowane w tym samym czasie. Jednak nie jestem pewien, dokąd się udać ...
Odpowiedzi:
Oto kilka sposobów myślenia.
1
A) Możesz traktować każdą pełną sekwencję kodowania jako uporządkowany zestaw zdarzeń (tj. [„Skinienie głową”, „potrząsanie głową”, „skinienie głową”, „uniesienie brwi”] i [„skinienie głową”, „potrząsanie głową” , „brew uniesiona”]), a następnie wyrównaj sekwencje za pomocą algorytmu, który ma dla ciebie sens ( http://en.wikipedia.org/wiki/Sequence_alignment ). Następnie można obliczyć niezawodność między koderami dla całej sekwencji.
B) Następnie, ponownie stosując wyrównane sekwencje, możesz porównać, kiedy powiedziano, że wydarzenie miało miejsce, biorąc pod uwagę, że obaj obserwowali to zdarzenie.
2) Alternatywnie, możesz zamodelować ten model jako Ukryty Model Markowa i użyć czegoś takiego jak algorytm Baumna-Welcha, aby przypisać prawdopodobieństwa, że przy pewnych faktycznych zdarzeniach każdy koder rzeczywiście poprawnie kodował dane. http://en.wikipedia.org/wiki/Baum-Welch_algorithm
źródło
Zamiast dzielenia danych na dowolne części, można wziąć pod uwagę rzeczywiste różnice czasowe. Koder 1 zgłasza czas i działanie:
Prostym sposobem sprawdzenia, który koder jest najbardziej niezawodny według innych koderów, jest nadanie mu takiej oceny:
Jeśli bliskość jest dla Ciebie ważna, rozważ takie alternatywy:
Przy wszystkich dostępnych informacjach o problemach wdrożenie tego pomysłu w praktyczny sposób nie powinno być trudne.
źródło