Я пытаюсь вычислить коэффициент Байеса (BF) для одного из фиксированных эффектов с пакетом BayesFactor
в R.
Данные имеют следующую структуру:
rating
является зависимой переменной
cond
является независимой переменной с 3 уровнями ("A"
, "B"
, "C"
)
C1
- это код контрастности, полученный из cond
, который противопоставляет "A"
(кодированный -0.50
) "B"
и "C"
(оба кодированных -0.25
)
C2
- это код контрастности, полученный из cond
, который противопоставляет "B"
(кодированный -0.50
) "C"
(кодированный +0.5
; и "A"
кодируется 0
)
judge
и face
- случайные факторы, такие, что face
пересекается с judge
, но вкладывается в cond
(и, следовательно, также вкладывается в C1
иC2
)
DT <- fread("http://matschmitz.github.io/dataLMM.csv")
DT[, judge := factor(judge)]
DT[, face := factor(face)]
# > DT
# judge face cond C1 C2 rating
# 1: 66 13 A -0.50 0.0 1
# 2: 20 13 A -0.50 0.0 4
# 3: 22 13 A -0.50 0.0 7
# 4: 69 13 A -0.50 0.0 1
# 5: 7 13 A -0.50 0.0 3
# ---
# 4616: 45 62 C 0.25 0.5 2
# 4617: 30 62 C 0.25 0.5 6
# 4618: 18 62 C 0.25 0.5 4
# 4619: 40 62 C 0.25 0.5 3
# 4620: 65 62 C 0.25 0.5 1
В идеале я хотел бы протестировать «полную» модель, как в:
library(lmerTest)
lmer(rating ~ C1 + C2 + (1 + C1 + C2|judge) + (1|face), data = DT)
и вычислить BF для C1
.
Мне удалось вычислить BF для C1
, но с помощью random перехватывает только:
library(BayesFactor)
BF1 <- lmBF(rating ~ C1 + C2 + judge + face, whichRandom = c("judge", "face"), data = DT)
BF0 <- lmBF(rating ~ C2 + judge + face, whichRandom = c("judge", "face"), data = DT)
BF10 <- BF1 / BF0
# > BF10
# Bayes factor analysis
# --------------
# [1] C1 + C2 + judge + face : 0.4319222 ±15.49%
#
# Against denominator:
# rating ~ C2 + judge + face
# ---
# Bayes factor type: BFlinearModel, JZS
Я безуспешно пытался это решение , чтобы включить случайные наклоны:
BF1 <- lmBF(rating ~ C1 + C2 + judge + face + C1:judge + C2:judge,
whichRandom = c("judge", "face", "C1:judge", "C2:judge"), data = DT)
# Some NAs were removed from sampling results: 10000 in total.
Я также должен был бы включить (если это возможно)корреляция между случайными перехватами и наклонами для judge
.
Пожалуйста, не стесняйтесь использовать любой другой пакет (например, rstan
, bridgesampling
) в своем ответе.
Некоторые дополнительные вопросы:
- Нужно ли выполнять какое-либо преобразование на BF10 или я могу интерпретировать его как оно?
- Каковы основные значения по умолчанию?