これは、現在のステータスデータと呼ばれます。データの断面図を1つ取得します。応答については、各被験者の観察された年齢で、イベント(あなたの場合はAからBへの移行)が発生したかどうかがわかります。これは、区間打ち切りの特殊なケースです。
正式に定義するには、を被験者iの(観測されていない)真のイベント時間とします。レッツC 私は主題のための検査時間I(自分の場合:検査時の年齢)。場合はC I < T I、データがされている右の検閲します。それ以外の場合、データは打ち切られたままになります。Tの分布のモデリングに興味があります。回帰モデルの場合、共変量Xのセットでその分布がどのように変化するかをモデリングすることに興味があります。T私私C私私C私< T私Tバツ
区間打ち切り法を使用してこれを分析するには、データを一般的な区間打ち切り形式に入れます。つまり、被験者ごとに間隔があります。これは、T iが含まれていることがわかっている間隔を表します。したがって、検査時間c iで被験者iが正しく打ち切られた場合、(c i、∞ )と書きます。c iで打ち切られたままの場合、(0 、c i)として表します。(l私、r私)T私私c私(c私、∞ )c私(0 、c私)
恥知らずのプラグ:回帰モデルを使用してデータを分析する場合は、Rを使用してこれを実行できますicenReg
(作成者です)。実際、現在のステータスデータに関する同様の質問で、OPはicenRegの使用の素晴らしいデモを提示しました。彼は、検閲部分を無視し、ロジスティック回帰を使用するとバイアスが生じることを示すことから始めます(重要な注意:彼は年齢を調整せずにロジスティック回帰を使用することについて言及しています。これについては後で詳しく説明します)。
もう1つの優れたパッケージにはinterval
、ログランク統計テストなどのツールが含まれています。
編集:
@EdMは、ロジスティック回帰を使用して問題に答えることを提案しました。私はこれを不当に却下し、時間の機能的な形式を心配しなければならないと言った。時間の関数形式について心配する必要があるという声明を支持しますが、合理的なパラメトリック推定量につながる非常に合理的な変換が存在することに気付きました。
特に、ロジスティック回帰を使用したモデルでlog(time)を共変量として使用すると、対数ロジスティックベースラインを持つ比例オッズモデルになります。
これを確認するには、最初に比例オッズ回帰モデルが次のように定義されていることを考慮してください。
オッズ(t | X、β)= eバツTβオッズo(t )
オッズo(t )t
次に、log(Time)を共変量とするロジスティック回帰を考えます。それから
P(Y= 1 | T= t )= exp(β0+ β1ログ(t ))1 + exp(β0+ β1ログ(t ))
少し手間をかけると、これを対数ロジスティックモデルのCDFとして見ることができます(パラメーターの非線形変換を使用)。
近似が同等であることを示すRデモンストレーション:
> library(icenReg)
> data(miceData)
>
> ## miceData contains current status data about presence
> ## of tumors at sacrifice in two groups
> ## in interval censored format:
> ## l = lower end of interval, u = upper end
> ## first three mice all left censored
>
> head(miceData, 3)
l u grp
1 0 381 ce
2 0 477 ce
3 0 485 ce
>
> ## To fit this with logistic regression,
> ## we need to extract age at sacrifice
> ## if the observation is left censored,
> ## this is the upper end of the interval
> ## if right censored, is the lower end of interval
>
> age <- numeric()
> isLeftCensored <- miceData$l == 0
> age[isLeftCensored] <- miceData$u[isLeftCensored]
> age[!isLeftCensored] <- miceData$l[!isLeftCensored]
>
> log_age <- log(age)
> resp <- !isLeftCensored
>
>
> ## Fitting logistic regression model
> logReg_fit <- glm(resp ~ log_age + grp,
+ data = miceData, family = binomial)
>
> ## Fitting proportional odds regression model with log-logistic baseline
> ## interval censored model
> ic_fit <- ic_par(cbind(l,u) ~ grp,
+ model = 'po', dist = 'loglogistic', data = miceData)
>
> summary(logReg_fit)
Call:
glm(formula = resp ~ log_age + grp, family = binomial, data = miceData)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1413 -0.8052 0.5712 0.8778 1.8767
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 18.3526 6.7149 2.733 0.00627 **
log_age -2.7203 1.0414 -2.612 0.00900 **
grpge -1.1721 0.4713 -2.487 0.01288 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 196.84 on 143 degrees of freedom
Residual deviance: 160.61 on 141 degrees of freedom
AIC: 166.61
Number of Fisher Scoring iterations: 5
> summary(ic_fit)
Model: Proportional Odds
Baseline: loglogistic
Call: ic_par(formula = cbind(l, u) ~ grp, data = miceData, model = "po",
dist = "loglogistic")
Estimate Exp(Est) Std.Error z-value p
log_alpha 6.603 737.2000 0.07747 85.240 0.000000
log_beta 1.001 2.7200 0.38280 2.614 0.008943
grpge -1.172 0.3097 0.47130 -2.487 0.012880
final llk = -80.30575
Iterations = 10
>
> ## Comparing loglikelihoods
> logReg_fit$deviance/(-2) - ic_fit$llk
[1] 2.643219e-12
の効果はgrp
各モデルで同じであり、最終的な対数尤度は数値誤差によってのみ異なることに注意してください。ベースラインパラメーター(つまり、ロジスティック回帰の切片とlog_age、区間打ち切りモデルのアルファとベータ)は異なるパラメーター化であるため、等しくありません。
ロジスティック回帰を使用することは、プロポーショナルオッズを対数ロジスティックベースライン分布に適合させることと同等です。このパラメトリックモデルを近似しても問題ない場合、ロジスティック回帰は非常に合理的です。私は、インターバル打ち切りデータと、セミパラメトリックモデルは、一般的に起因する評価モデルの適合の難しさに好まれていることを注意してください、しかし、私は本当に考えた場合、私は、それらを含めていないだろうフルパラメトリックモデルのための場所はありませんでしたicenReg
。