P value after Geisser-Greenhouse correction

I have noticed that when Graphpad Prism does a sphericity correction using the Geisser-Greenhouse correction, it halves the P value for this source of variation (typically Treatments). For example, in the example I am working on, it calculates an F value of 20.25, with DF(num) = 1.391, and DF(den) = 2.783. The P value for this F-ratio should be 0.046. However, Prism gives 0.023. On the other hand, for the Individual or Between Rows source, there is no correction for sphericity, and the F-ratio is 0.25, with DF(num) = 2, and DF(den) = 4. It gives a P-value of 0.7901 for this F-ratio, and as you can verify, it is the 'full" P-value. Why does it halve it when there is a Geisser-Greenhouse correction for sphericity? I redid the analysis with no correction for sphericity; it now gives an F-ratio of 20.25, with DF(num) = 2, and DF(den) = 4. And the P-value is the "full" value of 0.0081.

Excel gives the one-tail P-value when the formula FDIST(x, df_num, df_den) is used. Using the above values, it gives a P-value of 0.046 for FDIST(20.25, 1.391, 2.783). To get the two-tail value, we need to double this P-value, not halve it. That is why I am confused.

Any insights? Thank you.



Active Member
Interesting. Do you have any other software to check against? If you send me data I will check against SAS when I get a chance. What prism are you using? What do the prism docs say?
Hello @fed2, thanks for the reply. The result is not data-specific (I have tried it with other data sets too). But here is the data set that I initially found the issue with. It is just made-up data for the purpose of teaching the concept:


I will try it with other software too. Thanks.

Actually, I just ran the same analysis using SPSS, and yes, it gives me a P value of 0.023 as well. So the halving of the P value when the GG correction is used is not just a Graphpad issue.

SPSS output.JPG


Active Member
SAS GLM agrees with the above. Looks plausble to me given what I know about these adjustments, which is not much. Its actually not halving the p-value, in the sense that 'the p-value' assuming sphericity is labeled 'sphericity assumed'. Proc mixed gives the 0.008 as well.

Well id say if 3 major softwares agree, then its you and not the software. I sort of feel like these corrections are grandpas stats, since the proliferation of mixed models, but is still good.

Sometimes you can catch these software with their proverbial pants down, but not often.
Thanks for checking with SAS, @fed2. Appreciate it. With only Graphpad, there was a possibility (albeit remote) that there was a mistake, but not with three. Not sure what you mean by "it's you," though. It's me only in the sense that I don't know why the P-value for a given F-ratio and dfs is different from what this P-value should be for those F-ratio and dfs (as checked by other software), when there is a GG correction. Indeed, that was my question in my original post. Thanks.


Active Member
SAS prints an 'epsilon' value, i cant remember what it was here, maybe prism prints it as well? Anyway, according to the SAS docs, that gets multiplied by the numerator and denominator df, use the same f ratio to get p-value. see if that works out. The estimation of epsilon is a little much to go into now.
The epsilon value Prism gave me with the GG correction was 0.6957. Yes, the original df values are multiplied by this value to get the modified dfs. The dfs w/o correction are 2, and 4, and so when you multiply them by 0.6957, you get 1.391 and 2.783. The F-ratio is unaffected by the GG correction and remains at 20.25. My question is that these software give the P value for an F-ratio of 20.25, and df(num) = 1.391, and df(den) = 2.783 as 0.0230, when it should be 0.046. This can be verified. For instance FDIST(20.25, 1.391, 2.783) = 0.046 in Excel. This difference is only when there is a correction for sphericity (I've only checked it with the GG correction). Interesting, but vexing too.


Active Member
excel docs indicate it truncates the df's. Try using F distribution in R or another. SAS is giving 0.023 for where you got 0.046.
Don't run the analysis. Just try to obtain the P value for an F-ratio of 20.25, df(num) = 1.391,. and df(den) = 2.783 in SAS. You will get 0.046. So why do these different software give a P value of 0.023 for the same parameters? There is something in the analysis once the GG correction is made that makes them do that. What is it? My understanding is that the GG correction computes the value of epsilon, and then uses it to modify the df values. After that though, it seems like a black box, because even though it is using the F ratio and the modified df values, it is giving a different P value when compared to what say Excel gives for the same F ratio and the modified df values. Thanks for your interest, but this has been my question from the beginning.


Active Member
did you use the pf(20.25, 1.39, 2.783) in R yet? I am showing 0.023. excel is truncating the dfs. thats when 1.4 -> 1 and so forth.