Я хочу получить коэффициенты Байеса для ANOVA, которые аналогичны классическим F-тестам, и я просто хочу убедиться, что правильно понимаю, как писать синтаксис, особенно в отношении идентификаторов субъектов.
Например, у меня есть независимые переменные между субъектами a_between
и b_between
и внутрисубъектные переменные c_within
и d_within
, зависимая переменная values
, где subject_id
идентифицирует каждого субъекта; в наборе данных my_data
.
Если я правильно понимаю, для полного дисперсионного анализа я должен использовать:
anovaBF(values~a_between*b_between*c_within*d_within+subject_id, data = my_data, whichModels = "bottom", whichRandom = "subject_id") # and I assume the order of variables does not matter, e.g. it could also be d_within*a_between*c_within*b_between+subject_id
Только для дисперсионного анализа внутри субъектов я должен использовать:
anovaBF(values~c_within*d_within+subject_id, data = my_data, whichModels = "bottom", whichRandom = "subject_id")
Только для дисперсионного анализа между субъектами я должен использовать:
anovaBF(values~a_between*b_between, data = my_data, whichModels = "bottom", whichRandom = "subject_id")
Так что в последнем случае у меня нет +subject_id
- иначе я получаю Error in base::try(expression, silent = silent) : not enough observations
. (Возможно, потому что для каждого subject_id есть только одна строка?)
Два основных вопроса:
whichRandom
и один раз в начале как +subject_id
) для внутритематических переменных, и почему нет, когда есть только межтематические переменные?(К вашему сведению, есть связанный вопрос с ответом, но не совсем то, что я хочу знать: https://stats.stackexchange.com/questions/230224/mixed-bayesian-anova-using-bayesfactor-package-in-r)
Из https://forum.cogsci.nl/index.php?p=/discussion/5203/bayesfactor-anovabf-синтаксис:
Generally, yes - but I'm not sure you want to use
whichModels = "bottom"
- it is advised to stick with the defaults here (whichModels = "withmain"
). Also you can't really get a BF for an F test - as BF are always comparative, so if you want a BF for each "effect" you'll need to think which comparison of which two models might represent that (like in step-wise hierarchical regression). Or, you may want to try to compute Inclusion BFs viabayestestR::bayesfactor_inclusion()
(equivalent to JASP's effects panel).
anovaBF
isn't really an anova at all - it is actually a linear mixed model. So you need to specify+subject_id
as it is an effect in your model, but you also need to tellanovaBF
that it is a random effect (and not a fixed one).
Дополнительные полезные ссылки:
https://forum.cogsci.nl/index.php?p=/discussion/2426/тип-суммы-квадратов
https://www.cogsci.nl/blog/interpreting-bayesian-repeated-measures-in-jasp
В любом случае, я буду использовать bayestestR::bayesfactor_inclusion()
с match_models = TRUE
; это кажется мне самым простым.