校正多特征数据集中的多重共线性

时间:2019-07-24 23:59:46

标签: loops

我有一个具有10个功能的数据集(X_train)。我正在检查10个要素之间的多重共线性,目的是将要素数量减少到最少。我正在使用每两个要素之间的spearman相关性统计信息将该数字与Bonferroni进行比较(alpha /观察数,将10个要素相互比较时应为81)

下面的代码仅生成9个p值,而不是81个

def p_values(n_features):
    p_values_list = []
    n_features = X_train.shape[1]
    for i in range(n_features):
        for j in range(i + 1, n_features):
            p_value = sps.spearmanr(X_train[:, i], X_train[:, j])[1]
            p_values_list.append(p_value)
        return p_values_list   

print(p_values(n_features))

在数据集中有10个特征时,我希望将每个特征与另外9个多重共线性进行比较时会看到81个p值。取而代之的是,我只有9。然后,我需要将具有简单Bonferroni校正的p值与临界alpha值进行比较,以查看哪些虚假假设被拒绝,哪些虚假假设不被拒绝

0 个答案:

没有答案