이것을 현재 상태 데이터 라고합니다 . 데이터에 대한 하나의 단면도를 얻을 수 있으며, 반응에 대해 각 주제의 관찰 된 나이에 이벤트 (귀하의 경우 : A에서 B로 전환)가 발생했음을 알 수 있습니다. 이것은 간격 검열 의 특별한 경우입니다 .
공식적으로 정의하려면 를 주제 의 (관찰되지 않은) 실제 이벤트 시간으로하십시오 . 하자 주제에 대한 검사 시간 (: 검사 연령 귀하의 경우)를. 경우 , 데이터가있다 바로 검열 . 그렇지 않으면 데이터가 검열 된 상태로 유지 됩니다. 우리는 의 분포를 모델링하는 데 흥미가 있습니다. 회귀 모형의 경우 분포가 일련의 공변량 어떻게 변경되는지 모델링하는 데 관심이 있습니다.TiiCiiCi<TiTX
간격 검열 방법을 사용하여이를 분석하려면 데이터를 일반 간격 검열 형식으로 넣으려고합니다. 즉, 각 주제에 대해 우리는 구간 이는 가 포함될 구간을 나타냅니다 . 대상 그래서 만약 바로 검사 시간에 검열 , 우리는 작성합니다 . 에서 검열 된 상태로 .(li,ri)Tiici(ci,∞)ci(0,ci)
뻔뻔한 플러그 : 회귀 모델을 사용하여 데이터를 분석하려면 R로 작성하십시오 icenReg
(저는 저자입니다). 실제로 현재 상태 데이터 에 대한 비슷한 질문 에서 OP는 icenReg 사용에 대한 훌륭한 데모를 제시했습니다 . 그는 검열 부분을 무시하고 편견에 로지스틱 회귀 리드를 사용하는 것을 보여주는 것으로 시작합니다 (중요 사항 : 그가 로지스틱 회귀 분석을 사용하여 참조됩니다 나이 조정하지 않고 . 이것에 더 이상.)
interval
다른 도구로는 로그 순위 통계 테스트를 포함하는 패키지가 있습니다.
편집하다:
@EdM은 로지스틱 회귀를 사용하여 문제에 답할 것을 제안했습니다. 나는 당신이 기능적인 형태의 시간에 대해 걱정해야한다고 말하면서 이것을 부당하게 무시했습니다. 함수형 시간 형식에 대해 걱정해야한다는 성명서 뒤에는 합리적인 파라 메트릭 추정기로 이어지는 매우 합리적인 변환이 있음을 깨달았습니다.
특히 로지스틱 회귀 분석을 사용하여 모형에서 log (time)을 공변량으로 사용하면 로그 로지스틱 기준선이있는 비례 승산 모델이됩니다.
이를 확인하려면 먼저 비례 배당률 회귀 모형이
Odds(t|X,β)=eXTβOddso(t)
여기서 는 시간 에서 생존의 기준 확률입니다 . 회귀 효과는 로지스틱 회귀 분석과 동일합니다. 이제 우리가해야 할 일은 기본 분포가 로그 물류라는 것입니다.Oddso(t)t
이제 log (Time)을 공변량으로 사용하여 로지스틱 회귀를 고려하십시오. 우리는 다음
P(Y=1|T=t)=exp(β0+β1log(t))1+exp(β0+β1log(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
.