n = [45,15];
rng(3)
for mult = 1:100
for iter = 1:30
healthy = normrnd(0,1,n(1)*mult,1);
abnormal = normrnd(1.25,1,n(2)*mult,1);
score = [healthy;abnormal];
label = [zeros(n(1)*mult,1);ones(n(2)*mult,1)];
[~,~,~,AUC(mult,iter)] = perfcurve(label,score,1);
end
end
M = mean(AUC,2);
SD = std(AUC,[],2);
figure;
errorbar(M',SD')
xlabel('How many times to multiply N subjects')
ylabel('Mean AUC for 30 iterations (bars = SD)')
title('AUC by N subjects')
ylim([0.5 1])
box off
grid on
AUC原则上不应改变N个大小。然而,随着N的增大,您将更确定您的受试者样本的AUC与一般人群相似。在这里,我模拟了一个随机抽样的“受试者”,15个病人和45个健康人,然后计算AUC。我做了30次,AUC在0.69到0.93之间。我将样本量乘以100,AUC范围是0.8到0.82。你知道吗
相关问题 更多 >
编程相关推荐