忽略 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 结合使用。
有没有通用的方法来忽略 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 结合使用。