BayesFactor anovaBF语法

时间:2019-05-27 15:44:43

标签: r syntax bayesian anova

我想获得与经典F检验类似的方差分析的贝叶斯因子,我只是想确保我正确理解了如何编写语法,尤其是关于主题ID。

例如,我有主体间自变量a_betweenb_between,主体内变量c_withind_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”)#并且我认为变量的顺序无关紧要,例如也可以是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仅一行吗?)

两个主要问题:

  1. 不管原因如何,以上解决方案是否正确?
  2. 如果解决方案正确,为什么我必须为主题内变量指定两次主题ID(一次为whichRandom,一次为+subject_id),为什么不指定主题ID?只是主题间变量?

(仅供参考,有一个与答案相关的问题,但不完全是我想知道的:https://stats.stackexchange.com/questions/230224/mixed-bayesian-anova-using-bayesfactor-package-in-r

1 个答案:

答案 0 :(得分:0)

来自https://forum.cogsci.nl/index.php?p=/discussion/5203/bayesfactor-anovabf-syntax

  
      
  1. 通常,是的-但是我不确定您是否要使用whichModels = "bottom"-建议此处使用默认设置(whichModels = "withmain")。另外,您实际上无法获得用于F测试的BF-因为BF始终是可比较的,因此,如果您希望针对每个“效果”使用BF,则需要考虑对哪个两个模型进行比较(例如层次回归)。或者,您可能希望尝试通过bayestestR::bayesfactor_inclusion()(相当于JASP的效果面板)来计算包含BF。

  2.   
  3. anovaBF根本不是一个方差分析,它实际上是一个线性混合模型。因此,您需要指定+subject_id,因为它是模型中的一种效果,但是您还需要告诉anovaBF这是随机效果(而不是固定效果)。

      

更多有用的链接:

https://forum.cogsci.nl/index.php?p=/discussion/2426/type-of-sums-of-squares

https://www.cogsci.nl/blog/interpreting-bayesian-repeated-measures-in-jasp

无论如何,我都会坚持将bayestestR::bayesfactor_inclusion()match_models = TRUE一起使用;对我来说,这似乎是最直接的。