*program define PCM010101_lf version 13.0 mata: mata set matastrict on mata: void PCM010101_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = (etht1:/(one+etht1)) k = one-exp(-1:*tt) k0 = one-exp(-1:*tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = exp(-1:*tt):*etht3:*tt:/t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010102_lf version 13.0 mata: mata set matastrict on mata: void PCM010102_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = exp(-1:*etht1) k = one-exp(-1:*tt) k0 = one-exp(-1:*tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = exp(-1:*tt):*etht3:*tt:/t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010103_lf version 13.0 mata: mata set matastrict on mata: void PCM010103_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = (tht1) k = one-exp(-1:*tt) k0 = one-exp(-1:*tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = exp(-1:*tt):*etht3:*tt:/t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010201_lf version 13.0 mata: mata set matastrict on mata: void PCM010201_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = (etht1:/(one+etht1)) k = normal(ln(tt)) k0 = normal(ln(tt0)) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = normalden(ln(tt)):*etht3:/ t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010202_lf version 13.0 mata: mata set matastrict on mata: void PCM010202_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 pi = exp(-1:*etht1) k = normal(ln(tt)) k0 = normal(ln(tt0)) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = normalden(ln(tt)):*etht3:/ t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010203_lf version 13.0 mata: mata set matastrict on mata: void PCM010203_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 pi = (tht1) k = normal(ln(tt)) k0 = normal(ln(tt0)) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = normalden(ln(tt)):*etht3:/ t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010301_lf version 13.0 mata: mata set matastrict on mata: void PCM010301_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = (etht1:/(one+etht1)) k = tt:/(one+tt) k0 = tt0:/(one+tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = (one:/(one+tt):^2):*etht3:*tt:/t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010302_lf version 13.0 mata: mata set matastrict on mata: void PCM010302_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = exp(-1:*etht1) k = tt:/(one+tt) k0 = tt0:/(one+tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = (one:/(one+tt):^2):*etht3:*tt:/t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010303_lf version 13.0 mata: mata set matastrict on mata: void PCM010303_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht2 = exp(tht2) etht3 = exp(tht3) tt =(etht2:*t):^etht3 tt0 =(etht2:*t0):^etht3 one=J(rows(d),1,1) pi = (tht1) k = tt:/(one+tt) k0 = tt0:/(one+tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = (one:/(one+tt):^2):*etht3:*tt:/t lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010401_lf version 13.0 mata: mata set matastrict on mata: void PCM010401_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector one, zro tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(t):/etht2 tt0 =(t0):/etht2 one=J(rows(d),1,1) pi = (etht1:/(one+etht1)) k = gammap(etht3,tt) k0 = gammap(etht3,tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } zro=J(rows(d),1,0) dk = gammaden(etht3,etht2,zro,t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010402_lf version 13.0 mata: mata set matastrict on mata: void PCM010402_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector zro tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) etht3 = exp(tht3) tt =(t):/etht2 tt0 =(t0):/etht2 pi = exp(-1:*etht1) k = gammap(etht3,tt) k0 = gammap(etht3,tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } zro=J(rows(d),1,0) dk = gammaden(etht3,etht2,zro,t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010403_lf version 13.0 mata: mata set matastrict on mata: void PCM010403_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht2, etht3, tt, tt0, pi, k, k0, dk real scalar i real colvector zro tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht2 = exp(tht2) etht3 = exp(tht3) tt =(t):/etht2 tt0 =(t0):/etht2 pi = tht1 k = gammap(etht3,tt) k0 = gammap(etht3,tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } zro=J(rows(d),1,0) dk = gammaden(etht3,etht2,zro,t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010501_lf version 13.0 mata: mata set matastrict on mata: void PCM010501_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, etht2, tt, tt0, pi, k, k0, dk real scalar i real colvector one, zro tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) tt =(t):/etht2 tt0 =(t0):/etht2 one=J(rows(d),1,1) pi = (etht1:/(one+etht1)) k = gammap(one,tt) k0 = gammap(one,tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } zro=J(rows(d),1,0) dk = gammaden(one,etht2,zro,t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010502_lf version 13.0 mata: mata set matastrict on mata: void PCM010502_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, etht2, tt, tt0, pi, k, k0, dk real scalar i real colvector one, zro tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) tt =(t):/etht2 tt0 =(t0):/etht2 one=J(rows(d),1,1) pi = exp(-1:*etht1) k = gammap(one,tt) k0 = gammap(one,tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } zro=J(rows(d),1,0) dk = gammaden(one,etht2,zro,t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010503_lf version 13.0 mata: mata set matastrict on mata: void PCM010503_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht2, tt, tt0, pi, k, k0, dk real scalar i real colvector one, zro tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht2 = exp(tht2) tt =(t):/etht2 tt0 =(t0):/etht2 one=J(rows(d),1,1) pi = tht1 k = gammap(one,tt) k0 = gammap(one,tt0) for(i=1; i<=rows(d); i++) { if (tt0[i]==0) { k0[i] = 0 } } zro=J(rows(d),1,0) dk = gammaden(one,etht2,zro,t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010601_lf version 13.0 mata: mata set matastrict on mata: void PCM010601_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, tt, tt0, pi, z, z0, sigma, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) tt = ln(t) tt0 =t0 for(i=1; i<=rows(t0); i++) { if (t0[i]==0) { tt0[i] = -8e+307 } else { tt0[i] = ln(t0[i]) } } one=J(rows(etht1),1,1) pi = (etht1:/(one+etht1)) sigma=exp(tht3) z = ((tt - tht2) :/sigma) z0 = ((tt0 - tht2) :/sigma) k = normal(z) k0 = normal(z0) dk = (normalden(tt ,tht2,sigma):/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010602_lf version 13.0 mata: mata set matastrict on mata: void PCM010602_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, tt, tt0, pi, z, z0, sigma, k, k0, dk real scalar i tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) tt = ln(t) tt0 =t0 for(i=1; i<=rows(t0); i++) { if (t0[i]==0) { tt0[i] = -8e+307 } else { tt0[i] = ln(t0[i]) } } pi = exp(-1:*(etht1)) sigma=exp(tht3) z = ((tt - tht2) :/sigma) z0 = ((tt0 - tht2) :/sigma) k = normal(z) k0 = normal(z0) dk = (normalden(tt ,tht2,sigma):/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010603_lf version 13.0 mata: mata set matastrict on mata: void PCM010603_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, tht3, t, d, t0, lc real colvector etht1, tt, tt0, pi, z, z0, sigma, k, k0, dk real scalar i tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) tht3 = moptimize_util_xb(ML, b, 3) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = tht1 tt = ln(t) tt0 =t0 for(i=1; i<=rows(t0); i++) { if (t0[i]==0) { tt0[i] = -8e+307 } else { tt0[i] = ln(t0[i]) } } pi = (etht1) sigma=exp(tht3) z = ((tt - tht2) :/sigma) z0 = ((tt0 - tht2) :/sigma) k = normal(z) k0 = normal(z0) dk = (normalden(tt ,tht2,sigma):/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010701_lf version 13.0 mata: mata set matastrict on mata: void PCM010701_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, tt, tt0, pi, z, z0, sigma, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) tt = ln(t) tt0 = t0 for(i=1; i<=rows(t0); i++) { if (t0[i]==0) { tt0[i] = -8e+307 } else { tt0[i] = ln(t0[i]) } } one=J(rows(etht1),1,1) pi = (etht1:/(one+etht1)) sigma=one z = ((tt - tht2) :/sigma) z0 = ((tt0 - tht2) :/sigma) k = normal(z) k0 = normal(z0) dk = (normalden(tt ,tht2,sigma):/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010702_lf version 13.0 mata: mata set matastrict on mata: void PCM010702_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, tt, tt0, pi, z, z0, sigma, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) tt = ln(t) tt0 =t0 for(i=1; i<=rows(t0); i++) { if (t0[i]==0) { tt0[i] = -8e+307 } else { tt0[i] = ln(t0[i]) } } one=J(rows(etht1),1,1) pi = exp(-1:*(etht1)) sigma=one z = ((tt - tht2) :/sigma) z0 = ((tt0 - tht2) :/sigma) k = normal(z) k0 = normal(z0) dk = (normalden(tt ,tht2,sigma):/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010703_lf version 13.0 mata: mata set matastrict on mata: void PCM010703_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, tt, tt0, pi, z, z0, sigma, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = tht1 tt = ln(t) tt0 =t0 for(i=1; i<=rows(t0); i++) { if (t0[i]==0) { tt0[i] = -8e+307 } else { tt0[i] = ln(t0[i]) } } one=J(rows(etht1),1,1) pi = (etht1) sigma=one z = ((tt - tht2) :/sigma) z0 = ((tt0 - tht2) :/sigma) k = normal(z) k0 = normal(z0) dk = (normalden(tt ,tht2,sigma):/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010801_lf version 13.0 mata: mata set matastrict on mata: void PCM010801_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, etht2, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) one=J(rows(etht1),1,1) tt = (etht2:*t):^one tt0 = (etht2:*t0):^one pi = (etht1:/(one + etht1)) k = normal(ln(tt)) k0 = normal(ln(tt0)) for(i=1; i<=rows(t0); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = (normalden(ln(tt)):*one:/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010802_lf version 13.0 mata: mata set matastrict on mata: void PCM010802_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, etht2, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) etht2 = exp(tht2) one=J(rows(etht1),1,1) tt = (etht2:*t):^one tt0 = (etht2:*t0):^one pi = exp(-1:*etht1) k = normal(ln(tt)) k0 = normal(ln(tt0)) for(i=1; i<=rows(t0); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = (normalden(ln(tt)):*one:/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end *program define PCM010803_lf version 13.0 mata: mata set matastrict on mata: void PCM010803_lf(transmorphic scalar ML, real rowvector b, real colvector lnf) { real colvector tht1, tht2, t, d, t0, lc real colvector etht1, tt, tt0, pi, k, k0, dk real scalar i real colvector one tht1 = moptimize_util_xb(ML, b, 1) tht2 = moptimize_util_xb(ML, b, 2) t = moptimize_util_depvar(ML, 1) d = moptimize_util_depvar(ML, 2) t0 = moptimize_util_depvar(ML, 3) lc = moptimize_util_depvar(ML, 4) etht1 = exp(tht1) one=J(rows(etht1),1,1) tt = (tht2:*t):^one tt0 = (tht2:*t0):^one pi = tht1 k = normal(ln(tt)) k0 = normal(ln(tt0)) for(i=1; i<=rows(t0); i++) { if (tt0[i]==0) { k0[i] = 0 } } dk = (normalden(ln(tt)):*one:/ t) lnf=J(rows(d),1,0) for(i=1; i<=rows(d); i++) { if (d[i]==1 & lc[i]==0) { lnf[i] = (ln(-1:*ln(pi[i]))+k[i]:*ln(pi[i])+ln(dk[i]))-(k0[i]*ln(pi[i])) } else if (d[i]==0 & lc[i]==0) { lnf[i] = (k[i]:*ln(pi[i]))-(k0[i]:*ln(pi[i])) } else if (d[i]==1 & lc[i]==1) { lnf[i] = (ln((pi[i]:^k0[i])-(pi[i]:^k[i])))-(k0[i]:*ln(pi[i])) } } } end