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

📄 scob_lf.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.2.0  19mar1999
program define scob_lf
        version 6
	args todo b lnf g H sc1 sc2

/* Calculate the log-likelihood. */

        tempvar xb alpha
	mleval `xb' = `b', eq(1)
	mleval `alpha' = `b', eq(2) scalar

	local bound 18
	if abs(`alpha') > `bound' { scalar `alpha' = `bound'*sign(`alpha') }
	scalar `alpha' = exp(`alpha')

	if `todo' == 0 {
		local f "((1+exp(`xb'))^(-`alpha'))"
		mlsum `lnf' = ln(cond($ML_y1!=0, 1-`f', `f'))
		exit
	}

	quietly {
		tempvar f
		tempname g1 g2

		replace `xb' = exp(`xb')
		gen double `f' = (1+`xb')^(-`alpha') if $ML_samp

		mlsum `lnf' = ln(cond($ML_y1!=0, 1-`f', `f'))

		if `lnf'==. { exit }

/* Calculate the scores and gradient. */

		local ff "cond($ML_y1!=0, -`f'/(1-`f'), 1)"

		replace `sc1' = -`ff'*`alpha'*`xb'/(1+`xb') if $ML_samp
		replace `sc2' = -`ff'*`alpha'*ln(1+`xb')    if $ML_samp

		mlvecsum `lnf' `g1' = `sc1', eq(1)
		mlvecsum `lnf' `g2' = `sc2', eq(2)
		matrix `g' = (`g1',`g2')

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

/* Calculate the negative hessian. */

		tempname d11 d12 d22
		mlmatsum `lnf' `d11' = cond($ML_y1!=0, /*
		*/ -`f'*(1-`alpha'*`xb'/(1-`f'))/(1-`f'), 1) /*
		*/ *`alpha'*`xb'/(1+`xb')^2, eq(1)

		replace `f' = -`f'*(1-`alpha'*ln(1+`xb')/(1-`f'))/(1-`f') /*
		*/ if $ML_y1!=0 & $ML_samp

		mlmatsum `lnf' `d12' = cond($ML_y1!=0,`f',1) /*
		*/ *`alpha'*`xb'/(1+`xb'), eq(1,2)

		mlmatsum `lnf' `d22' = cond($ML_y1!=0,`f',1) /*
		*/ *`alpha'*ln(1+`xb'), eq(2)

		matrix `H' = (`d11',`d12' \ `d12'',`d22')
	}
end

⌨️ 快捷键说明

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