Python による信頼区間の計算

scipy.stats.t.interval() コマンドを使い、平均の信頼区間を計算する。

Python を起動し、pandas と scipy.stats を import する。

import pandas as pd
from scipy import stats

通常は Excel 等で作成した CSV ファイルを pandas に読み込んで分析する。しかし、ここでは便宜的に以下の簡単なデータフレームを作成し、data という変数に格納しておく。

data = pd.DataFrame({"手術時間":[60,50,100,90,30,40], "出血量":[15,25,35,55,45,25]})

data の内容を確認する。

data

ここでは手術時間の平均の信頼区間を計算してみる。data から手術時間を抽出し、time という変数に格納しておく。

time = data["手術時間"]

平均の信頼区間の計算のためには、(1) 信頼水準 (alpha)、(2) 自由度 (df)、(3) 標本平均 (loc)、(4)標準誤差 (scale) の情報が必要なため、あらかじめこれらを計算する。

a = 0.95 #信頼水準。ここでは 95%。
d = len(time)-1 #自由度 (= サンプルサイズ-1)
m = time.mean() #標本平均
s = stats.sem(time) #標準誤差。不偏分散から計算。

分布を t 分布と仮定して stats.t.interval() コマンドで信頼区間を計算する。

stats.t.interval(alpha = a, df = d, loc = m, scale =s)

scipy.stats.norm.interval() コマンドを使えば正規分布を仮定することもできる。

stats.norm.interval(alpha = a, loc = m, scale = time.std()) #time.std() は標準偏差。