mafdr: Interpreting Q values vs. BHFDR adjusted p-values

31 views (last 30 days)
Using mafdr to produce false discovery rate adjusted Q values from lists of p-values has been working well for me with large datasets. The adjusted values appear reasonable. However, with very small datasets the Q values produced can be smaller than the initial p-values - particularly if many of the p-values are small. This seems wrong. As Q values are interpreted as p-values adjusted for the false discovery rate, shouldn't they always be larger than the initial p-value?
e.g.
if true
>> P
P =
0.0162 0.0322 0.0888 0.0495 0.0507 0.1583
>> [FDR, Q]=mafdr(P)
FDR =
0.0023 0.0023 0.0025 0.0023 0.0018 0.0037
Q =
0.0018 0.0018 0.0025 0.0018 0.0018 0.0037
end
A workaround for this is the 'BHFDR' option, which produces resonable looking adjustments to the p-values. It appears to use a different procedure to calculate the values
if true
>> mafdr(P,'BHFDR', true)
ans =
0.0761 0.0761 0.1065 0.0761 0.0761 0.1583
end
Does anyone know why this occurs? Am I misinterpreting the meaning of the Q values? Should I switch over entirely to the 'BHFDR' procedure for both large and small datasets? Best regards, Kevin
  5 Comments
Mango Wang
Mango Wang on 19 Aug 2019
@Samaneh, They are quite similar. Based on my dataset, I calculate the correlation between fdr and q, The result is 1.

Sign in to comment.

Answers (2)

Mango Wang
Mango Wang on 19 Aug 2019
Edited: Walter Roberson on 16 Dec 2021
It seems FDR is suitable for the case when the dataset/hypothesis is very large due to the principle of the inherent method. https://www.mailman.columbia.edu/research/population-health-methods/false-discovery-rate check here for reference.

Thomas Alderson
Thomas Alderson on 13 Dec 2021
Edited: Image Analyst on 15 Dec 2021
This method sometimes produces q values smaller than p values, which is bad

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!