R kullanarak zamana bağlı ortak değişkenlerle hayatta kalma verileri nasıl oluşturulur


9

Zamana bağlı ortak değişken içeren Cox orantılı tehlike modelinden sağkalım süresi oluşturmak istiyorum. Model

h(t|Xi)=h0(t)exp(γXi+αmi(t))

nerede Xi Binom'dan (1,0.5) üretilir ve mi(t)=β0+β1Xi+β2Xit.

Gerçek parametre değerleri şu şekilde kullanılır: γ=1.5,β0=0,β1=1,β2=1.5,h0(t)=1

Zamandan bağımsız ortak değişkenler için (ör. h(t|Xi)=h0(t)exp(γXi) Aşağıdaki gibi oluşturdum

#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)

Herkes bana zamanla değişen değişkenlerle hayatta kalma verileri üretmeme yardımcı olabilir mi?


Ne tür bir fonksiyon mi(t)? Sürekli midir? Parçalı sabit? Buna göre muhtemelen farklı bir algoritma gerekecektir.
tristan

mi(t)zamana bağlı bir değişkendir, basitlik için zamanla orantılı bir ilişki düşünebilirsiniz.
Şeyh

Sorumluluğumu, mi(t)
Şeyh

yukarıdaki denklemden R kodunu nasıl yaptınız? aynı kimliğin içindeki her ölüm zamanında, programın x için 1 veya 0'a eşit olan herkes için tehlike değişkenlerinin ne olduğunu bulması gerekir. Bundan sonra hayatta kalma fonksiyonunu hesaplayın. her konu için doğru satırı seçmesine izin verir.
Qas Amell

Z. Zhang'ın belirttiği gibi, bu makaleye bir göz atın . Ayrıca, bu soruya vereceğim yanıtı görebilirsiniz .Xi=1R. grubu
Benjamin Christoffersen

Yanıtlar:


9

Tamam, R kodunuzdan, temel tehlikeniz için üstel bir dağılım (sürekli tehlike) varsayıyorsunuz. Bu nedenle tehlike işlevleriniz:

h(tXi)={exp(αβ0)if Xi=0,exp(γ+α(β0+β1+β2t))if Xi=1.

Daha sonra bunları t kümülatif tehlike işlevini almak için:

Λ(tXi)={texp(αβ0)if Xi=0,0texp(γ+α(β0+β1+β2τ))dτif Xi=1.={texp(αβ0)if Xi=0,exp(γ+α(β0+β1))1αβ2(exp(αβ2t)1)if Xi=1.

Bunlar bize hayatta kalma işlevlerini verir:

S(t)=exp(Λ(t))={exp(texp(αβ0))if Xi=0,exp(exp(γ+α(β0+β1))1αβ2(exp(αβ2t)1))if Xi=1.

Daha sonra örnekleme yoluyla oluşturursunuz Xi ve UUniform(0,1), ikame U için S(t) ve uygun formülü ( Xi) Taklit etmek t. Bu, daha sonra R ile kodlayabileceğiniz basit bir cebir olmalıdır, ancak daha fazla yardıma ihtiyacınız olursa lütfen yorum yoluyla bana bildirin.


1
Cebir için çok teşekkür ederim. R ile kod yazacağım ve daha fazla yardım için sizinle iletişime geçeceğim.
Şeyh

ne mükemmel bir cevap, @ tristan. Benzer bir sorum vardı ve cevabını buldum. Sadece müthiş.
Sam

@tristan Xi = 0'ı verdiğiniz ilk denklemde alfa'nın anlamı hakkında biraz kafam karıştı. Biraz genişletmek ister misiniz? Teşekkürler.
Statwonk

1
@Statwonk orijinal poster tarafından sağlanan tehlike oranı denklemi takip ediyor
tristan

Maalesef, zamanları simüle etmek için S (t) işlevini nasıl kullanacağımdan emin değilim. S ^ {- 1} hesaplamanız gerektiğini düşünüyorum ve bu fonksiyon X_i = 1 için önemsiz değil.
Pmc
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.