如何使用scipy 1.0.0计算python 3.6中的VIF?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用scipy 1.0.0计算python 3.6中的VIF?相关的知识,希望对你有一定的参考价值。

我想导入

from statsmodels.stats.outliers_influence import variance_inflation_factor

这对Scipy 0.19工作正常。

但是,使用Python 3.6.3,由于Scipy 1.0.0中的ss模块不可用,它失败了。

~Anaconda3libsite-packagesstatsmodels
egressionlinear_model.py in <module>()
     41 from scipy.linalg import toeplitz
     42 from scipy import stats
---> 43 from scipy.stats.stats import ss
     44 from scipy import optimize
     45 from scipy.stats import chi2

ImportError: cannot import name 'ss'

谁能指导我如何使用Scipy1.0进行VIF分析?

答案

首先,ss模块在scipy.stats,而不是scipy.stats.statsscipy 0.17。此外,它已被弃用,但您似乎已经想到了这一点。

第二,在linear_model.py的当前github中,ss包不再导入:

from scipy.linalg import toeplitz
from scipy import stats
from scipy import optimize

你的statsmodels是什么版本的?听起来你可能需要更新它。

另一答案

SciPy 1.0需要statsmodels >= 0.8 || None(刚出来!)。

以上是关于如何使用scipy 1.0.0计算python 3.6中的VIF?的主要内容,如果未能解决你的问题,请参考以下文章

如何标记和分组数组中的唯一功能

Scipy或贝叶斯优化函数在python中具有约束、边界和数据框

scipy LinearNDInterpolator返回的异常nans

如何从 Python 中的 scipy 中的链接/距离矩阵计算集群分配?

在scipy中,chi与SPSS中的结果不同

Windows下安装python的scipy等科学计算包(转)