R******d 发帖数: 1436 | 1 现在想做一个predictor,用来预测人群中的某种不常见的疾病,发病率不到1%。
training data是
非常imbalanced的,positive data points很少,绝大部分都是negative data points
。我
没有直接用这样的training data,而是人为地构建了balanced data。简单的说,就是
保持
positive data points不变,随机选同样sample size的negative data points。重复
训练
若干次,最后的训练结果是这么多次结果的汇总。
因为发病率确实很低,所以我取的specificity很高,比如99.9%。相应来说
sensitivity就很低
了,2%不到。换算成Positive Predictive Value(好像有人更看重这个),也低,大
概10%不
到。
我现在的问题是:
1,请问对于这样非常imbalanced的数据,AUC,specificity和Positive Predictive
Value
这三个指标哪个更重要?如果要做一个有意义的predictor,他们各自的threshold是多
少?
2,因为原始的数据是imbalanced,而我用来train的数据是balanced。在计算Positive
Predictive Value这个指标的时候,是应该按balanced还是imbalanced的来算?如果按
balanced的来算,specificity 99.9%对应的PPV是很高的。但是按总体来看,PPV就不
高了,因
为总的training data中negative data point太多了。
多谢(不知道发对版了没有,呵呵)。 |
d*******o 发帖数: 493 | 2 不太懂你这个领域的建模。像你这样的binary model评价应该是sensitivity和
specificity的平衡,比如AUC。像Kdd cup2009的AUC baseline是0.6-0.7,获奖的队在
AUC都在0.85左右。
你balance的目地是想牺牲sensitivity换specificity吧?最好构建一个weight matrix
,用profit lift去评价模型。
话说回来,2%的sensitivity也太低了,false negative rate=0.98,这样的模型似乎
很难用。 |
R******d 发帖数: 1436 | 3 我balance的目的是,试了不同的ratio,balance的performance最好。
我是故意要很高的specificity的,sensitivity和specificity可以通过设定不同的
prediction score threshold来实现。一般都是报道两者加和最大时候的值吧?AUC这
个指标和数
据是balance和imbalanced的无关。我的AUC在0.88
我的目的是只要找到就行,不需要都找到,所以把specificity调得很高。对于我的处
理方法,算ppv
是应该按balance还是imbalance的来算?
profit lift怎么用?
matrix
【在 d*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 不太懂你这个领域的建模。像你这样的binary model评价应该是sensitivity和 : specificity的平衡,比如AUC。像Kdd cup2009的AUC baseline是0.6-0.7,获奖的队在 : AUC都在0.85左右。 : 你balance的目地是想牺牲sensitivity换specificity吧?最好构建一个weight matrix : ,用profit lift去评价模型。 : 话说回来,2%的sensitivity也太低了,false negative rate=0.98,这样的模型似乎 : 很难用。
|
D******n 发帖数: 2836 | 4 AUC好像还是受skewed data影响的。
该问的问题不是要用哪个metrics,而是你想要什么,一般就是一个objective function。
【在 R******d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我balance的目的是,试了不同的ratio,balance的performance最好。 : 我是故意要很高的specificity的,sensitivity和specificity可以通过设定不同的 : prediction score threshold来实现。一般都是报道两者加和最大时候的值吧?AUC这 : 个指标和数 : 据是balance和imbalanced的无关。我的AUC在0.88 : 我的目的是只要找到就行,不需要都找到,所以把specificity调得很高。对于我的处 : 理方法,算ppv : 是应该按balance还是imbalance的来算? : profit lift怎么用? :
|
a*****3 发帖数: 601 | 5 你这胖猫头像也太bt了,贱妾pharm看了怕是要做噩梦,还是那个鲨鱼牙看上去比较自然
些。
在: AUC都在0.85左右。: 你balance的目地是想牺牲sensitivity换specificity吧?最
好构建一个weight matrix: ,用profit lift去评价模型。
乎: 很难用。
【在 d*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 不太懂你这个领域的建模。像你这样的binary model评价应该是sensitivity和 : specificity的平衡,比如AUC。像Kdd cup2009的AUC baseline是0.6-0.7,获奖的队在 : AUC都在0.85左右。 : 你balance的目地是想牺牲sensitivity换specificity吧?最好构建一个weight matrix : ,用profit lift去评价模型。 : 话说回来,2%的sensitivity也太低了,false negative rate=0.98,这样的模型似乎 : 很难用。
|
d*******o 发帖数: 493 | 6 猫当然是越胖越好玩,俺就喜欢胖猫,哈哈
【在 a*****3 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你这胖猫头像也太bt了,贱妾pharm看了怕是要做噩梦,还是那个鲨鱼牙看上去比较自然 : 些。 : : 在: AUC都在0.85左右。: 你balance的目地是想牺牲sensitivity换specificity吧?最 : 好构建一个weight matrix: ,用profit lift去评价模型。 : 乎: 很难用。
|
s*r 发帖数: 2757 | 7 2%是低,不过如果原来的prevalence只有0.001呢,
那可是提高20倍呢,不一定肯定没有用
matrix
【在 d*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 不太懂你这个领域的建模。像你这样的binary model评价应该是sensitivity和 : specificity的平衡,比如AUC。像Kdd cup2009的AUC baseline是0.6-0.7,获奖的队在 : AUC都在0.85左右。 : 你balance的目地是想牺牲sensitivity换specificity吧?最好构建一个weight matrix : ,用profit lift去评价模型。 : 话说回来,2%的sensitivity也太低了,false negative rate=0.98,这样的模型似乎 : 很难用。
|
d*******o 发帖数: 493 | 8 Skewed interval outcome还可以做transformation. Unbalanced binary outcome好像
也没什么办法。我估计,楼主balance的后果是增加了positive outcome的权重。线性
模型估计影响很大,非线性模型影响还好。
我好奇楼主是怎么把”多次结果汇总的“。另外,楼主的AUC是validation时候的AUC吗? |
d*******o 发帖数: 493 | 9 有道理,长见识了,谢谢郎先生。
我原来想100个癌症患者只能找出2个,咋就这么低了。
【在 s*r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 2%是低,不过如果原来的prevalence只有0.001呢, : 那可是提高20倍呢,不一定肯定没有用 : : matrix
|
p********i 发帖数: 1963 | 10 好厉害啊..能用就可以了..
points
【在 R******d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在想做一个predictor,用来预测人群中的某种不常见的疾病,发病率不到1%。 : training data是 : 非常imbalanced的,positive data points很少,绝大部分都是negative data points : 。我 : 没有直接用这样的training data,而是人为地构建了balanced data。简单的说,就是 : 保持 : positive data points不变,随机选同样sample size的negative data points。重复 : 训练 : 若干次,最后的训练结果是这么多次结果的汇总。 : 因为发病率确实很低,所以我取的specificity很高,比如99.9%。相应来说
|
|
|
g********r 发帖数: 8017 | 11 unbalanced就该改loss function了吧?就是false positive和false negative的惩罚
不一样。最后的结果就是像你做的specificity很高,sensitivity相对低。但看起来好
看点。
points
【在 R******d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在想做一个predictor,用来预测人群中的某种不常见的疾病,发病率不到1%。 : training data是 : 非常imbalanced的,positive data points很少,绝大部分都是negative data points : 。我 : 没有直接用这样的training data,而是人为地构建了balanced data。简单的说,就是 : 保持 : positive data points不变,随机选同样sample size的negative data points。重复 : 训练 : 若干次,最后的训练结果是这么多次结果的汇总。 : 因为发病率确实很低,所以我取的specificity很高,比如99.9%。相应来说
|
R******d 发帖数: 1436 | 12 做100次prediction就有100个prediction score,平均起来。AUC就是根据这个100个值
的平均
值来算的。
AUC好像还是受skewed data影响的。
这个有出处么,俺的印象中都是AUC和sensitivity和specificity的组合有关, is not
sensitive to imbalances in the data
像
吗?
【在 d*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Skewed interval outcome还可以做transformation. Unbalanced binary outcome好像 : 也没什么办法。我估计,楼主balance的后果是增加了positive outcome的权重。线性 : 模型估计影响很大,非线性模型影响还好。 : 我好奇楼主是怎么把”多次结果汇总的“。另外,楼主的AUC是validation时候的AUC吗?
|
D******n 发帖数: 2836 | 13 For example:
"Area under the curve is most appropriate when each
curve dominates another. However, researchers have
proposed analyses for when curves cross (Provost &
Fawcett, 2001). There are also analyses for when only
a portion of the roc curve is of interest (McClish,
1989; Woods et al., 1997) and when analyzing more
than two decisions (Swets & Pickett, 1982; Mossman,
1999; Hand & Till, 2001)"
not
【在 R******d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 做100次prediction就有100个prediction score,平均起来。AUC就是根据这个100个值 : 的平均 : 值来算的。 : AUC好像还是受skewed data影响的。 : 这个有出处么,俺的印象中都是AUC和sensitivity和specificity的组合有关, is not : sensitive to imbalances in the data : : 像 : 吗?
|
R******d 发帖数: 1436 | 14 没说AUC和data imbalance有关啊。
【在 D******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : For example: : "Area under the curve is most appropriate when each : curve dominates another. However, researchers have : proposed analyses for when curves cross (Provost & : Fawcett, 2001). There are also analyses for when only : a portion of the roc curve is of interest (McClish, : 1989; Woods et al., 1997) and when analyzing more : than two decisions (Swets & Pickett, 1982; Mossman, : 1999; Hand & Till, 2001)" :
|
A*******s 发帖数: 3942 | 15 要是我没记错和理解错的话,dashagen给出的那篇文章(Provost & Fawcett, 2001)就
说了怎么根据cost/class distribution划出iso-performance lines去切ROC。如果你
要比较两个model的好坏,我觉得用这个定义说得通。如果两个model的ROC是相交的,
那么不同的threshold的设定可能就会有不同的优劣比较。如果ROC不相交的话,那么自
然是AUC越大越好了。
points
【在 R******d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在想做一个predictor,用来预测人群中的某种不常见的疾病,发病率不到1%。 : training data是 : 非常imbalanced的,positive data points很少,绝大部分都是negative data points : 。我 : 没有直接用这样的training data,而是人为地构建了balanced data。简单的说,就是 : 保持 : positive data points不变,随机选同样sample size的negative data points。重复 : 训练 : 若干次,最后的训练结果是这么多次结果的汇总。 : 因为发病率确实很低,所以我取的specificity很高,比如99.9%。相应来说
|
P****D 发帖数: 11146 | 16 没事,贱妾就喜欢胖的。
【在 a*****3 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你这胖猫头像也太bt了,贱妾pharm看了怕是要做噩梦,还是那个鲨鱼牙看上去比较自然 : 些。 : : 在: AUC都在0.85左右。: 你balance的目地是想牺牲sensitivity换specificity吧?最 : 好构建一个weight matrix: ,用profit lift去评价模型。 : 乎: 很难用。
|