R을 사용하여 시간 의존적 공변량으로 생존 데이터를 생성하는 방법


9

시간 의존적 공변량을 포함하는 Cox 비례 위험 모델에서 생존 시간을 생성하고 싶습니다. 모델은

h(|엑스나는)=h0()특급(γ엑스나는+α미디엄나는())

여기서 는 Binomial (1,0.5) 및 됩니다.엑스나는미디엄나는()=β0+β1엑스나는+β2엑스나는

실제 매개 변수 값은γ=1.5,β0=0,β1=1,β2=1.5,h0()=1

시간에 독립적 인 공변량 (즉, 다음과 같이 생성되었습니다.h(|엑스나는)=h0()특급(γ엑스나는)

#For time independent case
# h_0(t) = 1
gamma <- -1
u <- runif(n=100,min=0,max=1)
Xi <- rbinom(n=100,size=1,prob=0.5)
T <- -log(u)/exp(gamma*Xi)

누구나 시변 공변량으로 생존 데이터를 생성하도록 도와 줄 수 있습니까?


는 어떤 기능 입니까? 연속적입니까? 조각상 수? 이에 따라 다른 알고리즘이 필요할 수 있습니다. 미디엄나는()
tristan

미디엄나는() 는 시간에 따른 공변량입니다. 단순성을 위해 시간과 비례 관계를 고려할 수 있습니다.
셰이크

의 기능을 고려하여 질문을 편집했습니다미디엄나는()
Sheikh

위 방정식에서 R 코드를 어떻게 수행 했습니까? 즉, 동일한 id 내에서 각 사멸 시간에 프로그램은 x가 1 또는 0 인 모든 사람에 대해 공변량이 무엇인지 파악해야합니다. 모두 1과 같으면 위험을 합산합니다. 그 후에 생존 함수를 계산하십시오. 각 주제에 맞는 줄을 선택할 수 있습니다.
Qas Amell

Z. Zhang이 지적한 것처럼 이 기사를 살펴 보자 . 또한, 당신은 볼 수 있습니다 내 대답을 난에서 사람들을 위해 시뮬레이션하는 방법을 보여 곳에 자신의 질문에 R.에서 그룹엑스나는=1
벤자민 Christoffersen을

답변:


9

R 코드에서 기준 위험에 대한 지수 분포 (일정한 위험)를 가정합니다. 따라서 귀하의 위험 기능은 다음과 같습니다.

h(엑스나는)={특급(αβ0)만약 엑스나는=0,특급(γ+α(β0+β1+β2))만약 엑스나는=1.

그런 다음 누적 위험 함수를 얻기 위해 와 관련하여 이것을 통합 합니다.

Λ(엑스나는)={특급(αβ0)만약 엑스나는=0,0특급(γ+α(β0+β1+β2τ))τ만약 엑스나는=1.={특급(αβ0)만약 엑스나는=0,특급(γ+α(β0+β1))1αβ2(특급(αβ2)1)만약 엑스나는=1.

이것들은 우리에게 생존 함수를 제공합니다 :

에스()=특급(Λ())={특급(특급(αβ0))만약 엑스나는=0,특급(특급(γ+α(β0+β1))1αβ2(특급(αβ2)1))만약 엑스나는=1.

그런 다음 및 을 샘플링 하여 를 대입 하고 적절한 수식 ( 기반 을 재 배열하여 를 시뮬레이션하여 생성 합니다. 이것은 R에서 코드를 작성할 수있는 간단한 대수 여야하지만 추가 도움이 필요하면 의견으로 알려주십시오.엑스나는나는에프영형아르 자형미디엄(0,1)에스()엑스나는


1
대수에 대단히 감사합니다. 나는 R로 코딩하고 추가 도움을 위해 연락을 드릴 것입니다.
셰이크

@tristan에게 완벽한 답변입니다. 나는 비슷한 질문을했고 당신의 대답을 찾았습니다. 대단해
Sam

@tristan Xi = 0 인 첫 번째 방정식에서 알파의 의미에 대해 약간 혼란스러워합니다. 감사.
Statwonk

1
@Statwonk 그것은 원래 포스터에 의해 제공된 위험률 방정식에 따라
트리스탄

죄송하지만 시간을 시뮬레이트하기 위해 함수 S (t)를 사용하는 방법을 잘 모르겠습니다. 나는 당신이 S ^ {-1}을 계산해야한다고 생각 하며이 함수는 X_i = 1의 경우에 사소한 것이 아닙니다.
Pmc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.