有两组数据,就是发生(yes)或者不发生(no)某一件事情,比如发生肿瘤,一个数据代表一个病人某个检测指标的值。有没有一个统计算法,可以计算一个cut-off值,当这个检测指标大于这个cut-off值时,能更准确的诊断发生肿瘤。这个准确指能尽可能多的诊断,尽可能少的误诊。

Yes组:

[1] 0.32109750 0.79348360 0.52589270 0.39133940 0.42350590 0.81479070 0.44456680 0.82929460

[9] 0.17230320 0.70993290 0.56287530 0.60851870 0.56999280 0.43483320 0.63245780 0.78578140

[17] 0.60507990 0.81791290 0.79635460 0.62287630 0.39466980 0.61509700 0.66736820 0.76113140

[25] 0.67610220 0.63829310 0.72078540 0.64345100 0.60945250 0.77755120 0.85225700 0.53161360

[33] 0.52279420 0.09483982 0.28175510 0.74326330 0.42110970

No组:

[1] 0.1406644 0.1377828 0.1893458 0.5639005 0.2883006 0.2716695 0.2624926 0.4274271 0.2860391

[10] 0.4229323 0.4735313 0.4842243 0.4787067 0.4978065 0.2799158 0.4370997 0.1721652 0.3577464

[19] 0.4498401 0.2643176 0.3206086 0.2390780 0.5058979

谢谢!

回复 第1楼 的 xshang:

这个与计算“半数致死量”的方法一样,

所不同的是你需要衡量误诊与漏诊的利弊,预先设定一个合理的阿尔法(a),比如0.05。

R 语言里面有很多现成的软件包(如 drc 包)来算,你可以通过计算所谓的“95%死亡量”同样的方法,来计算你的95%可能患肿瘤的指标数值。

回复 第2楼 的 doctorjxd:搞定,非常感谢!

也可考虑分类器的方法,传统的LDA或SVM等结合交叉验证

计算misclassification error。 让cut-off的值从0-1以0.001增加,然后得到一个confusion matrix. 计算误将NO归为YES的和YES归为NO的。如果两种误判的严重性不同,可以引入Loss function来求得expected misclassification error.

2 个月 后

回复 第1楼 的 xshang:一般的话,做这种,你最好假设这个biomarker服从一个分部,比如normal,或者lognormal,gamma。然后算做参数估计,再算出来最优的cutoff(可以根据youden index,或者最小化 sensitivity+specificity)。如果感兴趣,请站内联系我。我就是做这个方面的。对分析这一类的数据非常有兴趣!

qq: 553915962