ROC 作为特征选择

机器算法验证 机器学习 特征选择 正则化 集成学习
2022-04-12 03:34:53

在我的新工作中,使用 ROC 作为特征选择方法显然是一种常见的做法。他们针对响应逐一测试变量,并将 ROC<=54 的任何内容都扔到一边。

你会说这是一个好习惯吗?我不再持怀疑态度,因为我宁愿使用集成学习来整合特征选择。或者使用像套索/弹性网这样的正则化方法。

3个回答

从另一个角度呼应 Matthew 的回应:许多标记具有分层预测准确性的概念。从这个意义上说,它们在子组中或与另一个标记一起提供了极好的预测准确性。来自健康科学的两个例子:

例如,假设两种类型的乳腺癌在绝经前和绝经后的女性中生长。大多数被诊断患有癌症的女性是绝经后的,但绝经前女性中诊断出的癌症极具侵袭性,难以治疗,而且其遗传标记未知。如果您天真地假设所有癌症都具有相同的基因型和遗传标记,那么对于在绝经前女性中产生 100% ROC 下面积的遗传标记,您将显示出低预测准确性。

另一个例子是疾病可能需要一系列条件。例如,在肾脏病学中,人们通常处于危险之中,一旦同时患上高血压和糖尿病,就会被诊断出患有 3 期慢性肾病。众所周知,CKD 会发展为 ESRD,这需要慢性肾脏替代治疗,并且通常非常糟糕。阻止 CKD 进展的干预措施鲜为人知,因此需要更早的诊断,但该疾病的表现与许多其他疾病相一致,只有特定的疾病谱或标志物的组合可能会告知临床医生患者患有慢性肾脏病。

同样,评估标记序列的逐步方法不能保证在任何科学意义上识别最佳 ROC,尽管可能在统计意义上它会。根据我评估标记的经验,ROC 的最佳用途是评估关于特定标记的预先指定的假设,而不是其庞大的列表。ROC 及其 AUC 的 CI 往往相当宽,因为它们处理经验函数,并且在对多次测试进行校正后,II 型错误的风险太高,无法证明评估 100 个或更多标记是合理的。

对此的例外可能是理解分析的性质是产生假设的研究然而,这意味着以前收集的数据都无法证实这一假设。必须进行单独的研究。许多临床医生对这种钓鱼探险的不可重复结果感到沮丧。

单变量特征选择通常是一种较差的方法。

银鱼在相关性的背景下巧妙地回答了这个问题,但他的所有论点也适用于您的情况。简而言之,没有理由相信单变量检查每个单独变量x与您的回复有关y揭示了有关两者之间关系的多元性质的任何信息Xy. 您很有可能最终会筛选掉许多好的预测指标。

正如您所指出的,LASSO、ridge 或 glmnet 是多元回归模型中特征选择的首选方法,因为它们:

  • 全面了解您的预测/响应关系。
  • 避免做出高方差的二元决策,例如“这个变量完全在,这个变量完全在外面”。
  • 自然适合交叉验证和其他模型验证技术。

您应该谨慎而恭敬地开始将您的团队指向更现代和更有纪律的方法。

(*) 您也没有提到您的团队在拟合这些单变量模型时是否正在测试非线性关系。至少,这些单变量模型应该基于特征的一些基础扩展,比如三次样条。显然,如果他们只是测试单变量线性关系,那么也存在一些问题。

由于您使用的是 SAS,我想我会分享这个。我不确定您使用的是什么模型,但如果您使用逻辑回归,这可能是一个有用的资源。

样本 54866:使用曲线下面积 (AUC) 或 R 方选择标准选择逻辑模型

在“详细信息”下,内容如下:

除了 PROC HPLOGISTIC 中可用的 AIC 和 BIC 标准外,SELECT 宏还可以使用 ROC 曲线下面积 (CHOOSE=AUC)、R 平方统计量 (CHOOSE=RSQUARE) 或最大重新缩放的 R 来选择模型-平方统计量(CHOOSE=RSQUARE_RESCALED)。

在“限制”下,它显示

PROC LOGISTIC 中可用的最佳子集选择方法 (SELECTION=SCORE) 在 SELECT 宏中不可用。ROC 曲线标准 (CHOOSE=AUC) 下的面积不适用于名义、多项 (LINK=GLOGIT) 模型。