如果我错过了任何明显的东西,我道歉,但我有这个非常简单的数据集(只是为了说明我遇到的问题):15名参与者,3种条件,每名参与者经历了所有3种条件,并在每种条件下产生二元响应。我想知道这三种情况下的React是否有显著差异。
下面是一个示例数据
ID,Condition,Outcome
1,A,FALSE
1,B,TRUE
1,C,FALSE
2,A,FALSE
2,B,TRUE
2,C,FALSE
3,A,FALSE
3,B,TRUE
3,C,TRUE
4,A,FALSE
4,B,TRUE
4,C,TRUE
5,A,FALSE
5,B,TRUE
5,C,FALSE
6,A,FALSE
6,B,TRUE
6,C,TRUE
7,A,FALSE
7,B,TRUE
7,C,TRUE
8,A,FALSE
8,B,TRUE
8,C,TRUE
9,A,FALSE
9,B,TRUE
9,C,FALSE
10,A,FALSE
10,B,TRUE
10,C,FALSE
11,A,FALSE
11,B,TRUE
11,C,TRUE
12,A,FALSE
12,B,TRUE
12,C,TRUE
13,A,FALSE
13,B,TRUE
13,C,FALSE
14,A,FALSE
14,B,TRUE
14,C,TRUE
15,A,FALSE
15,B,TRUE
15,C,TRUE
你可以清楚地看到,条件A总是与False结果相关联,而条件C总是与True结果相关联,所以我们甚至在进行任何正式测试之前就知道应该存在显著差异。
因此,为了进行正式测试,我们需要对二项式数据进行重复测量方差分析,从我搜索的结果来看,最佳选择是混合效应logistic回归,条件作为固定效应,参与者ID作为随机效应。所以我用R
model <- glmer(Outcome ~ Condition + (1 | ID), data = data, family = binomial)
summary(model)
我得到了这个结果
> model <- glmer(Outcome ~ Condition + (1 | ID), data = data, family = binomial)
boundary (singular) fit: see help('isSingular')
> summary(model)
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: Outcome ~ Condition + (1 | ID)
Data: data
AIC BIC logLik deviance df.resid
28.2 35.4 -10.1 20.2 41
Scaled residuals:
Min 1Q Median 3Q Max
-1.2247 0.0000 0.0000 0.0000 0.8165
Random effects:
Groups Name Variance Std.Dev.
ID (Intercept) 0 0
Number of obs: 45, groups: ID, 15
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -4.095e+01 2.122e+07 0 1
ConditionB 1.153e+02 2.740e+07 0 1
ConditionC 4.135e+01 2.122e+07 0 1
Correlation of Fixed Effects:
(Intr) CndtnB
ConditionB -0.775
ConditionC -1.000 0.775
optimizer (Nelder_Mead) convergence code: 0 (OK)
boundary (singular) fit: see help('isSingular')
Warning messages:
1: In vcov.merMod(object, use.hessian = use.hessian) :
variance-covariance matrix computed from finite-difference Hessian is
not positive definite or contains NA values: falling back to var-cov estimated from RX
2: In vcov.merMod(object, correlation = correlation, sigm = sig) :
variance-covariance matrix computed from finite-difference Hessian is
not positive definite or contains NA values: falling back to var-cov estimated from RX
我不太确定为什么我会得到这个或者如何解释它,但似乎海森是奇异的,模型已经收敛,但它似乎根本没有用(估计值的p值非常大,根本没有显着性)。在如此极端的条件下,我期待着一个容易实现的巨大意义。
我真的很感激任何建议,我应该如何解决这个问题,是否有更合适的测试,这种情况下,或指出我做错了什么!
1条答案
按热度按时间nmpmafwu1#
我在评论中提出了使用贝叶斯模型的建议。您可以使用
brms
包中的brm()
。该模型的指定方式与glmer()
模型类似。加法是系数的先验,可以指定为normal(0, 2.5)
。这比我们通常使用的信息量更大,但它有助于防止系数变得太大。下面是一个示例:创建于2023-09-12带有reprex v2.0.2