医療統計学 VOL14


学習項目(シラバスは講義題目と記しています)

 生存分析

講義内容と学習到達目標

  生存分析の説明ができるようになる

  Rを用いて 生存分析を経験する

学習課題(これが 学部最後の演習ですね!)


生存分析とは?

時系列データを扱う分析手法の一つ。

データの中身に時間の要素が含まれているものを扱うことをj系列データの分析という。

さて、医療統計学では、生きている人間(生物)にまつわるデータを相手にすることが基本だ。

実は生きているもののデータには本質的に時間の流れがあることを認識しよう。

物や器械とは異なる要素だ!

--------------------------------------説明--------




生存(時間)分析とはsurvival analysisのことであり、イベント(event)が起きるまでの時間とイベントとの間の関係に焦点を当てる分析方法である。
工学分野では故障の発生、健康科学や医学、医療においては疾患や障害の再発や死亡などを対象とした研究分野でもある。このように生がなくなる状態を死亡と呼ぶ。

生存時間に関する試験や研究を行うとき、治療の中止やもしくは転院、試験の観察途中の脱落がある、また研究終了時点で死亡のデータが入手できないとき、打ち切りが生じた(censoring)という。左側打ち切りとか右側打ち切りという分類もあるが、研究を終了するまでイベントの観察ができなかったケースを打ち切り例と呼ぶ。

--------------------------------------------------------------------------------------------------------

おおよそ、介入群もしくは条件群と対照群を設定する。
この2群が時間の経過の中でイベントを起こす時間に差があるか否かを検定するものである。

ここで、群わけ以外の要因が設定される場合、その要因を共変量と呼ぶ。
この共変量は、複数の要因である説明変数である。

大きく分けて3パターンの分析方法がある。

1 ノンパラメトリックモデル:共変量も分布も仮定しない
2 セミパラメトリックモデル:共変量を導入するが、分布を仮定しない
3 パラメトリックモデル:共変量を導入し、分布を仮定する



特にノンパラメトリックモデルでは経験分布関数(データに基づいた累積関数)を用いて経験分布を推定し、これを用いることで、検定を行う。
この方法はKaplan−Meier推定法の特殊例と言える。<暫定的に正規分布に従うことが知られているから!

もうひとつはKaplan−Meier推定法を用いて累積ハザード関数を求め、その推定量を求め、Nelson-Aalen推定量をもとめて検定に使用する方法がある。
さらに少数サンプルではFleming−Harrington推定量を求めることで、生存分析を行うことができる。

---------------------------------------------------------------------------------------------------------------
本日のDL先>stat14 (パスワードは授業中に教示)

Exersise 
stat14

------------------------------------------------------------------------------------------------
準備

1. ネットにPCを接続
2. このページの以下のステート文をRのコンソール プロンプトに copy&paste
3. コマンド実行
4. グラフ描画の観察
5. 有意性の検定実行
6. 有意性検定結果の解釈

7. 課題の確認、指示された内容のレポート提出(メール他)





> library(survival);library(MASS)

要求されたパッケージ splines をロード中です

> data(gehan);dim(gehan);
[1] 42 4
> gehan[1:6,]
pair time cens treat
1 1 1 1 control
2 1 10 1 6-MP
3 2 22 1 control
4 2 7 1 6-MP
5 3 3 1 control
6 3 32 0 6-MP
> Surv(gehan$time,gehan$cens)
[1] 1 10 22 7 3 32+ 12 23 8 22 17 6 2 16 11 34+ 8 32+
[19] 12 25+ 2 11+ 5 20+ 4 19+ 15 6 8 17+ 23 35+ 5 6 11 13
[37] 4 9+ 1 6+ 8 10+

> ge.sf<-survfit(Surv(time,cens)~treat, data=gehan)
> summary(ge.sf)


Call: survfit(formula = Surv(time, cens) ~ treat, data = gehan)

treat=6-MP
time n.risk n.event survival std.err lower 95% CI upper 95% CI
6 21 3 0.857 0.0764 0.720 1.000
7 17 1 0.807 0.0869 0.653 0.996
10 15 1 0.753 0.0963 0.586 0.968
13 12 1 0.690 0.1068 0.510 0.935
16 11 1 0.627 0.1141 0.439 0.896
22 7 1 0.538 0.1282 0.337 0.858
23 6 1 0.448 0.1346 0.249 0.807

treat=control
time n.risk n.event survival std.err lower 95% CI upper 95% CI
1 21 2 0.9048 0.0641 0.78754 1.000
2 19 2 0.8095 0.0857 0.65785 0.996
3 17 1 0.7619 0.0929 0.59988 0.968
4 16 2 0.6667 0.1029 0.49268 0.902
5 14 2 0.5714 0.1080 0.39455 0.828
8 12 4 0.3810 0.1060 0.22085 0.657
11 8 2 0.2857 0.0986 0.14529 0.562
12 6 2 0.1905 0.0857 0.07887 0.460
15 4 1 0.1429 0.0764 0.05011 0.407
17 3 1 0.0952 0.0641 0.02549 0.356
22 2 1 0.0476 0.0465 0.00703 0.322
23 1 1 0.0000 NA NA NA


>(ここのステート分は授業で示します。)

”この命令文を実施することで、グラフ化され、データを直感的に理解することができます・・・可視化”



最後に検定をします。つまり、この二群間の治療方法の違いは、生存時間の差を生み出したのか?を検証します。

>survdiff(Surv(time)~treat,data=gehan)


Call:
survdiff(formula = Surv(time) ~ treat, data = gehan)

N Observed Expected (O-E)^2/E (O-E)^2/V
treat=6-MP 21 21 29.2 2.31 8.97
treat=control 21 21 12.8 5.27 8.97

Chisq= 9 on 1 degrees of freedom, p= ???

もはや、この解釈はkimuakistatの受講生であれば、お手の物ですね。お疲れ様でした。



GO AGENDA