Test statystyczny do porównania precyzji dwóch urządzeń


10

Porównuję dwa urządzenia do kontroli temperatury, oba zaprojektowane w celu utrzymania temperatury ciała dokładnie 37 stopni u znieczulonych pacjentów. Urządzenia dopasowano do 500 pacjentów tworzących dwie grupy. Grupa A (400 pacjentów) - urządzenie 1, grupa B (100 pacjentów) - urządzenie 2. Każdy pacjent mierzył swoją temperaturę raz na godzinę przez 36 godzin, co dało mi 18000 punktów danych w dwóch grupach. Muszę ustalić, które urządzenie bardziej precyzyjnie kontroluje temperaturę ciała pacjenta w okresie 36 godzin. Skonstruowałem wykresy liniowe łączące wartości środkowe w każdym punkcie czasowym z słupkami kwartylowymi i wizualnie wydaje się, że jest różnica. Jak powinienem analizować moje dane, aby udowodnić różnicę statystyczną?


Czy dzieliłeś pacjentów między urządzeniami? Jeśli tego nie zrobiłeś, musisz dodatkowo założyć, że pacjenci w dwóch grupach są podobni w szerokim znaczeniu.
Aksakal

Co z modelem mieszanych efektów? Standardowe błędy dla każdego poziomu (grupy A / B) w pewnym sensie powiedzą ci, jak dokładne są pomiary. Możesz uwzględnić szeregi czasowe i pacjentów.
Roman Luštrik

Odpowiedzi:


2

o

Kiedy formułujesz tego rodzaju miary, domyślnie przyjmujesz „funkcję karną”, która karze temperatury, które odbiegają od pożądanej temperatury. Jedną z opcji byłoby zmierzenie „precyzji” przez niższą wariancję wokół pożądanej temperatury (traktując to jako stałą średnią do obliczenia wariancji). Wariancja karana jest przez błąd kwadratu, co daje rozsądną karę za duże odchylenia. Inną opcją byłoby bardziej dotkliwe ukaranie (np. Błąd w kostkach). Inną opcją byłoby po prostu zmierzenie czasu, w jakim każde urządzenie ma pacjenta poza zakresem temperatur, który jest bezpieczny z medycznego punktu widzenia. W każdym razie cokolwiek wybierzesz, powinno odzwierciedlać postrzegane niebezpieczeństwa odchylenia od pożądanej temperatury.

Po ustaleniu, co stanowi miarę „dobrej precyzji”, sformułujesz coś w rodzaju „testu heteroscedastyczności”, sformułowanego w szerszym znaczeniu, pozwalając na użycie jakiejkolwiek miary precyzji, której używasz. Nie jestem pewien, czy zgadzam się z komentarzem Whubera dotyczącym dostosowania do autokorelacji. To naprawdę zależy od tego, jak sformułujesz stratę - w końcu przebywanie w wysokim zakresie temperatur przez dłuższy czas może być najbardziej niebezpieczne, więc jeśli wrócisz do autokorelacji, możesz skończyć nie udało się wystarczająco ukarać wysoce niebezpiecznych wyników.


0

To jest test homoscedastyczności. A ponieważ jest to szereg czasowy, właściwym wyborem jest test Breuscha-Pagana , a nie test F. Ten test odpowiada TYLKO na pytanie o równości precyzji między dwoma urządzeniami. Poziom precyzji jest innym sposobem myślenia o wariancji.

[Edytuj: Zmieniłem test na poprawny, biorąc pod uwagę zależność czasową]


3
To podejście jest rozsądne. Ale dlaczego nie osiągnąć obu celów bezpośrednio, porównując dyspersje wokół temperatury docelowej, a nie wariancje (które mierzą tylko dyspersje wokół średnich temperatur)? Jedna ważna kwestia do sprawdzenia w pierwszej kolejności dotyczy korelacji szeregowej: jeśli jest wysoka, należy wprowadzić pewną korektę (na przykład zmniejszyć stopnie swobody w testach). Inna kwestia dotyczy straty : funkcja straty prawdopodobnie nie jest kwadratowa. Być może ludzie łatwo tolerują niewielkie wahania, ale występowanie dużych wahań może zaszkodzić. Należy to zbadać.
whuber

@ whuber Jeśli chodzi o porównywanie wokół docelowej temp., gdybym to był ja, właśnie tak bym zrobił. OP właśnie zadał pytanie o wariancję, więc niezależnie od naszych skłonności musimy zająć się tym bezpośrednio, tak? :)
Gary Chung,

2
Problemem dla testu F nie będzie normalność, prawdopodobnie będzie to niezależność. To są szeregi czasowe.
Glen_b

@Glen_b Nie mogę uwierzyć, że przegapiłem ten punkt. Dziękuję za złapanie tego. Edytowane.
Gary Chung,

9
Z poważaniem, nie: różnica między tą stroną a, powiedzmy, stroną matematyczną polega na tym, że znaczna część odpowiedzi na pytanie statystyczne obejmuje pomoc OP w sformułowaniu jej zgodnie z zamierzeniami. Dość często poprawne odpowiedzi na pierwotnie zadane pytania są mniej niż pomocne lub nawet mylące. Naszym pierwszym zadaniem jako aktywnych czytelników i potencjalnych respondentów jest upewnienie się, że interpretujemy pytanie w pomocny i odpowiedni sposób oraz udzielenie odpowiedzi, które najlepiej odpowiadają celom PO. Użyj komentarza do pytania, aby zadać wyjaśnienia i zweryfikować swoją interpretację.
whuber

0

Jeśli jesteś zainteresowany tym, jak dobrze urządzenia utrzymują temperaturę 37 ° C, możesz:

  1. Wykorzystaj wszystkie dostępne dane od każdej osoby, takie jak jest lub
  2. Oszacuj średnie odchylenie na osobę od 37 ° C, korzystając z 36 prób każdej osoby.

Dane naturalnie nadają się do leczenia z powtarzanymi pomiarami. Traktując próby osobiste jako klastry, zmniejszysz prawdopodobieństwo fałszywie oszacowanego przedziału ufności wokół efektu urządzenia. Ponadto można przetestować wpływ czasu między obydwoma urządzeniami lub interakcję z urządzeniem, aby ustalić, czy utrzymanie temperatury w czasie było dobre. Znalezienie sposobu na wizualizację tego wszystkiego ma kluczowe znaczenie i może sugerować jedno podejście nad drugim. Coś w stylu:

library(dplyr)
library(lme4)

set.seed(42)
id <- rep(1:500, each=36)
time <- rep(1:36,500)
temp <- c(rnorm(36*400, 38,0.5), rnorm(36*100,37.25,0.5))
temp <- temp + 1/time

prox_37 <- temp - 37
group <- c(rep("A",36*400), rep("B",36*100))
graph_t <- ifelse(group=="A", time-0.25, time+0.25)
df <- data.frame(id,time,temp,prox_37,group, graph_t)

id_means <- group_by(df, id) %>% summarize(mean_37 = mean(prox_37))
id_means$group <- c(rep("A",400), rep("B",100))

boxplot(id_means$mean_37 ~ id_means$group)

plot(graph_t, prox_37, col=as.factor(group))
loess_fit <- loess(prox_37 ~ time, data = df)
lines(c(1:36), predict(loess_fit, newdata= c(1:36)) , col = "blue")

summary(t.test(mean_37 ~group, data=id_means))

model1 <- glm(prox_37 ~ as.factor(group), family = "gaussian", data=df)
model2 <- lmer(prox_37 ~ as.factor(group) + (1 | id), data=df)
model3 <- lmer(prox_37 ~ as.factor(group) + time + (1 | id), data=df)
model4 <- lmer(prox_37 ~ as.factor(group) + time + time*as.factor(group) + (1 | id), data=df)

AIC(model1)
summary(model2)
summary(model3)
summary(model4)

wprowadź opis zdjęcia tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.