在Python的statsmodel中忽略NaNs

时间:2018-01-13 11:00:00

标签: python nan missing-data statsmodels anova

是否有一种忽略统计模型中NaN的一般方法?

我正在使用statsmodels' AnovaRM函数用于对各种数据集运行重复测量ANOVA。不同行的不同列中缺少值。运行AnovaRM时,显然会为F值和p值返回nan

我试过了

aovrm = AnovaRM(df3, 'RT', 'id', within=['iv'], missing = 'drop')

根据Ignoring missing values in multiple OLS regression with statsmodels中的建议,但这对AnovaRM似乎不起作用。

到目前为止,我只是简单地排除了缺少数据点的主题,但是a)真的不是重点,b)对许多数据集来说根本不可行。

1 个答案:

答案 0 :(得分:1)

来自AnovaRM docstring

"此实施目前仅支持完全平衡的设计。"

https://github.com/statsmodels/statsmodels/blob/master/statsmodels/stats/anova.py#L413 (AnvaRM尚未在网上添加文档。)

因此,模型的一般缺失选项不适用于AnovaRM。这主要是因为作为重复测量ANOVA的基础的限制性假设。

作为替代方案,文献中的一般建议是使用混合效果模型,该模型在StatModel中的MixedLM中可用。 其他选择是使用GEE或固定效果与OLS。