MANOVA 使用统计模型
MANOVA using stats models
我正在寻找 statsmodels MANOVA 实施的示例。我无法判断 Statsmodels website for MANOVA 的正面或反面。我已经达到:
endog, exog = np.asarray(pre_post[feats_list]), np.asarray(pre_post[features])
man = sm.MANOVA(endog,exog).fit()
但是使用 .fit() 我得到一个错误:
NotImplementedError:
如果我将任何类型的输入放入 .fit(),它会告诉我参数太多。
TypeError: fit() takes 1 positional argument but 2 were given
我确实阅读了 this post 并设法用
复制了相同的错误
man = sm.MANOVA(endog,exog)
man.mv_test()
但似乎也没有解决方案。
我知道这在编程问题方面有点基础,但我会感谢任何能够提供任何关于如何使 MANOVA 工作以及如何在模型适合后从模型中获取结果的见解的人.
它在 Python 似乎不是一个流行的包,我在网上找不到任何例子。非常感谢。
我只花了大约一个小时来理解他们的文档。设法以正确的格式获取我的数据,只是为了获得 NotImplementedError
... 该模块尚未实现,尽管它假装它是..
编辑中添加:
查看 statsmodels glm。它可以非常相似地使用。这是docs。
下面是一个展示如何使用函数的小例子:
import numpy as np
from statsmodels.multivariate.manova import MANOVA
n_samples = 20
n_dim = 5
n_classes = 3
X = np.random.randn(n_samples, n_dim)
y = np.random.randint(n_classes, size=n_samples)
manova = MANOVA(endog=X, exog=y)
print(manova.mv_test())
输出
Multivariate linear model
============================================================
------------------------------------------------------------
x0 Value Num DF Den DF F Value Pr > F
------------------------------------------------------------
Wilks' lambda 0.3681 4.0000 16.0000 6.8678 0.0020
Pillai's trace 0.6319 4.0000 16.0000 6.8678 0.0020
Hotelling-Lawley trace 1.7170 4.0000 16.0000 6.8678 0.0020
Roy's greatest root 1.7170 4.0000 16.0000 6.8678 0.0020
============================================================
有关显示如何使用 from_formula
界面的示例,请参阅此 blog post。
我正在寻找 statsmodels MANOVA 实施的示例。我无法判断 Statsmodels website for MANOVA 的正面或反面。我已经达到:
endog, exog = np.asarray(pre_post[feats_list]), np.asarray(pre_post[features])
man = sm.MANOVA(endog,exog).fit()
但是使用 .fit() 我得到一个错误:
NotImplementedError:
如果我将任何类型的输入放入 .fit(),它会告诉我参数太多。
TypeError: fit() takes 1 positional argument but 2 were given
我确实阅读了 this post 并设法用
复制了相同的错误man = sm.MANOVA(endog,exog)
man.mv_test()
但似乎也没有解决方案。
我知道这在编程问题方面有点基础,但我会感谢任何能够提供任何关于如何使 MANOVA 工作以及如何在模型适合后从模型中获取结果的见解的人. 它在 Python 似乎不是一个流行的包,我在网上找不到任何例子。非常感谢。
我只花了大约一个小时来理解他们的文档。设法以正确的格式获取我的数据,只是为了获得 NotImplementedError
... 该模块尚未实现,尽管它假装它是..
编辑中添加: 查看 statsmodels glm。它可以非常相似地使用。这是docs。
下面是一个展示如何使用函数的小例子:
import numpy as np
from statsmodels.multivariate.manova import MANOVA
n_samples = 20
n_dim = 5
n_classes = 3
X = np.random.randn(n_samples, n_dim)
y = np.random.randint(n_classes, size=n_samples)
manova = MANOVA(endog=X, exog=y)
print(manova.mv_test())
输出
Multivariate linear model
============================================================
------------------------------------------------------------
x0 Value Num DF Den DF F Value Pr > F
------------------------------------------------------------
Wilks' lambda 0.3681 4.0000 16.0000 6.8678 0.0020
Pillai's trace 0.6319 4.0000 16.0000 6.8678 0.0020
Hotelling-Lawley trace 1.7170 4.0000 16.0000 6.8678 0.0020
Roy's greatest root 1.7170 4.0000 16.0000 6.8678 0.0020
============================================================
有关显示如何使用 from_formula
界面的示例,请参阅此 blog post。