いっかくのデータサイエンティストをいく

1からプログラミングとデータサイエンスを独習したい

【統計学】区間推定(RとPython)

下の教科書第9章に当たります。

区間推定とは

国勢調査など一部を除き、ふつうはアンケートや視聴率など母集団のうちの一部から母数を推定します。しかしサンプルサイズが十分でない場合、推定量が偏っている場合もあります。そこで、真の母数の入っていそうな区間とその確率を計算する手法が区間推定です。

Rで区間推定

t.test関数を使用します。95 percent confidence intervaに95%信頼区間が表示されます。

data <- c(3.4, 4.5, 1.9, -1.6, 4.4, 0.8, 3.2, -0.3, 0.8, 3.7)

t.test(data, mu=mean(data)) # t-分布による母平均の検定(帰無仮説「平均はdataの平均」)と区間推定
#  One Sample t-test
#
#data:  data
#t = 0, df = 9, p-value = 1
#alternative hypothesis: true mean is not equal to 2.08
#95 percent confidence interval:
 #0.5837047 3.5762953
#sample estimates:
#mean of x 
#     2.08 

Python区間推定

Pythonではstats.t.intervalを利用します。

import numpy as np
from scipy import stats

data = [3.4, 4.5, 1.9, -1.6, 4.4, 0.8, 3.2, -0.3, 0.8, 3.7]

# t-分布による母平均の区間推定
z = 0.95 #信頼係数の設定
ci = stats.t.interval(z, len(data)-1, loc=np.mean(data), scale=stats.sem(data)) # 信頼区間
print(ci)
#(0.58370467999738285, 3.5762953200026173)