母分散の区間推定(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 statsdata = [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
参考