全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2557 0
2010-08-11
我在学用mle编程估计随机前沿模型,程序如下:

capture program drop myhalf
program myhalf
     version 11.1
    args lnf xb s_u s_v

    tempvar e s lamd f
    quietly {
          gen double `e'=$ML_y1-`xb'
          gen double `s'=sqrt(`s_u'^2+`s_v'^2)
          gen double `lamd'=`s_u'/`s_v'
          gen double `f'=`e'*`lamd'/`s'
  
          replace `lnf'=-ln(`s')+ln(normal(-`f'))-1/(2*`s'^2)*`e'^2
     }
end

用它来估计模型除了最大似然值与用frontier命令估计不同之外,其它的完全一样,为了计算出正确的最大似然值
我将其中的:
      replace `lnf'=-ln(`s')+ln(normal(-`f'))-1/(2*`s'^2)*`e'^2
根据对数似然函数改为:
     replace `lnf'=ln(2/sqrt(2*_pi))-ln(`s')+ln(normal(-`f'))-1/(2*`s'^2)*`e'^2
后运行出错,提示为:
    could not calculate numerical derivatives -- discontinuous region with missing values encountered
按理来说我添加的ln(2/sqrt(2*_pi))是一个常数,我就不明白为何会影响到程度的运行?


      特向大家请教!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群