Pythonデータサイエンスクックブック

(2順目)

レシピ7.5

statsmodels(http://statsmodels.sourceforge.net/)はすでにAnacondにinstallしてあった。
dataの内容はsurvivalが心臓移植後の生存期間(単位は日)censorsは観察打ち切り時点での生存の有無(0=生存,1=死亡)age=手術時の年齢?

index   survival    censors age  
64      14          1       40.3  
65      167         0       26.7  
66      110         0       23.7  
67      13          0       28.9  
68      1           0       35.2  

(2項)
censors=1のデータを抜き出している、抜き出し前のデータ数が69個で抜き出し後は45個になっている(生存率=(69-45)/69=35%かな。
plt.subplot(121),plt.subplot(122)は、subplotが格子状に作図するするためのコマンドで引数の最初の数が行、次が列、最後が作図するグラフの通し番号(1から始まる)、121は1行2列の作図の1番目、122は1行2列の作図の2番目という意味になる。 sorted(survival)だと昇順にソートされてくるので[::-1]をつけることで降順にソートされた結果を返してくれる。

plt.histはbins個に区切ったヒストグラムを作図する。 f:id:bitop:20160320081058p:plain

このヒストグラムにフットする分布を探してくる。まず指数分布。
f:id:bitop:20160320095025p:plain
指数分布はあまりフットしてなかったようだ。 次にバーンバウム・サンダース分布を当てはめてみる。
f:id:bitop:20160320094111p:plain
p値が5%を超えたのでバーンバウム・サンダース分布が移植後の 生存期間をより正確に予測している。