各位,我使用stata的ML写了一个极大使然程序,但是在运行过程中出现
initial: log likelihood = -<inf> (could not be evaluated)
feasible: log likelihood = -3110.9551
rescale: log likelihood = -553.68092
rescale eq: log likelihood = -300.68297
然后报错:
could not calculate numerical derivatives -- flat or discontinuous region encountered
应该怎么调试?谢谢!
ml check没有问题
我是用了几个数据去测试这段程序,都是迭代到第四步就断了,应该还是程序有问题,求助大家
*******DCC.ado的ML程序如下*****************
cap program drop DCC
program define DCC
version 12.1
args lnf alpha mu s_n s_e
tempvar s_ne rho t1 t2 s1 s2 s3 u1 u2 m1 m2 r1 r2 n2 n3
quietly {
gen double `s_ne' = sqrt(`s_n'^2+`s_e'^2)
gen double `rho' = `s_n'/`s_ne'
gen double `t1' = (ln(50)-ln(.4350549)*`apha'-ln(8005.487)*`mu')/`s_n'
gen double `t2' = (ln(200)-ln(.458)*`apha'-ln(8006.987)*`mu')/`s_n'
gen double `s1' = (ln($ML_y1)-ln(.4350549)*`apha'-ln(8005.487)*`mu')/`s_ne'
gen double `s2' = (ln($ML_y1)-ln(.458)*`apha'-ln(8006.987)*`mu')/`s_ne'
gen double `s3' = (ln($ML_y1)-ln(.528)*`apha'-ln(8017.487)*`mu')/`s_ne'
gen double `u1' = (ln($ML_y1)-ln(50))/`s_ne'
gen double `u2' = (ln($ML_y1)-ln(200))/`s_ne'
gen double `m1' = (ln(50)-ln(.458)*`apha'-ln(8006.987)*`mu')/`s_n'
gen double `m2' = (ln(200)-ln(.528)*`apha'-ln(8017.487)*`mu')/`s_n'
gen double `r1' = (`t1'-`rho'*`s1')/sqrt(1-`rho'^2)
gen double `r2' = (`t2'-`rho'*`s2')/sqrt(1-`rho'^2)
gen double `n2' = (`m1'-`rho'*`s2')/sqrt(1-`rho'^2)
gen double `n3' = (`m2'-`rho'*`s3')/sqrt(1-`rho'^2)
replace `lnf' = ln(exp(-(`s1'*`s1'/2))/(sqrt(2*_pi)*`s_ne')*normal(`r1')+ ///
exp(-(`s2'*`s2'/2))/(sqrt(2*_pi)*`s_ne')*(normal(`r2')-normal(`n2'))+ ///
exp(-(`s3'*`s3'/2))/(sqrt(2*_pi)*`s_ne')*normal(`n3')+ ///
exp(-(`u1'*`u1'/2))/(sqrt(2*_pi)*`s_e')*(normal(`m1')-normal(`t1'))+ ///
exp(-(`u2'*`u2'/2))/(sqrt(2*_pi)*`s_e')*(normal(`m2')-normal(`t2')))
}
end
******************************
比如我用auto这个数据来测试
*******do文件****************************
ml model lf DCC (ML: price= mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign ) (alpha: ) (mu: ) (s_n: ) (s_e:)
ml max
****************
报错如下
*********************
initial: log likelihood = -<inf> (could not be evaluated)
feasible: log likelihood = -1392.6704
rescale: log likelihood = -343.03737
rescale eq: log likelihood = 879.12535
could not calculate numerical derivatives -- flat or discontinuous region encountered
********************
ml check没有问题