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


10

我正在比较两种温度控制设备,它们均设计用于将麻醉患者的体温保持在恰好37度。该设备适合500名患者,分为两组。A组(400例患者)-设备1,B组(100例患者)-设备2。每位患者每小时测量一次体温,持续36小时,为我提供了两组的18000个数据点。我需要确定在36小时内哪种设备可以更精确地控制患者的体温。我已经构造了折线图,将每个时间点的中位数与四分位数条连接起来,在视觉上似乎有所不同。我应该如何分析我的数据以证明统计差异?


您是否在设备之间共享患者?如果您不这样做,则必须另外假设两组患者在广义上是相似的
阿克萨卡(Aksakal)

混合效应模型呢?从某种意义上讲,每个级别(A / B组)的标准误差将告诉您测量的精确度。您可以考虑时间序列和患者。
RomanLuštrik'14

Answers:


2

您需要考虑的第一件事是(量化)在这种设备中具有“良好的精度”的含义。我建议,在医学方面,目标是避免温度偏差进入对患者而言危险的范围,因此“良好的精度”可能会转化为避免危险的低温或高温。这意味着您将要寻找一种指标,该指标会严重不利于偏离您的最佳温度37 C的较大偏差。因此,基于中值温度波动的测量将是对精度,而突出较大偏差的度量会更好。Ø

在制定这种度量标准时,您隐含地采用了“惩罚函数”,该函数会对偏离所需温度的温度进行惩罚。一种选择是通过在所需温度附近的较低方差来测量“精度”(将其作为方差计算的固定平均值)。方差由平方误差惩罚,因此对于高偏差给出合理的惩罚。另一种选择是加大处罚力度(例如,立方误差)。另一种选择是简单地测量每个设备使患者处于医疗安全温度范围之外的时间。在任何情况下,无论选择什么,都应反映出偏离所需温度的危险。

一旦确定了什么构成“良好精度”的度量标准,就将制定某种“异方差测试”,从更广泛的意义上讲,可以允许您使用任何精度的度量。我不确定我是否同意胡布关于调整自相关的评论。这实际上取决于损耗的公式-毕竟,长时间处于高温范围内可能是最危险的事情,因此,如果您调整回去考虑自相关,则可能会结束未能充分惩罚高度危险的结果。


0

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

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


3
这种方法是合理的。但是,为什么不通过比较目标温度附近的离散而不是方差(仅测量平均温度附近的离散)来直接实现两个目标呢?首先要检查的一个重要问题是串行相关性:如果串行相关性很高,则需要进行一些校正(例如降低测试的自由度)。另一个问题涉及损失:损失函数可能不是二次函数。也许人们可以轻易容忍小波动,但是大波动的发生可能会造成伤害。应该对此进行探讨。
ub

@whuber关于比较目标温度,如果是我,那正是我会做的。OP只是问了方差问题,所以无论我们的意愿如何,我们都必须直接解决这个问题,是吗?:)
加里·钟

2
F检验的问题不是正常现象,很可能是独立性。这些是时间序列。
Glen_b-恢复莫妮卡2014年

@Glen_b不敢相信我错过了这一点。感谢您抓住这一点。编辑。
加里·钟

9
相对而言,不是:此站点与Math站点之间的区别在于,回答统计问题的很大一部分涉及帮助OP按预期的方式进行构建。通常,这里最初提出的问题的正确答案没有帮助甚至是误导。因此,作为活跃的读者和潜在的答复者,我们的首要任务是确定我们正在以有用和适当的方式解释问题,并提供最能解决OP目标的答案。使用对问题的注释来提出澄清问题并验证您的解释。
ub

0

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

  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)

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.