Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

One-sample z-test for the mean

The goal of the one-sample zz-test to check if the mean μ\mu of an unknown population X∼N(μ,σ)X \sim \mathcal{N}(\mu, \sigma), equals the mean μ0\mu_0 of a theoretical distribution X0∼N(μ0,σ)X_0 \sim \mathcal{N}(\mu_0, \sigma). Note we assume that standard deviation of the unknown population XX is known and equal to the standard deviation of the theoretical population σ\sigma. We discussed this hypothesis test in notebooks/34_analytical_approx.ipynb.

Data

One sample of numerical observations x=(x1,x2,…,xn)\mathbf{x} = (x_1, x_2, \ldots, x_n).

Modeling assumptions

We model the unknown population as...

and the theoretical distribution is...

We assume the population is normally distributed (NORM)\textbf{(NORM)}, or the sample is large enough (LARGEn)\textbf{(LARGEn)}.

We also assume that the variance of the unknown population is known and equal to the variance of the theoretical population under H0H_0

Hypotheses

H0:μ=μ0H_0: \mu = \mu_0 and HA:μ≠μ0H_A: \mu \neq \mu_0, where μ\mu is the unknown population mean, μ0\mu_0 is the theoretical mean we are comparing to.

Statistical design

for n=5n=5 ...

for n=20n=20 ...

Test statistic

Compute z=x‾−μ0σ0/nz = \frac{\overline{\mathbf{x}} - \mu_0}{\sigma_0/\sqrt{n}}, where x‾\overline{\mathbf{x}} is the sample mean, μ0\mu_0 is the theoretical population mean, σ0\sigma_0 is the known standard deviation.

Sampling distribution

Standard normal distribution Z∼N(0,1)Z \sim \mathcal{N}(0,1).

P-value calculation

def ztest(sample, mu0, sigma0, alt="two-sided"): """ Z-test to detect mean deviation from known normal population. """ mean = np.mean(sample) n = len(sample) se = sigma0 / np.sqrt(n) obsz = (mean - mu0) / se rvZ = norm(0,1) pval = tailprobs(rvZ, obsz, alt=alt) return pval

To perform the one-sample zz-test on the sample xs, we call ztest(xs, mu0=..., sigma0=...), with the ...s replaced by the mean and standard deviation parameters of the distribution under H0H_0.

Examples

For all the examples we present below, we assume the theoretical distribution we expect under the null hypothesis, is normally distributed with mean μX0=100\mu_{X_0}=100 and standard deviation σX0=5\sigma_{X_0} = 5:

rvX0=X0∼N(100,5).\texttt{rvX0} = X_0 \sim \mathcal{N}(100,5).

Example A: population different from H0H_0

Suppose the unknown population is normally distributed with mean μXA=104\mu_{X_A}=104 and standard deviation σXA=3\sigma_{X_A} = 3:

rvXA=XA∼N(110,3).\texttt{rvXA} = X_A \sim \mathcal{N}(110,3).

Let’s generate a sample xAs of size n=20n=20 from the random variable X=rvXAX = \texttt{rvXA}.

array([105.49014246, 103.5852071 , 105.94306561, 108.56908957, 103.29753988, 103.29758913, 108.73763845, 106.30230419, 102.59157684, 105.62768013, 102.60974692, 102.60281074, 104.72588681, 98.26015927, 98.8252465 , 102.31313741, 100.96150664, 104.942742 , 101.27592777, 99.7630889 ])
<Figure size 700x100 with 1 Axes>

To obtain the pp-value, we first compute the observed zz-statistic, then calculate the tail probabilities in the two tails of the standard normal distribution Z∼N(0,1)Z\sim\mathcal{N}(0,1).

(3.1180664906014357, 0.0018204172963375287)

The helper function ztest in the ministats module performs exactly the same sequence of steps to compute the pp-value.

0.0018204172963375855

The pp-value we obtain is 0.0018 (0.18%), which is below the cutoff value α=0.05\alpha=0.05, so our conclusion is we reject the null hypothesis: the mean of the sample xAs is not statistically significantly different from the theoretically expected mean μX0=100\mu_{X_0} = 100.

Example B: sample from a population as expected under H0H_0

Let’s generate a sample xBs of size n=20n=20 from the random variable X=rvXX = \texttt{rvX}, which has the same distribution as the theoretical distribution we expect under the null hypothesis.

array([ 97.92621393, 98.33315666, 100.40545993, 96.04486524, 98.90700164, 96.18401578, 96.11439878, 109.24678261, 96.47199845, 99.56978983, 101.43966651, 99.34306739, 95.08627924, 95.40604357, 105.99717245, 98.29312879, 91.20696344, 100.25558735, 97.14035504, 96.49716979])
<Figure size 700x100 with 1 Axes>
0.17782115942197962

The pp-value we obtain is 0.18, which is above the cutoff value α=0.05\alpha=0.05 so our conclusion is that we’ve failed to reject the null hypothesis: the mean of the sample xBs is not significantly different from the theoretically expected mean μX0=100\mu_{X_0} = 100.

Effect size estimates

  • Use the one-sample tt-test if you want to use the sample standard deviation

  • Identical calculations to the one-saple zz-test for proportions

Discussion

CUT MATERIAL