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

📄 weibhet_glf.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.0.2  20sep2000
program define weibhet_glf
	version 7.0
	args todo b lnf g negH g1 g2 g3

	tempvar beta lnp lntheta
	mleval `beta' = `b', eq(1)
	mleval `lnp' = `b', eq(2) scalar
	mleval `lntheta' = `b', eq(3) scalar

	scalar `lnp' = cond((`lnp'<-20),-20,`lnp')
	scalar `lntheta' = cond((`lntheta'<-20),-20,`lntheta')
	
	local t  = "$EREGt"
	local t0 = "$EREGt0"
	local d = "$EREGd"

	tempname p theta
	tempvar a b b0 lnt lnt0
	scalar `p' = exp(`lnp')
	scalar `theta' = exp(`lntheta')
	qui gen `lnt' = ln(`t') if $ML_samp
	qui gen `lnt0' = cond(`t0'>0,ln(`t0'),0) if $ML_samp 
	qui gen double `a' = 1/`theta' + `d' if $ML_samp
	qui gen double `b' = ln(1+`theta'*exp(`beta')*exp(`p'*`lnt')) /*
		*/ if $ML_samp
	qui gen double `b0' = cond(`t0'>0, /*
		*/ ln(1+`theta'*exp(`beta')*exp(`p'*`lnt0')),0) /*
		*/ if $ML_samp
	
	mlsum `lnf' = -`a'*`b' + `d'*(`beta'+`lnp'+`p'*`lnt') + /*
		*/	`b0'/`theta'
 
	if `todo'==0 | `lnf'==. { exit }

	tempname d1 d2 d3
	tempvar c c0
	qui gen double `c' = `theta'*exp(`beta'+`p'*`lnt') if $ML_samp
	qui gen double `c0' = cond(`t0'>0, /*
		*/ `theta'*exp(`beta'+`p'*`lnt0'),0) if $ML_samp
	qui replace `c' = `c'/(1+`c')
	qui replace `c0' = `c0'/(1+`c0')

	qui replace `g1' = -`a'*`c' + `c0'/`theta' + `d'
	qui replace `g2' =  `p'*(`lnt'*(-`a'*`c' + `d') + /*
		*/	      `lnt0'*`c0'/`theta') + `d'
	qui replace `g3' = -`a'*`c' + (`b'-`b0'+`c0')/`theta'
	mlvecsum `lnf' `d1' = `g1', eq(1) 
	mlvecsum `lnf' `d2' = `g2', eq(2)
	mlvecsum `lnf' `d3' = `g3', eq(3)
	matrix `g' = (`d1',`d2',`d3')

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

	tempname d11 d12 d13 d22 d23 d33
	tempvar f f0
	qui gen double `f' = `c'*exp(-`b') if $ML_samp
	qui gen double `f0' = cond(`t0'>0,`c0'*exp(-`b0'),0) if $ML_samp
	mlmatsum `lnf' `d11' = -`a'*`f' + `f0'/`theta', eq(1)
	mlmatsum `lnf' `d12' = `p'*(-`a'*`f'*`lnt' + /* 
		*/		`f0'*`lnt0'/`theta'), eq(1,2)
	mlmatsum `lnf' `d13' = -`a'*`f'+(`f0'+`c'-`c0')/`theta', eq(1,3)
	mlmatsum `lnf' `d22' = `p'*(`p'*(-`a'*`f'*`lnt'^2 +             /*
		*/		`f0'*`lnt0'^2/`theta') -                /*
		*/		(`a'*`c' - `d')*`lnt' +                 /*
		*/		`lnt0'*`c0'/`theta'), eq(2)
	mlmatsum `lnf' `d23' = `p'*(`lnt'*(-`a'*`f'+`c'/`theta') +      /*
		*/             `lnt0'*(`f0'-`c0')/`theta'), eq(2,3)
	mlmatsum `lnf' `d33' = -`a'*`f'+(2*`c'+`b0'-`b'-`c0')/`theta' - /*
		*/		`f0'*exp(`beta'+`p'*`lnt0'), eq(3)
	matrix `negH' = -(`d11',`d12',`d13' \ (`d12')',`d22',`d23'\     /* 
		*/	 (`d13')',(`d23')',`d33')
end
exit

⌨️ 快捷键说明

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