これまでの記事を読んで内容を理解してもらえたなら、今回の記事を読むことで、「正規母集団の母平均・母分散が分からなくても、標本から母標準偏差(母集団データの散らばり具合)を区間推定する」ことができる。

まずは前回の復習になるが、正規母集団からn個の標本を観測して標本分散を算出し、統計量Wを導き出せば、Wは自由度(n – 1)のカイ二乗分布をする、というところまで分かった。

カイ二乗分布は95パーセント予言的中区間を持っているので、これより母分散と母標準偏差の区間推定が可能となる。

では例題を解きながら、その具体的な方法を紹介しよう。

例題:母標準偏差の95パーセント信頼区間を求める

正規母集団から5人の身長データ(標本)を観測する。
それぞれ170cm、180cm、158cm、169cm、176cmだった場合、母標準偏差の95パーセント信頼区間はどうなるか、つまり母集団のデータがどの程度の散らばり具合を表しているかを考える。

まずは標本平均と標本分散を計算する。

$$\bar{x} = \frac{170 + 180 + 158 + 169 + 176}{5} = 170.6$$

$$S^2 = \frac{(170 – 170.6)^2 + (180 – 170.6)^2 + (158 – 170.6)^2 + (169 – 170.6)^2 + (176 – 170.6)^2}{5}$$

$$S^2 = \frac{(-0.6)^2 + (9.4)^2 + (-12.6)^2 + (-1.6)^2 + (5.4)^2}{5}$$

$$S^2 = \frac{0.36 + 88.36 + 158.76 + 2.56 + 29.16}{5}$$

$$S^2 = \frac{279.2}{5} = 55.84$$

次に標本分散から統計量Wを求める。

$$W = \frac{55.84 \times 5}{σ^2} = \frac{279.2}{σ^2}$$

今回は5個のデータを観測したので、Wは自由度4(5 – 1)のカイ二乗分布をする。

自由度4の95パーセント予言的中区間は、以前の記事で取り上げた表のとおり以下の区間に該当する。

自由度相対度数:0.975相対度数:0.025
40.484411.1433

$$0.4844 \leqq \frac{279.2}{σ^2} \leqq 11.1433$$

この不等式を解いていこう。

まずは左の式から。

$$0.4844σ^2 \leqq 279.2$$

$$σ^2 \leqq 576.38…$$

右の式も解く。

$$279.2 \leqq 11.1433σ^2$$

$$25.05… \leqq σ^2$$

不等式を解くと次の区間推定が得られる。
※小数点第3位以下は面倒なので切り捨てた。

$$25.05 \leqq σ^2 \leqq 576.38$$

最後に3辺のルートをとれば、母標準偏差を求められる。
次のとおりだ。

$$\sqrt{25.05} \leqq σ \leqq \sqrt{576.38}$$

$$約5 \leqq σ \leqq 約24$$

このことから、この母集団の母標準偏差(散らばり具合)は95パーセントの確率で約5cmから約24cmの範囲にある、と推定することができるのだ。

ここまでの計算をpythonで関数化してみたので、最後にコードを紹介して終わりにしよう。

import numpy as np

# カイ二乗分布の95パーセント信頼区間
chi = {
    1: [0.001, 5.023],
    2: [0.0506, 7.377],
    3: [0.2157, 9.3484],
    4: [0.4844, 11.1433],
    5: [0.8312, 12.8325],
    6: [1.2373, 14.4494],
    7: [1.6898, 16.0128]
}

# 母標準偏差を区間推定する関数
def sample_func(arr):
    # 標本平均
    avg = np.average(arr)
    
    # 標本分散
    var = np.var(arr)
    
    # 区間推定
    w = var * len(arr)
    x = chi[len(arr) - 1][0]
    y = chi[len(arr) - 1][1]
    
    x2 = w / x
    y2 = w / y
    
    x3 = np.sqrt(x2)
    y3 = np.sqrt(y2)
    
    print("標本データ:"+str(arr))
    print("母標準偏差の95パーセント推定区間は\n"+str(y3)+"\nから\n"+str(x3)+"\nの範囲です。")
    
# 標本データ
arr = [170, 180, 158, 169, 176]

sample_func(arr)

このコードをJupyter Notebookで実行すると以下の出力結果が得られる。

【中卒でも分かる統計学入門】連載記事一覧

  1. 度数分布表とヒストグラム
  2. 度数分布表から平均値を求める
  3. 色々な平均値の求め方
  4. データの散らばり具合をみる分散と標準偏差
  5. 度数分布表から標準偏差を求める
  6. 標準偏差を理解して偏差値の求め方と意味を知る
  7. Pythonで偏差値を求める
  8. 仮説検定で一つのデータから母集団を推定する
  9. Pythonで95パーセント信頼区間を求める
  10. 平均に対する区間推定
  11. 母集団からとった標本平均の95パーセント予言的中区間
  12. 標本平均から母平均を区間推定する
  13. 標本分散とカイ二乗分布
  14. カイ二乗分布から母分散を推定する
  15. 標本分散に比例する統計量Wの求め方
  16. 母平均が分からなくても母標準偏差を推定する方法 ←←現在見ている記事
  17. 統計量Tを求めてt分布を理解する
  18. t分布を使った区間推定