我有一个如下所示的数据框:
days <- c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7)
values <- c(3,4,5,6,7,8,1,4,5,9,9,10,3,4,7,7,7,10,4,6,6,8,9,9,1,1,2,3,3,6,2,2,3,5,6,6,6,7,7,8,9,9)
df <- data.frame(days,values)
为了识别我的数据中的信号,我决定应用简单的loess
平滑处理:
loess <- loess(df$values~df$days, span=1)
pred <- predict(loess, loess$x, se=TRUE)
plot(days,values)
lines(loess$x, loess$fitted, col="red", lwd=1.5)
lines(loess$x,pred$fit - qt(0.975,pred$df)*pred$se, lty="dashed", col="blue", lwd=1)
lines(loess$x,pred$fit + qt(0.975,pred$df)*pred$se, lty="dashed", col="blue", lwd=1)
结果,包括置信区间,如下所示:
我看到,例如,第3天第3天的值较高,但这种差异是否显着?我应该比较每天的置信区间(在这种情况下,重叠),还是应该根据黄土曲线与CI进行比较(例如,在第3天曲线超出第5天的置信区间)?
答案 0 :(得分:4)
你误解了这里的置信区间。对于类型的回归问题:
observations = signal + noise
我们经常为估计的信号产生逐点置信区间。这种约定包括线性模型,广义线性模型,非参数回归等。
逐点置信区间易于计算,可帮助您评估估算值在每个点上的变化情况,但不能进行交叉比较。在您的情况下,每天的逐点置信带有重叠并不意味着它们之间没有统计差异。
如果你真的想测试不同日期的观察结果之间是否存在显着差异,例如,测试第3天和第5天是否有显着差异,你应该进行t检验:
day3 <- df$values[df$days == 3]
day5 <- df$values[df$days == 5]
## test whether two group have the same mean, i.e., mean difference = 0
t.test(day3, day5, mu = 0)$p.value
## 0.0177
现在,您可以看到第5天和第3天在0.05显着性水平上有统计学差异。
通常,您应该成对t检验:
pairwise.t.test(df$values, df$days, p.adjust.method = "none", pool.sd = FALSE)
# Pairwise comparisons using t tests with non-pooled SD
# data: df$values and df$days
# 1 2 3 4 5 6
# 2 0.62614 - - - - -
# 3 0.52954 1.00000 - - - -
# 4 0.20951 0.69979 0.62189 - - -
# 5 0.02519 0.05772 0.01775 0.00307 - -
# 6 0.19799 0.19597 0.10104 0.02372 0.24736 -
# 7 0.04247 0.41763 0.27750 0.50416 0.00044 0.00355
# P value adjustment method: none
请注意pairwist.t.test
使用此处:
pool.sd = FALSE
,不会估算所有组的常见标准错误; p.adjust.method = "none"
,不会调整t.test
返回的原始p值。通过这种方式,您可以看到(5,3)
处的p值与我们之前的t检验中的p值相符。
您的数据具有相关价值,因此您很幸运。对于实时系列,您每天都没有复制;在这种情况下,你没有成对的t检验。
答案 1 :(得分:0)
我认为这个问题可能更适合https://stats.stackexchange.com/
要回答您的问题,您希望比较CI,就像您比较两个不在时间序列中的估算值一样。
NB重叠CI并不一定意味着没有显着差异。