ヘロログ
統計学

Z検定

全国学力テストでは、過去数十年のデータから全国平均と標準偏差が正確に把握されている。ある学校の生徒の成績が全国平均と異なるかどうかを判断したいとき、母集団の標準偏差が既知であることを活かした検定が可能である。このように母分散(または母標準偏差)が既知の場合に、平均値に関する仮説を検定する手法がZ検定である。

Z検定は検定統計量が標準正規分布(Z分布)に従うことからこの名がついた。歴史的には、統計ソフトが普及する以前、t分布の数表作成が煩雑だったため、サンプルサイズが大きい場合(目安として30以上)にはZ検定が広く用いられていた。現在では母分散が未知の場合に用いるt検定が一般的だが、Z検定は統計的仮説検定の基礎を理解する上で重要であり、品質管理など長年の実績データがある分野では今も活用されている。

Z検定とは

Z検定(Z-test)は、母集団の分散が既知の場合に、母平均に関する仮説を検定する手法である。検定統計量Zが標準正規分布N(0, 1)に従うことを利用する。

Z検定には主に2つの種類がある。

1標本Z検定 1つの標本 標本平均 比較 基準値 μ₀ 例:規格値500g 2標本Z検定 群A 平均、n人 群B 平均、m人 平均A ≠ 平均B ? 例:2工場の品質比較
図1: Z検定の2つの種類

Z検定とt検定の違い

Z検定とt検定はどちらも平均に関する検定だが、母分散が既知かどうかで使い分ける。

Z検定 t検定
母分散 既知 未知
検定統計量の分布 標準正規分布 N(0, 1) t分布 t(n−1)
臨界値(両側5%) ±1.96(固定) 自由度により変動
使用場面 品質管理など実績データあり 一般的な実験・調査

実際の統計分析では母分散が未知であることがほとんどなので、t検定の方がよく使われる。しかし、Z検定は統計的仮説検定の基本を理解する上で重要であり、サンプルサイズが十分大きい場合はt分布が標準正規分布に近づくため、Z検定で近似することも多い。

1標本Z検定

1標本Z検定は、1つの標本から得られた平均が、ある基準値と異なるかどうかを検定する手法である。

設定

確率変数 X_1, \ldots, X_n が互いに独立に平均 \mu、分散 \sigma^2既知)の正規分布に従うとする。

仮説

帰無仮説 H_0: \mu = \mu_0 に対して、以下の3通りの対立仮説を考える。

\begin{aligned} (1) \quad & H_1: \mu > \mu_0 \quad \text{(右側対立仮説)} \\ (2) \quad & H_1: \mu < \mu_0 \quad \text{(左側対立仮説)} \\ (3) \quad & H_1: \mu \neq \mu_0 \quad \text{(両側対立仮説)} \end{aligned}

検定統計量

帰無仮説のもとで、標本平均 \bar{X} = \dfrac{1}{n} \sum_{i=1}^{n} X_i は平均 \mu_0、分散 \dfrac{\sigma^2}{n} の正規分布に従う。これを標準化した検定統計量

Z = \dfrac{\bar{X} - \mu_0}{\sigma / \sqrt{n}}

標準正規分布 N(0, 1) に従う。

棄却域

有意水準 \alpha に対して、各対立仮説に応じた棄却条件は次の通り。

\begin{aligned} (1) \quad & Z \geq z_{\alpha/2} \\ (2) \quad & Z \leq -z_{\alpha/2} \\ (3) \quad & |Z| \geq z_{\alpha/2} \end{aligned}

ここで z_{\alpha/2} は標準正規分布の上側 100 \cdot \dfrac{\alpha}{2} %点である。たとえば \alpha = 0.05 のとき z_{0.025} = 1.96 である。

両側検定の棄却域(α = 0.05) Z f(Z) −4 −3 −2 −1 0 1 2 3 4 −1.96 1.96 棄却域 α/2 = 2.5% 棄却域 α/2 = 2.5%
図2: 標準正規分布と両側検定の棄却域(α = 0.05)

計算例:1標本Z検定

例題

ある工場で生産される製品の重量は、長年の実績から標準偏差 σ = 5g であることが分かっている。最近の製品10個の重量を測定したところ、平均が502gだった。この製品の真の平均重量は500gと言えるか?有意水準5%で両側検定を行う。

解答

ステップ1:仮説の設定

\begin{aligned} H_0 &: \mu = 500 \\ H_1 &: \mu \neq 500 \end{aligned}

ステップ2:検定統計量の計算

Z = \dfrac{\bar{X} - \mu_0}{\sigma / \sqrt{n}} = \dfrac{502 - 500}{5 / \sqrt{10}} = \dfrac{2}{1.581} = 1.265

ステップ3:棄却域との比較

有意水準 α = 0.05 の両側検定では、臨界値は ±1.96 である。

|Z| = 1.265 < 1.96 = z_{0.025}

ステップ4:結論

|Z| = 1.265 は棄却域に入らないので、帰無仮説を棄却しない。したがって、有意水準5%では「真の平均重量は500gではない」とは言えない。

なお、P値を計算すると P = 0.206 である。これは α = 0.05 より大きいので、同じ結論が得られる。

2標本Z検定

2標本Z検定は、2つの独立した群の平均に差があるかどうかを検定する手法である。

設定

群Aの n_A 個のデータ X_{A1}, \ldots, X_{An_A} が互いに独立に平均 \mu_A、分散 \sigma_A^2(既知)の正規分布に従い、群Bの n_B 個のデータ X_{B1}, \ldots, X_{Bn_B} が互いに独立に平均 \mu_B、分散 \sigma_B^2(既知)の正規分布に従うとする。

仮説

平均の差を \delta = \mu_A - \mu_B とし、帰無仮説 H_0: \delta = \delta_0(多くの場合 \delta_0 = 0)を検定する。

検定統計量

帰無仮説のもとで、検定統計量

Z = \dfrac{(\bar{X}_A - \bar{X}_B) - \delta_0}{\sqrt{\dfrac{\sigma_A^2}{n_A} + \dfrac{\sigma_B^2}{n_B}}}

は標準正規分布 N(0, 1) に従う。

特に2群の分散が等しい(\sigma_A^2 = \sigma_B^2 = \sigma^2)場合は、

Z = \dfrac{(\bar{X}_A - \bar{X}_B) - \delta_0}{\sigma \sqrt{\dfrac{1}{n_A} + \dfrac{1}{n_B}}}

となる。棄却域は1標本Z検定と同様である。

計算例:2標本Z検定

例題

2つの工場A, Bで生産される製品の平均重量に差があるか検定する。過去のデータから、両工場の標準偏差は σ = 4g と分かっている。工場Aでは15個を測定して平均102g、工場Bでは12個を測定して平均98gだった。有意水準5%で両側検定を行う。

解答

ステップ1:仮説の設定

\begin{aligned} H_0 &: \mu_A = \mu_B \quad (\delta_0 = 0) \\ H_1 &: \mu_A \neq \mu_B \end{aligned}

ステップ2:標準誤差の計算

SE = \sigma \sqrt{\dfrac{1}{n_A} + \dfrac{1}{n_B}} = 4 \times \sqrt{\dfrac{1}{15} + \dfrac{1}{12}} = 4 \times 0.387 = 1.549

ステップ3:検定統計量の計算

Z = \dfrac{(\bar{X}_A - \bar{X}_B) - 0}{SE} = \dfrac{102 - 98}{1.549} = \dfrac{4}{1.549} = 2.582

ステップ4:棄却域との比較

|Z| = 2.582 > 1.96 = z_{0.025}

ステップ5:結論

|Z| = 2.582 は棄却域に入るので、帰無仮説を棄却する。有意水準5%で「2つの工場の製品の平均重量には差がある」と結論できる(P値 = 0.0098)。

練習問題

問1. ある機械で製造されるボルトの長さは標準偏差 σ = 0.3mm であることが分かっている。最近製造された16本のボルトを測定したところ、平均長さは50.2mmだった。この機械が製造するボルトの真の平均長さは50mmと言えるか?有意水準5%で両側検定を行え。

検定統計量:

Z = \dfrac{50.2 - 50}{0.3 / \sqrt{16}} = \dfrac{0.2}{0.075} = 2.667

|Z| = 2.667 > 1.96 なので、帰無仮説を棄却する。

結論:有意水準5%で、真の平均長さは50mmではないと言える。

問2. 2種類の肥料A, Bの効果を比較する。過去の実験から、どちらの肥料を使っても収穫量の標準偏差は σ = 5kg であることが分かっている。肥料Aを使った10区画の平均収穫量は48kg、肥料Bを使った8区画の平均収穫量は52kgだった。2つの肥料の効果に差があると言えるか?有意水準5%で検定せよ。

標準誤差:

SE = 5 \times \sqrt{\dfrac{1}{10} + \dfrac{1}{8}} = 5 \times 0.474 = 2.372

検定統計量:

Z = \dfrac{48 - 52}{2.372} = \dfrac{-4}{2.372} = -1.686

|Z| = 1.686 < 1.96 なので、帰無仮説を棄却しない。

結論:有意水準5%では「2つの肥料の効果に差がある」とは言えない。

まとめ

項目 1標本Z検定 2標本Z検定
目的 標本平均が基準値と異なるか 2群の平均に差があるか
前提条件 母分散 σ² が既知 両群の母分散が既知
検定統計量 Z = \dfrac{\bar{X} - \mu_0}{\sigma / \sqrt{n}} Z = \dfrac{\bar{X}_A - \bar{X}_B}{\sqrt{\frac{\sigma_A^2}{n_A} + \frac{\sigma_B^2}{n_B}}}
分布 標準正規分布 N(0, 1)
臨界値(両側5%) ±1.96
Z検定を使う場面

母分散が既知の場合(品質管理など長年の実績データがある場合)、またはサンプルサイズが十分大きく(n ≥ 30程度)t分布が正規分布に近似できる場合に使用する。

Python実装

Pythonでは scipy.stats を使ってZ検定を実行できる。ただし、標準的なZ検定の関数は用意されていないため、自分で計算するか、statsmodels ライブラリを使用する。

z_test.py
import numpy as np
from scipy import stats

# ========== 1標本Z検定 ==========
print("【1標本Z検定】")
print("母分散既知(σ = 5g)、n = 10、標本平均 = 502g")
print("H₀: μ = 500 vs H₁: μ ≠ 500")
print()

n = 10
x_bar = 502
mu_0 = 500
sigma = 5

# 検定統計量
z = (x_bar - mu_0) / (sigma / np.sqrt(n))
print(f"検定統計量 Z = {z:.4f}")

# P値(両側)
p_value = 2 * (1 - stats.norm.cdf(abs(z)))
print(f"P値 = {p_value:.4f}")

# 判定
alpha = 0.05
z_crit = stats.norm.ppf(1 - alpha/2)
print(f"臨界値 = ±{z_crit:.4f}")
if abs(z) >= z_crit:
    print("結論: 帰無仮説を棄却")
else:
    print("結論: 帰無仮説を棄却しない")

print()
print("=" * 40)
print()

# ========== 2標本Z検定 ==========
print("【2標本Z検定】")
print("共通の母分散(σ = 4g)")
print("工場A: n = 15, 平均 = 102g")
print("工場B: n = 12, 平均 = 98g")
print()

n_A, n_B = 15, 12
x_bar_A, x_bar_B = 102, 98
sigma = 4

# 標準誤差
se = sigma * np.sqrt(1/n_A + 1/n_B)
print(f"標準誤差 SE = {se:.4f}")

# 検定統計量
z = (x_bar_A - x_bar_B) / se
print(f"検定統計量 Z = {z:.4f}")

# P値(両側)
p_value = 2 * (1 - stats.norm.cdf(abs(z)))
print(f"P値 = {p_value:.4f}")

# 判定
if abs(z) >= z_crit:
    print("結論: 帰無仮説を棄却(有意差あり)")
else:
    print("結論: 帰無仮説を棄却しない")
【1標本Z検定】 母分散既知(σ = 5g)、n = 10、標本平均 = 502g H₀: μ = 500 vs H₁: μ ≠ 500 検定統計量 Z = 1.2649 P値 = 0.2059 臨界値 = ±1.9600 結論: 帰無仮説を棄却しない ======================================== 【2標本Z検定】 共通の母分散(σ = 4g) 工場A: n = 15, 平均 = 102g 工場B: n = 12, 平均 = 98g 標準誤差 SE = 1.5492 検定統計量 Z = 2.5820 P値 = 0.0098 結論: 帰無仮説を棄却(有意差あり)