前回の記事はこちら
Pythonで学ぶ生存時間解析2 -Kaplan-Meier推定量
https://qiita.com/Goriwaku/items/767cdc2640e29fddf7cc
生存関数比較の意義
試験における全体の生存状況を記述した後、それぞれの部分集団における生存関数の比較を行うことになります。この部分集団とは、生存状況に関連していると思われる共変量(説明変数)によって標本を分割したものとなります。このとき、この変数によって分割した2群の生存状況を比較することで、治療効果や性別の死亡率への影響などを考えることが可能になります。これは、通常の統計学において、2標本t検定やノンパラメトリック順位和検、一元配置分散分析などが持つ意義と同等の意義を持ちます。生存時間データが打ち切りを含まない場合、これらの手法をそのまま適用することができる場合もありますが、一般には生存時間データに適応した検定方法が用いられることが多いです。
2群生存時間のプロット
イメージを持ちやすくするために、検定について話す前にwhasデータセットのKaplan-Meier推定量を性別ごとにプロットしてみましょう。whasデータセットについては私の以前の記事(https://qiita.com/Goriwaku/items/8d00696d853da73505bd )を参考にしてください。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import lifelines as ll
from lifelines import KaplanMeierFitter
whas = pd.read_csv('whas500.csv')
whas_men = whas[whas.GENDER==0]
whas_women = whas[whas.GENDER==1]
kmf = KaplanMeierFitter()
kmf.fit(whas_men.LENFOL, event_observed=whas_men.FSTAT)
ax = kmf.plot(label='men')
kmf.fit(whas_women.LENFOL, event_observed=whas_women.FSTAT)
ax = kmf.plot(ax=ax, label='women')
plt.show()
pythonのpandasにおいてあるグループ(今回でいうと性別)を取り出したいときには、df[df['共変量']=='グループ']という書き方で取り出すことが可能です。plot()の引数labelを指定することで、出力された図がわかりやすくなるようにしています。このスクリプトで出力された図が以下になります。男性のほうが生存率が良いように見えます。

生存時間における2群比較の検定は、この2つの曲線の差が統計的に有意であるかどうかを検証するために行います。次節からは、実際に生存時間データに対して行われる検定手法について見ていきます。