⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glim_lf.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.1.0  04dec2000
program define glim_lf
        version 6
	args todo b lnf g H score


        tempvar eta mu dmu v
	mleval `eta' = `b'
	qui $SGLM_L 1 `eta' `mu'
	qui $SGLM_mu `mu'
	qui $SGLM_L 2 `eta' `mu' `dmu'
	qui $SGLM_V 1 `eta' `mu' `v'

	/* Calculate log-likelihood */

	if "$ML_off" == "" {
		global ML_off 0 
	}

	tempname phi
	if "$SGLM_ph" == "" { global SGLM_ph = 1 }
	scalar `phi' = $SGLM_ph
	if $SGLM_s1 { scalar `phi' = $SGLM_s1 }

	tempvar lli 
	qui $SGLM_V 5 `eta' `mu' `lli'
	mlsum `lnf' = `lli'

	if `todo' == 0 | `lnf'==. { exit }

	/* Calculate gradient */

	qui replace `score' = ($ML_y1 - `mu')/(`phi'*`v')*`dmu' if $ML_samp
	mlvecsum `lnf' `g' = `score'

	if `todo' == 1 | `lnf'==.  { exit }

	/* Re-calculate phi */

	tempvar tt
	qui gen double `tt' = sum($ML_w*($ML_y1-`mu')*($ML_y1-`mu')/`v')
	global SGLM_ph = `tt'[_N]/($ML_N-$ML_k)

	/* Calculate user-specified ancillary parameters */
	qui $SGLM_A

	/* Calculate negative Hessian */

	tempvar t1
	qui gen double `t1' = `dmu'*`dmu'/`v' if $ML_samp

	if "$SGLM_f" == "" {
		global SGLM_f = -1        
	}

	if $SGLM_f >= $ML_ic {		/* Fisher Scoring */
		mlmatsum `lnf' `H' = (`t1')/`phi'
		exit
	}
						/* Newton-Raphson */
	tempvar dv d2mu
	qui $SGLM_V 2 `eta' `mu' `dv'
	qui $SGLM_L 3 `eta' `mu' `d2mu' 
	tempvar t2 t3
	qui gen double `t2' = `t1'/`v'*`dv' if $ML_samp
	qui gen double `t3' = `d2mu'/`v'    if $ML_samp
	mlmatsum `lnf' `H' = (`t1'-(`mu'-$ML_y1)*(`t2'-`t3'))/`phi'
end
exit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -