SPSS Statistics
SPSS Statistics Small Tips #08生存時間を分析するKaplan-MeierとCox回帰、そして競合リスクデータの扱い ~ SPSS Advanced Statistics ~
2022年03月10日
カテゴリー IBM Data and AI | SPSS Statistics | アナリティクス | データサイエンス
記事をシェアする:
生存分析
生存分析とは、あるイベントが起こるまでの時間の長さに対する分析です。たとえば、患者さんの治療時間や生存期間、登録会員が退会するまでの期間、機械、システム、製品、部品の故障までの時間や寿命の長さ、またローン審査にかかる時間を使用して、イベントの発生を予測する分析手法です。
生存分析では、他の統計手法では欠損として扱われてしまうデータを「打ち切り」データとして扱うことができます。「打ち切り」データは、最終的な状態がわからず、かついくつかの情報を含むデータです。たとえば、興味の対象イベントを「肺がんによる死亡」とした場合、「打ち切り」として考えられる状態は以下の通りいくつもあります。
- 寛解(完治)状態となった
- 転院してしまった
- 連絡が取れなくなってしまった
- 別の疾病・不慮の事故で死亡してしまった
生存分析は、イベント(「肺がんによる死亡」など)が発生するまでの時間の長さ(生存時間)を使用する分析であり、その計算には「打ち切り」データが含まれます。
SPSS Advanced Statisticsでは、打ち切りデータのある生存分析を実行することができます。
Kaplan-Meier(カプランマイヤー法)
Kaplan-Meier法は、打ち切りデータを含む2群間の生存時間を比較する分析手法(https://www.ibm.com/support/pages/kaplan-meier)です。
ここでは、SPSS Statisticsに同梱されているサンプルデータpain-medication.savを使用します。
この例では、ある製薬会社が慢性関節炎の痛みを治療するために抗炎症剤を開発するにあたって、既存薬より早く効果がでるかどうかを検証しています。
生存分析のKaplan-Meier法を使用して、2つの治療薬の「効果までの時間」の分布の比較と有意性を評価します。
分析メニュー > 生存分析 > Kaplan-Meier
生存変数には、「効果までの時間」変数を状態変には、効果があったか(1)、打ち切られたか(0)の「状況」変数を指定します。因子には、比較したい新薬か既存薬の「治療」変数を指定します。
因子の比較の検定統計量では、3種類の検定を選択します。
また、オプションの作図では「累積生存率」を選択します。
実行して結果を見てみます。
まずは、生存関数のプロットを見てみましょう。横軸はイベント発生(効果あり)までの時間を示しています。このプロットでは、薬が患者に効果を発揮するたびに生存曲線の低下が起こります。縦軸は生存の確率を示します。したがって、生存曲線上のどのポイントも、治療を受けた患者がその時点までに薬の効果がない確率を示します。新薬のプロットは、試験のほとんどの期間、既存薬のプロットを下回っており、これは新薬が既存薬よりも早く緩和をもたらす可能性を示唆しています。これらの差が偶然によるものかどうかを判断するために、比較表を見てみましょう。
生存時間の平均値と中央値の表は、各薬剤の効果が現れるまでの「典型的な」時間を簡単に数値で比較することができます。信頼区間に多くの重複があるので、「平均的」な生存時間に大きな差があるとは考えにくいです。
この表は、新薬と既存薬の生存時間の等質性の検定の結果を提供します。検定の有意値はすべて0.05より大きいので、生存曲線間の差を決定することはできません。
Cox回帰
Kaplan-Meier法は、2群の生存時間を比較する生存分析であるのに対し、生存時間に影響する要因の探索や予測を行う場合にはCox(比例ハザード)回帰を利用します。
ここでは、骨髄移植を受けた患者408人のデータを使用して生存分析を行います。
- id (患者ID)
- time (生存時間)
- cause (状態変数0:打ち切り、1:治療に起因する状態による死亡、2:再発)
- platelet (血小板数 0: 100×109/L 未満、1:100×109/L 以上)
- age (標準化した患者年齢)
- tcell (T細胞除去 0:なし、1:あり)
※このデータは、Rプログラムに付随しているサンプルデータを、SPSS Statistics形式にフォーマットし直したものを利用しています。
https://github.com/Makimaki2020/sampledata/blob/main/bmt.sav
生存に影響する要因が何かを調べます。
分析メニュー > 生存分析 > Cox回帰
生存変数に「生存時間」変数、状態変数に「状態」変数を、事象の定義では、1(治療に起因する状態による死亡)を指定します。ブロックには、要因変数として、「血小板数」、「標準化した患者年齢」、「T細胞除去」を指定します。オプションで、expに関するCI 95%を選択して実行します。
結果を参照します。
Bは、Cox回帰式の係数です。
競合リスクデータとは
一般的には生存分析を実施する場合、対象となるデータが示すのは「1=肺がんによる死亡」と「0=打ち切り」状態となります。ここで、別のがんにより死亡した状態を考えてみます。そもそも肺がんにかかっていれば、免疫力も低下し、他の部位にがんが移転するリスクがあると考えられるでしょう。注目しているイベント(ここの例では肺がんによる死亡)と競合しているイベントを競合リスクイベントといい、競合リスクイベントを単純に打ち切りデータとして扱ってしまうと分析結果にバイアスが含まれることが知られています。
そこで、SPSS Advanced Statisticsを用いて、競合リスクイベントをもつデータ(競合リスクデータ)の生存分析を実施する手順をご紹介します。IBM SPSS Statisticsでは、Rプログラムとの連携により、競合リスクデータの生存分析が実現できます。この場合、IBM SPSS Statisticsモジュールがインストールされている環境に、Rプログラムをインストールする必要があります。
拡張バンドルのインストール
拡張機能メニュー > 拡張ハブ
STATS COMPRISKの拡張の取得を選択し、ダウンロードしてインストールします。
インストールすると、分析メニューの生存分析のサブメニューに「Competing Risks Regression」が表示されます。
分析メニュー > 生存分析 > Competing Risks Regression
Failure Timeに「生存時間」変数を、Failure Typeに「状態」変数を、Fixed Covariatesに「血小板数」、
「標準化した年齢」、「T細胞除去」を指定します。
また、Failure Type of Interestに「1」(治療に起因する状態による死亡)を指定して実行します。
係数テーブルを参照します。
Competing Risks Regressionを利用すると、競合リスクイベントのバイアスを考慮した分析が実行できます。
まとめ
いかがでしたか。生存分析がどのような分析かご理解いただけましたでしょうか。
さあ、さっそくはじめてみませんか。
SPSS Statistics 無料評価版 https://www.ibm.com/jp-ja/products/spss-statistics
お問い合わせは SPSS営業部まで jpsales@jp.ibm.com
→SPSS Statistics Small Tips バックナンバーはこちら
牧野 泰江
日本アイ・ビー・エム株式会社
テクノロジー事業本部 データ・AI・オートメーション事業部
Data & AI 第一テクニカルセールス
敷居もコストも低い! ふくろう販売管理システムがBIダッシュボード機能搭載
IBM Data and AI, IBM Partner Ecosystem
目次 販売管理システムを知名度で選んではいないか? 電子取引データの保存完全義務化の本当の意味 ふくろう販売管理システムは「JIIMA認証」取得済み AIによる売上予測機能にも選択肢を 「眠っているデータの活用」が企業の ...続きを読む
テクノロジーが向かう先とは〜中長期テクノロジー・ロードマップ
IBM Cloud Blog, IBM Data and AI
IBM テクノロジー・ビジョン・ロードマップ – IBM テクノロジー・アトラスを戦略的・技術的な予測にご活用いただけます – IBM テクノロジー・アトラスとは? IBM テクノロジー・アトラス ...続きを読む
データ・ロードマップ
IBM Data and AI
生成AIによるビジネス革新は、オープンなデータストア、フォーマット、エンジン、製品指向のデータファブリック、データ消費を根本的に改善するためのあらゆるレベルでのAIの導入によって促進されます。 2023 オープン・フォー ...続きを読む