Есть ли способ вычислить среднее значение по вертикали (http://vicos.fri.uni-lj.si/data/vprsistemi/ROCintro.pdf) из нескольких ROC curves в MATLAB? Я нашел в руководстве MATLAB, что perfcurve может это сделать, но я понятия не имею, как его использовать.ROC кривая вертикальная средняя в MATLAB
1
A
ответ
4
Вы можете просто конкатенировать вероятность обнаружения массивов в матрице и затем принять их среднее значение. Если предположить, что вероятность ложной тревоги проводятся в векторе строк PFA
и ваша вероятность обнаружения значений проводятся в векторах ряда PD1
, PD2
...:
PDMatrix = [PD1; PD2; ...];
PDMean = mean(PDMatrix, 1);
Это предполагает, ваши кривые ROC все доли того же PFA значения. Если это не так, вы можете создать общий массив PFA и использовать interp1 для повторной выборки массивов PD до усреднения. Например, если вы заинтересованы в логарифмически разнесенных значений PFA от 10^-6 до «около 1,» и ваши PFA пар/PD имеют данные в интерпол в этом диапазоне, вы можете сделать что-то вроде
PFAResampled = logspace(-6, -.1, 1000);
PD1Resampled = interp1(PFA1, PD1, PFAResampled);
PD2Resampled = interp1(PFA2, PD2, PFAResampled);
После этого вы можете просто конкатенировать и принять среднее значение, как показано выше.