有没有办法计算http://vicos.fri.uni-lj.si/data/vprsistemi/ROCintro.pdf中几个ROC curves的垂直平均值(MATLAB)?我在MATLAB指南中发现 perfcurve 可以做到,但我不知道如何使用它。
答案 0 :(得分:4)
您可以将检测数组的概率连接到矩阵中,然后取其平均值。假设您在行向量PFA
中保留了错误警报的可能性,并且您的检测值概率保存在行向量PD1
,PD2
,...:
PDMatrix = [PD1; PD2; ...];
PDMean = mean(PDMatrix, 1);
这假设您的ROC曲线都共享相同的PFA值。如果不是这种情况,那么您可以创建一个公共PFA阵列,并在平均之前使用interp1重新采样PD阵列。例如,如果您对从10 ^ -6到“接近1”的对数间隔PFA值感兴趣,并且您的PFA / PD对具有要在此范围内插的数据,则可以执行类似
的操作PFAResampled = logspace(-6, -.1, 1000);
PD1Resampled = interp1(PFA1, PD1, PFAResampled);
PD2Resampled = interp1(PFA2, PD2, PFAResampled);
之后,您可以连接并采用上面显示的均值。