Link Search Menu Expand Document (external link)

How to do a two-sided hypothesis test for a sample mean

Description

Say we have a population whose mean μ is known. We take a sample x1,,xn and compute its mean, x¯. We then ask whether this sample is significantly different from the population at large, that is, is μ=x¯?

Related tasks:

Solution, in Julia

View this solution alone.

This is a two-sided test with the null hypothesis H0:μ=x¯. We choose a value 0α1 as the probability of a Type I error (false positive, finding we should reject H0 when it’s actually true).

1
2
3
4
5
6
7
8
9
10
# Replace these first three lines with the values from your situation.
alpha = 0.05
pop_mean = 10
sample = [ 9, 12, 14, 8, 13 ]

# The following code runs the test for your chosen alpha:
using HypothesisTests
p_value = pvalue( OneSampleTTest( sample, pop_mean ) )
reject_H0 = p_value < alpha
alpha, p_value, reject_H0
(0.05, 0.35845634462296455, false)

In this case, the p-value was larger than α, so the sample does not give us enough information to reject the null hypothesis. We would continue to assume that the sample is like the population, μ=x¯.

When you are using the most common value for α, which is 0.05 for the 95% confidence interval, you can simply print out the test itself and get a detailed printout with all the information you need, thus saving a few lines of code.

1
OneSampleTTest( sample, pop_mean )
One sample t-test
-----------------
Population details:
    parameter of interest:   Mean
    value under h_0:         10
    point estimate:          11.2
    95% confidence interval: (7.986, 14.41)

Test summary:
    outcome with 95% confidence: fail to reject h_0
    two-sided p-value:           0.3585

Details:
    number of observations:   5
    t-statistic:              1.0366421106976316
    degrees of freedom:       4
    empirical standard error: 1.1575836902790224

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Using SciPy, in Python

View this solution alone.

This is a two-sided test with the null hypothesis H0:μ=x¯. We choose a value 0α1 as the probability of a Type I error (false positive, finding we should reject H0 when it’s actually true).

1
2
3
4
5
6
7
8
9
10
11
12
from scipy import stats

# Replace these first three lines with the values from your situation.
alpha = 0.05
pop_mean = 10
sample = [ 9, 12, 14, 8, 13 ]

# Run a one-sample t-test and print out alpha, the p value,
# and whether the comparison says to reject the null hypothesis.
t_statistic, p_value = stats.ttest_1samp( sample, pop_mean )
reject_H0 = p_value < alpha
alpha, p_value, reject_H0
(0.05, 0.35845634462296455, False)

In this case, the sample does not give us enough information to reject the null hypothesis. We would continue to assume that the sample is like the population, μ=x¯.

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Solution, in R

View this solution alone.

This is a two-sided test with the null hypothesis H0:μ=x¯. We choose a value 0α1 as the probability of a Type I error (false positive, finding we should reject H0 when it’s actually true).

1
2
3
4
5
6
7
8
# Replace these first three lines with the values from your situation.
alpha <- 0.05
pop.mean <- 10
sample <- c( 9, 12, 14, 8, 13 )

# Run a one-sample t-test and print out alpha, the p value,
# and whether the comparison says to reject the null hypothesis.
t.test( sample, mu=pop.mean, conf.level=1-alpha )
	One Sample t-test

data:  sample
t = 1.0366, df = 4, p-value = 0.3585
alternative hypothesis: true mean is not equal to 10
95 percent confidence interval:
  7.986032 14.413968
sample estimates:
mean of x 
     11.2 

Although we can deduce the answer to our question from the above output, by comparing the p value with α manually, we can also ask R to do it.

1
2
3
# Is there enough evidence to reject the null hypothesis?
result <- t.test( sample, mu=pop.mean, conf.level=1-alpha )
result$p.value < alpha
[1] FALSE

In this case, the sample does not give us enough information to reject the null hypothesis. We would continue to assume that the sample is like the population, μ=x¯.

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Topics that include this task

Opportunities

This website does not yet contain a solution for this task in any of the following software packages.

  • Excel

If you can contribute a solution using any of these pieces of software, see our Contributing page for how to help extend this website.