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

📄 fron_ex.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.0.2  05nov2002
program define fron_ex	/* frontier: exponential model,
			   Y_i = X_i*beta + E_i; E_i = V_i - $S_COST*U_i
		   	   $S_COST = 1, production function; -1, cost function
			   assume U_i ~ exp(0, sigma_u) 
				  V_i ~ N(0, sigma_v) noise
			*/
	version 8 
	args todo b lnf g negH g1 g2 g3
	tempvar xb lnsigv2 lnsigu2
	mleval `xb'=`b', eq(1)	/* xb */
	mleval `lnsigv2'=`b', eq(2)	/* ln(sigma_v^2) */
	mleval `lnsigu2'=`b', eq(3)	/* ln(sigma_u^2) */

	tempvar e z
	qui gen double `e'=$ML_y1-`xb'
	qui gen double `z'=-$S_COST*`e'*exp(-`lnsigv2'/2) /*
		*/ -exp((`lnsigv2'-`lnsigu2')/2)
	mlsum `lnf'=-1/2*`lnsigu2'+0.5*exp(`lnsigv2'-`lnsigu2')  /*
		*/ + ln(normprob(`z')) + $S_COST*`e'*exp(-`lnsigu2'/2)   

	if `todo'==0 | `lnf'==. {
		exit
	}
	tempname d1 d2 d3

	tempvar zr ztd1 ztd2 ztd3
	qui gen double `zr'=normd(`z')/normprob(`z')
	qui gen double `ztd1'=$S_COST*exp(-`lnsigv2'/2)
	qui gen double `ztd2'=1/2*$S_COST*`e'*exp(-`lnsigv2'/2) /*
		*/ - 1/2*exp((`lnsigv2'-`lnsigu2')/2)
	qui gen double `ztd3'=0.5*exp((`lnsigv2'-`lnsigu2')/2)
	qui replace `g1'=`zr'*`ztd1'-$S_COST*exp(-`lnsigu2'/2)
	qui replace `g2'=1/2*exp(`lnsigv2'-`lnsigu2')+`zr'*`ztd2'
	qui replace `g3'=-1/2-1/2*exp(`lnsigv2'-`lnsigu2') /*
		*/ + `zr'*`ztd3'-1/2*$S_COST*`e'*exp(-`lnsigu2'/2)
	mlvecsum `lnf' `d1'=`g1', eq(1)
	mlvecsum `lnf' `d2'=`g2', eq(2)
	mlvecsum `lnf' `d3'=`g3', eq(3)
	mat `g'=(`d1', `d2', `d3')

	if `todo'==1 | `lnf'==. {
		exit
	}
	tempname d11 d12 d13 d22 d23 d33
	tempvar ztd
	qui gen double `ztd'=`zr'*(`zr'+`z')
	mlmatsum `lnf' `d11'=`ztd'*`ztd1'*`ztd1', eq(1)
	mlmatsum `lnf' `d12'=`ztd'*`ztd2'*`ztd1' /*
		*/ - `zr'*(-1/2*$S_COST*exp(-`lnsigv2'/2)), eq(1,2)
	mlmatsum `lnf' `d13'=`ztd'*`ztd3'*`ztd1' /*
		*/ - 1/2*$S_COST*exp(-`lnsigu2'/2), eq(1,3)
	mlmatsum `lnf' `d22'=`ztd'*`ztd2'*`ztd2' /*
		*/ - `zr'*(-1/4*$S_COST*`e'*exp(-`lnsigv2'/2) /*
		*/ - 1/4*exp((`lnsigv2'-`lnsigu2')/2)) /*
		*/ - 1/2*exp(`lnsigv2'-`lnsigu2'), eq(2)
	mlmatsum `lnf' `d23'=`ztd'*`ztd2'*`ztd3' /*
		*/ - `zr'*(1/4*exp((`lnsigv2'-`lnsigu2')/2)) /*
		*/ + 1/2*exp(`lnsigv2'-`lnsigu2'), eq(2,3)
	mlmatsum `lnf' `d33'=`ztd'*`ztd3'*`ztd3' /*
		*/ - `zr'*(-1/4*exp((`lnsigv2'-`lnsigu2')/2)) /*
		*/ - 1/2*exp(`lnsigv2'-`lnsigu2') /*
		*/ - 1/4*$S_COST*`e'*exp(-`lnsigu2'/2), eq(3)
	matrix `negH' = (`d11', `d12', `d13' \ `d12'', `d22', `d23' /*
		*/ \ `d13'', `d23'', `d33')
end

⌨️ 快捷键说明

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