我试图使用statsmodels.stats.outliers_influence_variance_inflation_factor
找到数据集的方差膨胀因子(VIF)。我运行了一个完全分类变量的数据集的代码,它返回了VIF矩阵。但是,当我为另一个数据集运行代码时,我一直会得到一个类型错误。这个数据集有数字变量。请帮忙。请在下面找到代码:
from statsmodels.stats.outliers_influence import variance_inflation_factor as vif
full_data = full_data.drop(response, axis=1)
data_columns = full_data.columns
out = pd.DataFrame()
Variable_name = []
VIF = []
for col_name in data_columns:
index = full_data.columns.get_loc(col_name)
print index
data = full_data.as_matrix()
Variable_name.append(col_name)
VIF.append(np.array(vif(data, index), dtype=float))
out['Variable_name'] = Variable_name
out['Variance Inflation Factor'] = VIF
它适用于这样的数据集
甲、乙、丙
11月1日
12年
11月3日
11月4日
二一五
但不是这样的-42.1585 14.7353 3.45338 4.67938-19.0982-17.0384-60.3472 3.45338 4.67938-19.0982-42.1585-5.62736 3.45338 4.67938-19.0982-17.0384-98.0905 3.45338 4.67938-19.0982
-17.0384-5.62736 3.45338 4.67938-19.0982
目前没有回答
相关问题 更多 >
编程相关推荐