# discrete time survival analysis

#### shebrahimi

##### New Member
I would greatly appreciate if you could let me know how to do discrete time survival analysis with time varying covariates. Some part of my data set is as follows (d1-d12: are dummy variables for each time period):
Code:
ID TIME EVENT   x1   x2   x3   x4   x5
1    1    0    1.28 0.02 0.87 1.22 0.06
1    2    0    1.27 0.01 0.82 1.00 -0.01
1    3    0    1.05 -0.06 0.92 0.73 0.02
1    4    0    1.11 -0.02 0.86 0.81 0.08
1    5    1    1.22 -0.06 0.89 0.48 0.01
2    1    0    1.06 0.11 0.81 0.84 0.20
2    2    0    1.06 0.08 0.88 0.69 0.14
2    3    0    0.97 0.08 0.91 0.81 0.17
2    4    0    1.06 0.13 0.82 0.88 0.23
2    5    0    1.12 0.15 0.76 1.08 0.28
2    6    0    1.60 0.26 0.55 1.31 0.37
2    7    0    1.58 0.26 0.56 1.16 0.35
2    8    0    1.54 0.24 0.59 1.08 0.33
2    9    0    1.72 0.22 0.55 0.84 0.29
2    10   0    1.72 0.21 0.53 0.79 0.29
2    11   0    1.63 0.19 0.55 0.73 0.27
2    12   0    2.17 0.32 0.44 0.95 0.43
3    1    0    0.87 -0.03 0.79 0.61 0.00
3    2    1   0.83 -0.14 0.95 0.57 -0.02
My data set is related to companies' bankruptcy. My covariates are some financial ratios which are computed at the end of each year. Besides, the issue that a company is gone bankrupt or not, is also determined at the end of each year after financial statements is prepared. Codes in STATA 14:
Non-parametric methods:
Code:
. xtset id time, yearly
. stset time, failure(event==1)
. xtstreg x1 x2 x3 x4 x5, dist(exponential)
. xtstreg x1 x2 x3 x4 x5, dist(loglogistic)
. xtstreg x1 x2 x3 x4 x5, dist(lognormal)
. xtstreg x1 x2 x3 x4 x5, dist(weibull)
. xtstreg x1 x2 x3 x4 x5, dist(gamma)
Code:
 . logit event d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 x1 x2 x3 x4 x5, cluster(id) nocons
. logit event ln(time) x1 x2 x3 x4 x5, cluster(id) nocons

. cloglog event d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 x1 x2 x3 x4 x5, cluster(id) nocons
. cloglog event ln(time) x1 x2 x3 x4 x5, cluster(id) nocons
. xtset id time, yearly
. xtlogit event x1 x2 x3 x4 x5, pa corr(exchangeable)
. xtlogit event x1 x2 x3 x4 x5, re
. xtlogit event x1 x2 x3 x4 x5, fe
. xtcloglog event x1 x2 x3 x4 x5, re
. xtcloglog event x1 x2 x3 x4 x5, pa corr(exchangeable)
. mecloglog event x4 x5 x1 x2 x3 || id:
Semi-parametric method:
Code:
. stset time, id(id) failure(event==1)
. stcox x1 x2 x3 x4 x5, cluster(id)
. stcox x1 x2 x3 x4 x5
. stcox x1 x2 x3 x4 x5, shared(id)
Parametric methods:

Code:
 . stset time, failure(event)
. mestreg x1 x2 x3 x4 x5, dist(exponential)
. mestreg x1 x2 x3 x4 x5, dist(loglogistic)
. mestreg x1 x2 x3 x4 x5, dist(lognormal)
. mestreg x1 x2 x3 x4 x5, dist(weibull)
. mestreg x1 x2 x3 x4 x5, dist(gamma)
Some R codes are also provided here.

Best regards,