Rの回帰スプラインを使用したロジスティック回帰


12

私は、英国の頭部外傷の全国外傷データベースからの遡及データに基づいてロジスティック回帰モデルを開発しています。主要な結果は30日間の死亡率です(「生存率」指標として示されます)。以前の研究の結果に対する有意な効果の公表された証拠を持つ他の測定には、以下が含まれます:

Year - Year of procedure = 1994-2013
Age - Age of patient = 16.0-101.5
ISS - Injury Severity Score = 0-75
Sex - Gender of patient = Male or Female
inctoCran - Time from head injury to craniotomy in minutes = 0-2880 (After 2880 minutes is defined as a separate diagnosis)

これらのモデルを使用して、二項従属変数が与えられると、lrmを使用してロジスティック回帰を作成しました。

モデル変数選択の方法は、同じ診断をモデル化した既存の臨床文献に基づいていました。従来は分数多項式でモデル化されていたISSを除き、すべて線形フィットでモデル化されています。上記の変数間の既知の重要な相互作用を特定した出版物はありません。

Frank Harrellのアドバイスに従って、ISSをモデル化するために回帰スプラインの使用を進めました(このアプローチには以下のコメントで強調されている利点があります)。したがって、モデルは次のように事前に指定されています。

rcs.ASDH<-lrm(formula = Survive ~ Age + GCS + rcs(ISS) +
    Year + inctoCran + oth, data = ASDH_Paper1.1, x=TRUE, y=TRUE)

モデルの結果は次のとおりです。

> rcs.ASDH

Logistic Regression Model

lrm(formula = Survive ~ Age + GCS + rcs(ISS) + Year + inctoCran + 
    oth, data = ASDH_Paper1.1, x = TRUE, y = TRUE)

                      Model Likelihood     Discrimination    Rank Discrim.    
                         Ratio Test            Indexes          Indexes       
Obs          2135    LR chi2     342.48    R2       0.211    C       0.743    
 0            629    d.f.             8    g        1.195    Dxy     0.486    
 1           1506    Pr(> chi2) <0.0001    gr       3.303    gamma   0.487    
max |deriv| 5e-05                          gp       0.202    tau-a   0.202    
                                           Brier    0.176                     

          Coef     S.E.    Wald Z Pr(>|Z|)
Intercept -62.1040 18.8611 -3.29  0.0010  
Age        -0.0266  0.0030 -8.83  <0.0001 
GCS         0.1423  0.0135 10.56  <0.0001 
ISS        -0.2125  0.0393 -5.40  <0.0001 
ISS'        0.3706  0.1948  1.90  0.0572  
ISS''      -0.9544  0.7409 -1.29  0.1976  
Year        0.0339  0.0094  3.60  0.0003  
inctoCran   0.0003  0.0001  2.78  0.0054  
oth=1       0.3577  0.2009  1.78  0.0750  

次に、モデルからの予測の精度を評価するために、rmsパッケージのキャリブレーション関数を使用しました。次の結果が得られました。

plot(calibrate(rcs.ASDH, B=1000), main="rcs.ASDH")

オーバーフィッティングに対してペナルティを課されたブートストラップ較正曲線

モデル設計が完了した後、次のグラフを作成して、連続変数の中央値の値とカテゴリ変数のモードの値に基づいて、生存年に対するインシデント年の影響を示します。

ASDH <- Predict(rcs.ASDH, Year=seq(1994,2013,by=1),Age=48.7,ISS=25,inctoCran=356,Other=0,GCS=8,Sex="Male",neuroYN=1,neuroFirst=1)
Probabilities <- data.frame(cbind(ASDH$yhat,exp(ASDH$yhat)/(1+exp(ASDH$yhat)),exp(ASDH$lower)/(1+exp(ASDH$lower)),exp(ASDH$upper)/(1+exp(ASDH$upper))))
names(Probabilities) <- c("yhat","p.yhat","p.lower","p.upper")
ASDH<-merge(ASDH,Probabilities,by="yhat")
plot(ASDH$Year,ASDH$p.yhat,xlab="Year",ylab="Probability of Survival",main="30 Day Outcome Following Craniotomy for Acute SDH by Year", ylim=range(c(ASDH$p.lower,ASDH$p.upper)),pch=19)
arrows(ASDH$Year,ASDH$p.lower,ASDH$Year,ASDH$p.upper,length=0.05,angle=90,code=3)

上記のコードの結果は次のとおりです。

上下の年間トレンド

残りの質問は次のとおりです。

1.スプラインの解釈 -全体の変数に対して結合されたスプラインのp値を計算するにはどうすればよいですか?


4
よくやった。年の効果を表示するには、他の変数をデフォルト値(連続の中央値、カテゴリのモード)に設定し、x軸で年を変化させることをお勧めしますplot(Predict(rcs.ASDH, Year))。などの操作を行うことで、他の変数を変化させて、異なる曲線を作成できますplot(Predict(rcs.ASDH, Year, age=c(25, 35)))
フランクハレル14年

1
理由はわかりませんが、文献ではバイアス補正された検量線の例は多く見ていません。良いアイデアのようです
チャールズ14年

1
複数のdfテストとの全体的な関連付けをテストするには、を使用しますanova(rcs.ASDH)
フランクハレル14年

回答:


8

モデルを事前に指定していないが、重要なテストと結果として生じるモデルの変更を行っている場合、結果を解釈することは非常に困難です。また、なく縮退した分布を持つため、使用した全体的な適合度テストはお勧めしません。χ2分布を。

モデルの適合を評価するための推奨される2つの方法は次のとおりです。

  1. 予測の絶対精度をチェックするためのブートストラップのオーバーフィッティング補正された滑らかなノンパラメトリック(たとえば* loess)の較正曲線
  2. χ2

以下を含む、分数多項式に対する回帰スプラインの利点がいくつかあります。

  1. 予測子は値を持つことができます0。FPが必要とする値のログを取ることはできません
  2. 予測子の起源について心配する必要はありません。FPは、ゼロが予測子の「魔法の」原点であると仮定しますが、回帰スプラインは予測子を定数だけシフトしても不変です。

回帰スプラインと線形性および加成性評価の詳細については、http://biostat.mc.vanderbilt.edu/CourseBios330の配布資料とR rmsパッケージrcs関数を参照してください。オーバーフィッティングに対してペナルティが科されるブートストラップの較正曲線については、rms calibrate関数を参照してください。


私は、初期および診断および結果変数との既知の関連性を含む臨床的に利用可能なすべての変数を含む完全なモデルを作成する際に、モデルを事前に指定しようとしました。以前の研究で分数多項式でモデル化できると特定されたISSを除き、それらはすべて線形連続変数または二分変数でした。私がモデルを開発するために使用した方法は、Willi Sauerbreiの「多変量モデル構築」と一致しています。おそらく、グローバルな適合度を評価するためにRでrmsパッケージを使用できますか?もしそうなら、どの式をお勧めしますか?
ダン噴水14年

私は答えを拡張して、そのいくつかに対処しました。
フランクハレル14年

モデルの適合性を評価するために、1および2の実行用パッケージを推奨できますか?rmsで検証機能を使用できますか?回帰スプラインに関しては、講義ノートを読んで、現在、あなたの本のコピーを見つけようとしています(できれば購入します!)このモデルの非線形連続変数の場合?これまでのすべてのあなたの助けに感謝します。
ダンの噴水14年

おそらく、地球のパッケージはフリードマンの多変量適応回帰スプラインに基づいていますか?
ダン噴水14年

最後の質問。傷害重症度スコア(ISS)の式は、A ^ 2 + B ^ 2 + C ^ 2です。ここで、A、B、およびCは、独立した外傷重症度スコアが1〜5の異なる身体部分です。したがって、このデータセット内の最大値は75、最小値は1です。この式が与えられると、分数多項式は、回帰スプラインと比較して、スコアの実際の計算方法により近い表現になりますか?
ダン噴水14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.