小標本における正規分布の信頼区間を Excel で求める
背景
コイン投げのようなベルヌーイ試行の確率の信頼区間は
Wilson score interval を使う。 - 中野智文のブログ
でいいとして、母集団が正規分布で小標本の場合は、 t 分布で求めるのが、一般的である。
母集団が正規分布に従うときで標本の大きさ(サンプルサイズ)が大きいときは、Wald法による信頼区間を使うことができる。 その標本の大きさが小さいときWald法は使えない。具体的には30未満のときはWald法は使えない。このような Wald法が使えない標本の大きさを 小標本という。 (ベルヌーイ分布の場合には、標本平均にもよるが、もっと大きな数が必要) 母集団が正規分布に従い、小標本だった場合には、t分布を用いる必要がある。
Excel で t 分布 の信頼区間
Excelでは、CONFIDENCE.T 関数 - Office サポート という関数により、t 分布で信頼区間を求めることができる。
一見そのまま使えば良いようだが、標準偏差とは、不偏標準偏差のことだろうか、それとも標本標準偏差のことだろうか。
答え
不偏標準偏差 を使う。
確認
確認は、確率統計のはなし の「貯金額の標本が10万円と30万円の二人だった場合、全員の平均値の信頼区間」の計算結果 p.47
μ = 20±63.14
にて確認する。(なおこの本では、標本標準偏差を使っているが、気にしない)
今、B1 と、B2 にそれぞれ10、30 が入っている。
=CONFIDENCE.T(0.1,STDEV(B1:B2),COUNT(B1:B2))
を計算すると、63.13751515が得られるはず。
ここで、STDEV
は不偏標準偏差を、COUNT
は標本の大きさを示す。
Google SpreadSheet では?
CONFIDENCE.T
がない。CONFIDENCE
に統合されているのかと思ったらそうでもないみたい。
信頼区間は次の式で求まる。
ここで、 は、t分布表の t の値、 は標本標準偏差を表す。
Google SpreadSheet では、t 分布表は、
TINV - ドキュメント エディタ ヘルプ から得る。例えば、先の例だと、10%で、標本の大きさは2なので、自由度はマイナス1して、1。
よって、TINV(0.1, 1)
で、6.313751515と計算されるはず。
Google SpreadSheet では、標本標準偏差は、
STDEVP - ドキュメント エディタ ヘルプ から得る。例えば、先の例だと、STDEVP(B1:B2)
で10.0と計算されるはず。
結局
=TINV(0.1,COUNT(B1:B2)-1)*STDEVP(B1:B2)
となり、63.13751515 と表示されれば、確認完了。
念のため python での求め方
from scipy import stats from scipy.stats import t import numpy as np
a = [10.0, 30.0]
t0, t1 = stats.t.interval(alpha=0.90, df=len(a)-1, loc=np.mean(a), scale=stats.sem(a)) print([t0, t1])
[-43.137515148009399, 83.137515148009328]
信頼区間を直接求めるので、こうなる。
補足
ところで、Microsoft のサイトでは、標本数とあるが、標本の大きさの間違いだろう
なお、確率統計のはなし では標本の大きさとして 標本の数 というのが出てくるが、「の」が間に入っているからセーフ?