如何修复统计模型。AnovaRM声称"Data is unbalanced"虽然不是?



我正试图用统计模型进行三元重复测量方差分析。AnovaRM,但在执行双向ANOVA时已经存在障碍:当运行时

aov = AnovaRM(anova_df, depvar='Test', subject='Subject',
within=["Factor1", "Factor2"], aggregate_func='mean').fit()
print(aov)

它返回"0";数据不平衡&";。让我们看看我从数据帧中提取的因素,这些因素是我输入的:

Factor1, level 0, shape: (68, 6)
Factor1, level 1, shape: (68, 6)
Factor1, level 2, shape: (68, 6)
Factor2, level a, shape: (68, 6)
Factor2, level b, shape: (68, 6)
Factor2, level c, shape: (68, 6)

因为这是一个测试,我甚至将Factors相互对齐。

Test Factor1 Factor 2
0   32.6    0   a
1   39.3    1   b
2   43.0    2   c
3   32.0    0   a
4   32.8    1   b
5   38.3    2   c
6   36.7    0   a
7   40.4    1   b
8   41.9    2   c

这怎么不平衡?我做错了什么,我该怎么解决?

我遇到了同样的问题。AnovaRM运行和工作的数据集在本教程中:https://pythontutorials.eu/numerical/statistics-solution-1/

我还使用了你的方法,在所有变量的所有级别上迭代检查形状。输出还显示,所有东西都有相同的形状。上面链接中的数据集也具有此功能。

事实证明,仅仅拥有相同的形状是不够的。对于用于subject的变量,在输入df中,如果运行类似df[subject_name].value_counts()的程序,则每个唯一的subject_name都必须具有相同的数字。如果数字不同,AnovaRM会给您一个不平衡的数据错误。

我在我的df上使用了这种检查方法,它表明一些主题的值比其他主题的值少,而在检查上面链接中的示例df时,每个主题的值都相同。此外,我手动将我的df子集设置为包括具有相同数值/测量值的受试者,AnovaRM对我很有效。试一下,让我知道这是否有助于你理解不平衡的真正含义。

factor1=factor2。

尝试使用类似";"治疗";下降因子1和2:

treatment           When
X           F1 = 0 and F2 = a
Y           F1 = 1 and F2 = b
Z           F1 = 2 and F2 = c

相关内容

  • 没有找到相关文章

最新更新