如何使用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.stats
的scipy 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