例えば、信頼係数95%というときの95%が何を意味しているかというと、
- 母集団からある標本(ex.カブトムシ30匹)を取ってきて信頼区間を求める
- 母集団から別の標本(ex.上とは別のカブトムシ30匹)を取ってきて信頼区間を求める
- 母集団からまたまた別の標本(ex.上の2つとは別のカブトムシ30匹)を取ってきて信頼区間を求める
.....(以下同様)
ということを100回行った場合、95回は母数(ex.母集団の平均)が推定した信頼区間に入っている。という意味である。
これを実際に確認したくて、t分布を用いた母平均の区間推定を行うサンプルプログラムを書いてみた。「平均=172.0、標準偏差=6.0の正規分布に従う母集団から10個の標本をサンプルして、母平均の区間を信頼係数95%で推定する。」を100回行って、母平均が推定区間に含まれる回数が95回程度になることを確認した。
import numpy as np from scipy import stats from math import sqrt def t_interval(xs, alpha): n = len(xs) t = stats.t.ppf(1.0 - (1.0 - alpha)/2.0, n-1) x_var = np.mean(xs) s = np.std(xs) return x_var - t * s / sqrt(n-1), x_var + t * s / sqrt(n-1) mu, sigma = 172.0, 6.0 size = 10 trials = 100 ok = 0 for _ in xrange(trials): xs = np.random.normal(mu, sigma, size) lb, ub = t_interval(xs, 0.95) if lb <= mu and mu <= ub: ok = ok + 1 print ok
0 件のコメント:
コメントを投稿