gpt4 book ai didi

scipy - Python中的ANCOVA具有Scipy/Numpy统计信息

转载 作者:行者123 更新时间:2023-12-04 10:58:24 24 4
gpt4 key购买 nike

我想知道一种使用scipy使用Python执行ANCOVA(协方差分析)的方法。它基本上是回归线的统计比较。我知道Python可以执行ANOVA,也可以使用Scipy.stats进行回归线拟合。我不确定如果可能的话,如何将它们组合在一起以获得有效的ANCOVA。

最佳答案

可以使用回归变量来完成ANCOVA,在设计矩阵中使用虚拟变量以获得取决于分类变量的效果。

一个简单的例子是在
http://groups.google.com/group/pystatsmodels/browse_thread/thread/aaa31b08f3df1a69?hl=en
使用scikits.statsmodels中的OLS类

设计矩阵构建的相关部分
xg包括组号/标签,
x1是连续的解释变量

>>> dummy = (xg[:,None] == np.unique(xg)).astype(float)
>>> X = np.c_[x1, dummy[:,1:], np.ones(nsample)]

估计模型
>>> res2 = sm.OLS(y, X).fit()
>>> print res2.params
[ 1.00901524 3.08466166 -2.84716135 9.94655423]
>>> print res2.bse
[ 0.07499873 0.71217506 1.16037215 0.38826843]
>>> prstd, iv_l, iv_u = wls_prediction_std(res2)

“检验假设所有组具有相同的截距”
>>> R = [[0, 1, 0, 0],
... [0, 0, 1, 0]]

>>> print res2.f_test(R)
<F test: F=array([[ 91.69986847]]), p=[[ 8.90826383e-17]],
df_denom=46, df_num=2>

强烈拒绝,因为截距差异很大

更新(两年半后):
scikits.statsmodels已重命名为 statsmodels
问题:

在最新版本的statsmodels中,使用公式指定分类效果和交互效果更加方便。 statsmodels使用 patsy处理公式并创 build 计矩阵。

有关更多信息,请访问 https://stackoverflow.com/a/19495920/333700中的statsmodels文档的链接。

关于scipy - Python中的ANCOVA具有Scipy/Numpy统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2916760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com