比较两种设备精度的统计测试

机器算法验证 统计学意义 重复测量 方差
2022-03-30 00:11:54

我正在比较两种温度控制装置,它们都旨在将麻醉患者的体温保持在 37 度。这些设备被安装到分成两组的 500 名患者身上。A 组(400 名患者)- 设备 1,B 组(100 名患者)- 设备 2。每个患者每小时测量一次体温,持续 36 小时,在两组中为我提供了 18000 个数据点。我需要确定在 36 小时内更精确地控制患者体温的设备。我已经构建了将每个时间点的中值与四分位条连接起来的折线图,并且在视觉上似乎存在差异。我应该如何分析我的数据以证明统计差异?

3个回答

您需要考虑的第一件事是(定量地)在这样的设备中具有“良好的精度”意味着什么。我建议,在医学背景下,目标是避免温度偏差进入患者的危险范围,因此“良好的精度”可能会转化为避免危险的低温或高温。这意味着您将要寻找一个指标,该指标会严重惩罚与您的最佳温度 37 C 的较大偏差。鉴于此,基于中值温度波动的测量将是一个不好的测量精度,而突出大偏差的度量会更好。o

当你制定这种度量标准时,你隐含地采用了一个“惩罚函数”来惩罚偏离你想要的温度的温度。一种选择是通过围绕所需温度的较低方差来测量“精度”(将其视为方差计算的固定平均值)。方差以平方误差为代价,因此对高偏差进行了合理的惩罚。另一种选择是更严厉地惩罚(例如,立方误差)。另一种选择是简单地测量每个设备使患者处于医学安全温度范围之外的时间量。在任何情况下,无论您选择什么都应该反映偏离所需温度的感知危险。

一旦确定了“良好精度”指标的构成要素,您将制定某种“异方差检验”,在更广泛的意义上制定,允许您使用任何精度度量。我不确定我是否同意 whuber 关于调整自相关的评论。这真的取决于你对损失的表述——毕竟,长时间保持在高温范围内可能正是最危险的事情,所以如果你重新调整以考虑自相关,你可能会结束未能充分惩罚高度危险的结果。

这是对同方差性的检验。因为这是一个时间序列,所以合适的选择是Breusch-Pagan检验,而不是 F 检验。该测试仅回答两个设备之间精度相等的问题。精度水平是考虑方差的另一种方式。

[编辑:考虑到时间依赖性,将测试更改为正确的测试]

如果您对设备保持 37C 温度的程度感兴趣,您可以:

  1. 按原样使用每个人的所有可用数据或
  2. 使用每个人的 36 次试验估计每人与 37C 的平均偏差。

数据自然适用于重复测量处理。通过将个人试验视为集群,您将减少围绕设备效果错误估计置信区间的可能性。此外,您可以测试两个设备之间的时间影响,或作为与设备的交互来确定随时间保持温度是否良好。找到一种将所有这些可视化的方法至关重要,并且可能会建议一种方法而不是另一种方法。类似于以下内容:

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)

在此处输入图像描述