母平均の推定/検定

区間推定

光速の測定値は以下の通り。

850
740
900
1070
930
850
950
980
980
880
1000
980
930
650
760
810
1000
960
960

この結果から、光速を区間推定する。信頼区間は95%。

  • 母集団の分散がわからない場合は、
    • 標本の平均
    • 標本の普遍分散 を使って、推定する。
import math

data = [850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980,
        930, 650, 760, 810, 1000, 960, 960]

# 平均
sample_mean = sum(data) / len(data)

# 普遍分散
deviation =sum(map(lambda n: (n - sample_mean) * (n - sample_mean), data)) / (len(data) - 1)

# t = 標本平均 - 母平均 / (√不変分散/n) 
# 標本平均 = sample_mean, 不変分散 = deviation, n = len(data)  - 1 
# -2.09 <= t <= 2.09 となる 母平均の範囲を求める

# まず下限
# t = (sample_mean - 母平均) / (√deviation/len(data)) = 2.09 だから
mean_lower = sample_mean - 2.09 * (math.sqrt(deviation / len(data) - 1))

# まず上限
# t = (sample_mean - 母平均) / (√deviation/len(data)) = -2.09 だから
mean_upper = sample_mean + 2.09 * (math.sqrt(deviation / len(data) - 1))

print 'lower ' + str(mean_lower)
print 'upper ' + str(mean_upper)

結果は

lower 853.449643918
upper 954.550356082

検定

  • 新入生 3000人
  • 毎年試験
  • 今年の新入生から36人をサンプリングしたら、平均点は480点
  • 今年は例年よりも賢いのか

 z検定

  • これまでの平均は450点
  • これまでの標準偏差は80点

帰無仮説を「今年も例年通りで学力に変化なし」 = 平均は450 対立仮説を「今年は変化があった」 = 平均は450ではない

とする。

  • 変化があったかどうかを検定するので、両側検定
  • 有意水準5パーセント
  • 従来の試験得点は平均450 分散80の正規分布
  • この正規分布を前提にした場合、36人の平均値である480はどの程度レアなのか
  • あまりにもレアなら、変化があったと判断できる
z = (480 - 450) / (80 / 6)

結果は、2.25なので、1.96よりも大きい。棄却域に入るので、帰無仮説を棄却する。つまり、「変化があった」ということ。

 t検定

  • パン屋チェーン店のクリームパンの重さは105g
  • しかし、A支店はもっと重くしている疑いがある
  • A支店のクリームパン26個の重さを調べたところ

  • 帰無仮説

    • A支店のクリームパンの重さは平均したて105gである。
  • t値は、2.54

import math
t = (106 - 105) / (2 / math.sqrt(26))
  • 「重くしている可能性がある」ので右側片側検定
  • 自由度25で5%に対するt値は、1.708
  • 2.54の方が大きいので、仮説は棄却する。