忽略 Python 的统计模型中的 NaN

Ignore NaNs in Python's statsmodels

有没有通用的方法来忽略 statsmodels 中的 NaN?

我正在使用 statsmodels 的 AnovaRM 函数对各种数据集进行 运行 重复测量方差分析。不同行的不同列中存在缺失值。当 运行ning AnovaRM 时,显然 returns nan 用于 F 值和 p 值。

我试过了

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

Ignoring missing values in multiple OLS regression with statsmodels 中所建议,但这似乎不适用于 AnovaRM

到目前为止,我只是简单地排除了缺少数据点的受试者,但这 a) 确实不是重点,b) 对于许多数据集来说根本不可行。

来自 AnovaRM 文档字符串

"This implementation currently only supports fully balanced designs."

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

所以模型的一般缺失选项不适用于 AnovaRM。这主要是因为作为重复测量方差分析基础的限制性假设。

作为替代方案,文献中的一般建议是使用混合效应模型,它在 statmodels 的 MixedLM 中可用。 其他选项是将 GEE 或固定效应与 OLS 结合使用。