首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用统计模型的MANOVA

使用统计模型的MANOVA
EN

Stack Overflow用户
提问于 2018-12-08 23:12:00
回答 2查看 4.9K关注 0票数 3

我正在寻找一个状态模型MANOVA实现的示例。我不能确定玛诺瓦的Statsmodel网站的正面或反面。我已经说到:

代码语言:javascript
复制
endog, exog = np.asarray(pre_post[feats_list]), np.asarray(pre_post[features])
man = sm.MANOVA(endog,exog).fit()

但是对于.fit(),我得到了一个错误:

代码语言:javascript
复制
NotImplementedError: 

如果我将任何类型的输入输入到.fit()中,它就会告诉我参数太多了。

代码语言:javascript
复制
TypeError: fit() takes 1 positional argument but 2 were given

我确实读过这个职位,并设法复制了相同的错误

代码语言:javascript
复制
man = sm.MANOVA(endog,exog)
man.mv_test()

但似乎也没有任何解决办法。

我知道这是一个基本的编程问题,但我要感谢任何人,谁能提供任何关于如何让MANOVA工作,以及如何获得结果的模型后,它是合适的。在Python中,它似乎不是一个流行的软件包,我在网上找不到任何例子。非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-07 13:08:09

我只是花了一个小时来了解他们的文件。设法以正确的格式得到我的数据,只为了得到一个NotImplementedError.模块还没有实现,尽管它假装是..。

添加编辑:查看状态模型glm。它可以非常类似地使用。这是文档

票数 1
EN

Stack Overflow用户

发布于 2019-12-28 06:36:45

下面是一个演示如何使用该函数的小示例:

代码语言:javascript
复制
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())

哪种输出

代码语言:javascript
复制
                 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接口的示例,请参阅此博客帖子

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53687921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档