母分散の区間推定(Python)

今回の設定

母集団のμとσ^2が未知のとき、標本を用いて母集団の分散を区間推定する。

ラインに流れる商品のばらつきを調べるときなどに使われる。

 

分散σ^2の正規分布に従う独立な確率変数(X1.X2...Xn)があるとする。

このとき、T=(n-1)U^2/σ^2は自由度n-1のカイ二乗分布に従う

※U^2は不偏分散を示す

 

 

母分散の区間推定にはカイ二乗分布を用いて計算する。

Pythonで計算するには、scipyのstats.chi2.intervalを用いる。

 

例題

内容量が100gとされているお菓子を10個選択して、重さを測定した。

お菓子の内容量の分布は正規分布に従うものとし、このデータから母分散の95%信頼区間を求める。

 import scipy as sp
import numpy as np
from scipy import stats

data = [102, 99, 100, 100, 105, 107, 103, 100, 99, 100]
mu = sp.mean(data) #標本平均
n = len(data) #サンプルサイズ
df = n - 1 #自由度
alpha = 0.95 #信頼係数
sigma2 = np.var(data)#不偏分散

bottom, up= stats.chi2.interval(alpha=0.95, df=df)#下側2.5%点と上側2.5%点

#下側2.5%点 <= 自由度*不偏分散/σ^2 <= 上側2.5%点
#自由度*不偏分散/上側2.5%点 <= σ^2 <= 自由度*不偏分散/下側2.5%点

(f"{round(df*sigma2/up, 3)}<= σ^2 <={round(df*sigma2/bottom, 3)}")

>'3.146<= σ^2 <=22.163'

よって、母分散の95%信頼区間3.146<= σ^2 <=22.163となる。

標本平均 = 101.5

 

参考

bellcurve.jp