使用glmer逻辑回归模型预测连续变量达到特定概率的点?
我有一个与记忆实验相关的数据集,其中参与者、方框、试验次数(试验)、试块(区块)、年龄组和性别作为分类变量,间隔作为连续变量,以及二元结果(SuccessBinary),如这个较小的示例数据集所示:使用glmer逻辑回归模型预测连续变量达到特定概率的点?,r,prediction,predict,mixed-models,R,Prediction,Predict,Mixed Models,我有一个与记忆实验相关的数据集,其中参与者、方框、试验次数(试验)、试块(区块)、年龄组和性别作为分类变量,间隔作为连续变量,以及二元结果(SuccessBinary),如这个较小的示例数据集所示: data <- structure(list(Participant = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
data <- structure(list(Participant = structure(c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10"), class = "factor"),
Block = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("1", "2", "3"), class = "factor"),
Trial = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L,
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L,
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L,
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L,
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L,
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L), Box = structure(c(4L,
3L, 4L, 3L, 2L, 4L, 2L, 3L, 2L, 1L, 2L, 1L, 3L, 1L, 2L, 1L,
4L, 3L, 1L, 4L, 4L, 2L, 4L, 1L, 2L, 1L, 3L, 1L, 3L, 1L, 2L,
3L, 2L, 3L, 4L, 1L, 4L, 3L, 2L, 4L, 4L, 3L, 2L, 4L, 1L, 2L,
3L, 1L, 4L, 1L, 3L, 2L, 3L, 1L, 4L, 2L, 1L, 3L, 2L, 4L, 4L,
3L, 4L, 3L, 2L, 4L, 2L, 3L, 2L, 1L, 2L, 1L, 3L, 1L, 2L, 1L,
4L, 3L, 1L, 4L, 4L, 2L, 4L, 1L, 2L, 1L, 3L, 1L, 3L, 1L, 2L,
3L, 2L, 3L, 4L, 1L, 4L, 3L, 2L, 4L, 4L, 3L, 2L, 4L, 1L, 2L,
3L, 1L, 4L, 1L, 3L, 2L, 3L, 1L, 4L, 2L, 1L, 3L, 2L, 4L, 4L,
3L, 4L, 3L, 2L, 4L, 2L, 3L, 2L, 1L, 2L, 1L, 3L, 1L, 2L, 1L,
4L, 3L, 1L, 4L, 4L, 2L, 4L, 1L, 2L, 1L, 3L, 1L, 3L, 1L, 2L,
3L, 2L, 3L, 4L, 1L, 4L, 3L, 2L, 4L, 4L, 3L, 2L, 4L, 1L, 2L,
3L, 1L, 4L, 1L, 3L, 2L, 3L, 1L, 4L, 2L, 1L, 3L, 2L, 4L), .Label = c("1",
"2", "3", "4"), class = "factor"), Interval = c(240L, 120L,
0L, 60L, 120L, 30L, 0L, 30L, 60L, 0L, 240L, 30L, 240L, 60L,
30L, 120L, 60L, 0L, 240L, 120L, 30L, 0L, 240L, 120L, 30L,
240L, 0L, 60L, 240L, 30L, 240L, 30L, 120L, 60L, 120L, 0L,
60L, 120L, 60L, 0L, 60L, 30L, 240L, 120L, 60L, 0L, 240L,
0L, 240L, 120L, 60L, 30L, 0L, 30L, 0L, 120L, 240L, 120L,
60L, 30L, 240L, 120L, 0L, 60L, 120L, 30L, 0L, 30L, 60L, 0L,
240L, 30L, 240L, 60L, 30L, 120L, 60L, 0L, 240L, 120L, 30L,
0L, 240L, 120L, 30L, 240L, 0L, 60L, 240L, 30L, 240L, 30L,
120L, 60L, 120L, 0L, 60L, 120L, 60L, 0L, 60L, 30L, 240L,
120L, 60L, 0L, 240L, 0L, 240L, 120L, 60L, 30L, 0L, 30L, 0L,
120L, 240L, 120L, 60L, 30L, 240L, 120L, 0L, 60L, 120L, 30L,
0L, 30L, 60L, 0L, 240L, 30L, 240L, 60L, 30L, 120L, 60L, 0L,
240L, 120L, 30L, 0L, 240L, 120L, 30L, 240L, 0L, 60L, 240L,
30L, 240L, 30L, 120L, 60L, 120L, 0L, 60L, 120L, 60L, 0L,
60L, 30L, 240L, 120L, 60L, 0L, 240L, 0L, 240L, 120L, 60L,
30L, 0L, 30L, 0L, 120L, 240L, 120L, 60L, 30L), SuccessBinary = c(1L,
0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L,
1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L,
1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 1L,
1L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L,
1L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L,
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L,
0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L,
1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L,
1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L,
1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L),
AgeGroup = structure(c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L), .Label = c("1-5", "11-15", "6-10"
), class = "factor"), Sex = structure(c(2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("F",
"M"), class = "factor")), row.names = c(NA, -180L), spec = structure(list(
cols = structure(list(Dog = structure(list(), class = c("collector_integer",
"collector")), Block = structure(list(), class = c("collector_integer",
"collector")), Trial = structure(list(), class = c("collector_integer",
"collector")), Box = structure(list(), class = c("collector_integer",
"collector")), Interval = structure(list(), class = c("collector_integer",
"collector")), Visit = structure(list(), class = c("collector_character",
"collector")), Outcome = structure(list(), class = c("collector_character",
"collector")), SuccessBinary = structure(list(), class = c("collector_integer",
"collector")), Age = structure(list(), class = c("collector_integer",
"collector")), AgeGroup = structure(list(), class = c("collector_character",
"collector")), Sex = structure(list(), class = c("collector_character",
"collector"))), .Names = c("Dog", "Block", "Trial", "Box",
"Interval", "Visit", "Outcome", "SuccessBinary", "Age", "AgeGroup",
"Sex")), default = structure(list(), class = c("collector_guess",
"collector"))), .Names = c("cols", "default"), class = "col_spec"), class = c("tbl_df",
"tbl", "data.frame"), .Names = c("Participant", "Block", "Trial",
"Box", "Interval", "SuccessBinary", "AgeGroup", "Sex"))
因此,区间(我感兴趣的主要变量)、方框2和试验(我还计算了优势比和CI——未显示)有显著影响
我现在想知道的是如何预测成功概率达到0.25的时间间隔(这是本实验中偶然期望的值)
此外,如果这样做是可能和有效的,我还想检查每个测量间隔的成功概率是否与0.25显著不同(我知道为了做到这一点,我必须创建一个新模型,将间隔作为分类变量而不是连续变量,但除此之外,我不知道如何做到。)
提前感谢您的帮助和建议
model <- glmer(SuccessBinary ~ Interval + Block + Box + Trial + AgeGroup + Sex +
+ (1 | Participant),
data = data, family = binomial, nAGQ=1)
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.049030 0.391677 2.678 0.0074 **
Interval -0.008192 0.001142 -7.171 7.43e-13 ***
Block2 0.206471 0.212581 0.971 0.3314
Block3 0.223291 0.224761 0.993 0.3205
Box2 -0.521759 0.251940 -2.071 0.0384 *
Box3 -0.236628 0.248939 -0.951 0.3418
Box4 0.191712 0.248141 0.773 0.4398
Trial -0.038932 0.015401 -2.528 0.0115 *
AgeGroup11-15 -0.413951 0.374989 -1.104 0.2696
AgeGroup6-10 -0.116284 0.338754 -0.343 0.7314
SexM 0.159609 0.306192 0.521 0.6022