Home » How to Find the F Critical Value in Python

How to Find the F Critical Value in Python

by Tutor Aspire

When you conduct an F test, you will get an F statistic as a result. To determine if the results of the F test are statistically significant, you can compare the F statistic to an F critical value. If the F statistic is greater than the F critical value, then the results of the test are statistically significant.

The F critical value can be found by using an F distribution table or by using statistical software.

To find the F critical value, you need:

  • A significance level (common choices are 0.01, 0.05, and 0.10)
  • Numerator degrees of freedom
  • Denominator degrees of freedom

Using these three values, you can determine the F critical value to be compared with the F statistic.

How to Find the F Critical Value in Python

To find the F critical value in Python, you can use the scipy.stats.f.ppf() function, which uses the following syntax:

scipy.stats.f.ppf(q, dfn, dfd)

where:

  • q: The significance level to use
  • dfn: The numerator degrees of freedom
  • dfd: The denominator degrees of freedom

This function returns the critical value from the F distribution based on the significance level, numerator degrees of freedom, and denominator degrees of freedom provided.

For example, suppose we would like to find the F critical value for a significance level of 0.05, numerator degrees of freedom = 6, and denominator degrees of freedom = 8. 

import scipy.stats

#find F critical value
scipy.stats.f.ppf(q=1-.05, dfn=6, dfd=8)

3.5806

The F critical value for a significance level of 0.05, numerator degrees of freedom = 6, and denominator degrees of freedom = 8 is 3.5806.

Thus, if we’re conducting some type of F test then we can compare the F test statistic to 3.5806. If the F statistic is greater than 3.580, then the results of the test are statistically significant.

Note that smaller values of alpha will lead to larger F critical values. For example, consider the F critical value for a significance level of 0.01, numerator degrees of freedom = 6, and denominator degrees of freedom = 8. 

scipy.stats.f.ppf(q=1-.01, dfn=6, dfd=8)

6.3707

And consider the F critical value with the exact same degrees of freedom for the numerator and denominator, but with a significance level of 0.005:

scipy.stats.f.ppf(q=1-.005, dfn=6, dfd=8)

7.9512

Refer to the SciPy documentation for the exact details of the f.ppf() function.

You may also like