weib_lf0.ado
来自「是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到」· ADO 代码 · 共 48 行
ADO
48 行
*! version 1.0.1 26mar1998
program define weib_lf0
version 6
args todo b lnf g H g1 g2
tempvar xb
tempname lnp p
local lnt "$S_ML_lnt" /* ln(time) */
local d "$S_ML_d" /* dead/censor variable */
mleval `xb' = `b', eq(1)
mleval `lnp' = `b', eq(2) scalar
scalar `p' = exp(`lnp')
if `todo' == 0 {
mlsum `lnf' = -exp(`p'*`lnt'+`xb') + `d'*(`lnp'+`p'*`lnt'+`xb')
exit
}
quietly {
tempvar eplnt
tempname d1 d2
gen double `eplnt' = exp(`p'*`lnt'+`xb') if $ML_samp
mlsum `lnf' = -`eplnt' + `d'*(`lnp'+`p'*`lnt'+`xb')
replace `g1' = -`eplnt' + `d'
replace `g2' = `p'*`lnt'*`g1' + `d'
mlvecsum `lnf' `d1' = `g1', eq(1)
mlvecsum `lnf' `d2' = `g2', eq(2)
mat cat `g' = `d1' `d2'
if `todo' == 1 { exit }
tempname d11 d12 d22
mlmatsum `lnf' `d11' = `eplnt', eq(1)
mlmatsum `lnf' `d12' = `p'*`lnt'*`eplnt', eq(1,2)
mlmatsum `lnf' `d22' = `p'*`lnt'*((`p'*`lnt'+1)*`eplnt'-`d'), /*
*/ eq(2)
mat cat `H' = `d11' `d12' \ `d12'' `d22'
}
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?