外观
相关性不等于预测性
Correlation != Predictiveness
相关性(correlation)衡量的是两个特征之间线性(或单调)变化的程度。

这使得相关性是对称的:corr(A, B) = corr(B, A)。然而,关联往往是不对称的。例如,给定一个日期,很容易判断出对应的月份;但给定一个月份,你永远无法确定具体的日期。

相关性由于是对称的,完全忽略了这一概念。更何况,它并不用来衡量一个特征对结果变量的预测能力,如下图所示:

然而,它有时会被误读为一种“预测性”的度量。最后,相关性大多局限于数值型数据。但分类数据对于预测模型同样重要。预测力得分(Predictive Power Score,PPS)正是为了解决上述每一个局限而提出的。顾名思义,它衡量的是一个特征的预测能力。它的计算方式如下:
- 如果目标变量 (b) 是数值型:
- 训练一个用 a 来预测 b 的决策树回归器(Decision Tree Regressor)。
- 将其 MAE 与基线模型(中位数预测)的 MAE 进行比较,得到 PPS。
- 如果目标变量 (b) 是分类型:
- 训练一个用 a 来预测 b 的决策树分类器(Decision Tree Classifier)。
- 将其 F1 与基线模型(随机预测或最频繁类预测)的 F1 进行比较,从而得到 PPS。因此,PPS:
- 是不对称的,即 PPS(a, b) != PPS(b, a)。
- 可以用于分类目标 (b)。


- 可以用来衡量分类特征 (a) 的预测能力。
- 对线性和非线性关系都适用。
- 对单调和非单调关系都适用。
从下图中可以清楚看出它的有效性。对于下列三个数据集:

- 相关性都很低。
- PPS (x → y) 都很高。
- PPS (y → x) 都为零。
话虽如此,需要注意相关性也有它的用武之地。在 PPS 与相关性之间做选择时,首先要明确你希望从数据中了解什么:
- 你想了解两个变量之间整体的单调趋势吗?相关性会帮上忙。
- 你想了解一个特征的预测性吗?PPS 会帮上忙。
PPS 入门请见:https://github.com/8080labs/ppscore。