メインコンテンツへスキップ
見出し画像

書記が数学やるだけ#843 カプラン=マイヤー曲線

    生存時間解析の基本事項についていくつか扱っていく。


    問題

    画像


    説明

    生存時間解析とは,1つの事象(イベント)が発生するまでの予想される期間を分析する手法であり,特に医学分野で頻用される。

    画像


    推定の対象には生存関数やハザード関数などがある。基本的な計算については以下を参照:


    画像


    画像


    カプラン=マイヤー推定量は一連の減少する水平ステップの系列であり,これは右側打ち切りデータを考慮に入れることができる。

    画像


    解答

    カプラン=マイヤー推定量の導出にはいろいろあるが,ここではハザード関数の最尤推定を用いる。

    画像


    具体例として薬剤師国家試験の問題を解いてみる。

    ・t=0のときは全員生存のためS=1である。

    ・t=2のとき,5人中1人死亡のため,S=0.8となる。

    ・t=4のとき,1人打ち切りのため,Sは変わらず3人が残る。

    ・t=6のとき,1人打ち切りのため,Sは変わらず2人が残る。

    ・t=8のとき,2人中1人死亡のため,S=0.4となる。

    あとはこれをグラフに表せば良い。

    画像


    最後に,実際のデータからカプラン=マイヤー曲線を描画してみる。load_ddデータセットには,世界の政治リーダーの在任期間についてまとめられている。

    from lifelines.datasets import load_dd
    data = load_dd()
    data
    画像


    今回の場合,「各リーダーの在職期間;T」と「退任が観測されたかどうか;E」の関係を示すために,KaplanMeierFitterのfitを用いる。

    from lifelines import KaplanMeierFitter
    kmf = KaplanMeierFitter()
    
    T = data["duration"]
    E = data["observed"]
    
    kmf.fit(T, event_observed=E)


    あとはカプラン=マイヤー曲線を可視化すれば良い。

    from matplotlib import pyplot as plt
    kmf.plot()
    画像


    「at_risk_counts=True」を加えることでイベント数などを同時に示すこともできる。

    kmf.plot(at_risk_counts=True)
    画像



    本記事のもくじはこちら:


    あなたへのおすすめ