完全的新手,不知道要怎么改正才可以模拟出最大似然估计, 求解答。万分感谢!
. program define ML_cpt0
args lnf b a
generate double `probweit17' = (prob17^b)/((prob17^b+(1-prob17)^b)^1/
> b)
. generate double `probweit16' = ((prob17+prob16)^b)/(((prob17+prob16)^b+(1-pro
> b17-prob16)^b)^1/b)-probweit17
. generate double `probweit15' = ((prob17+prob16+prob15)^b)/(((prob17+prob16+pr
> ob15)^b+(1-prob17-prob16-prob15)^b)^1/b)-probweit16
. generate double `probweit14' = ((prob17+prob16+prob15+prob14)^b)/(((prob17+pr
> ob16+prob15+prob14)^b+(1-prob17-prob16-prob15-prob14)^b)^1/b)-probweit15
. generate double `probweit13' = ((prob17+prob16+prob15+prob14+prob13)^b)/(((pr
> ob17+prob16+prob15+prob14+prob13)^b+(1-prob17-prob16-prob15-prob14-prob13)^b)
> ^1/b)-probweit14
. generate double `probweit12' = ((prob17+prob16+prob15+prob14+prob13+p
> rob12)^b)/(((prob17+prob16+prob15+prob14+prob13+prob12)^b+(1-prob17-prob16-pr
> ob15-prob14-prob13-prob12)^b)^1/b)-probweit13
. generate double `probweit11' = ((prob17+prob16+prob15+prob14+prob13+prob12+pr
> ob11)^b)/(((prob17+prob16+prob15+prob14+prob13+prob12+prob11)^b+(1-prob17-pro
> b16-prob15-prob14-prob13-prob12-prob11)^b)^1/b)-probweit12
. generate double `probweit10' = ((prob17+prob16+prob15+prob14+prob13+prob12+pr
> ob11+prob10)^b)/(((prob17+prob16+prob15+prob14+prob13+prob12+prob11+prob10)^b
> +(1-prob17-prob16-prob15-prob14-prob13-prob12-prob11-prob10)^b)^1/b)-probweit
> 11
. generate double `probweit9' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9)^b)/(((prob17+prob16+prob15+prob14+prob13+prob12+prob11+prob
> 10+prob9)^b+(1-prob17-prob16-prob15-prob14-prob13-prob12-prob11-prob10-proob9
> )^b)^1/b)-probweit10
. generate double `probweit8' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8)^b)/(((prob17+prob16+prob15+prob14+prob13+prob12+prob1
> 1+prob10+prob9+prob8)^b+(1-prob17-prob16-prob15-prob14-prob13-prob12-prob11-p
> rob10-proob9-prob8)^b)^1/b)-probweit9
. generate double `probweit7' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7)^b)/(((prob17+prob16+prob15+prob14+prob13+prob12
> +prob11+prob10+prob9+prob8+prob7)^b+(1-prob17-prob16-prob15-prob14-prob13-pro
> b12-prob11-prob10-proob9-prob8-prob7)^b)^1/b)-probweit8
. generate double `probweit6' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7+prob6)^b)/(((prob17+prob16+prob15+prob14+prob13+
> prob12+prob11+prob10+prob9+prob8+prob7+prob6)^b+(1-prob17-prob16-prob15-prob1
> 4-prob13-prob12-prob11-prob10-proob9-prob8-prob7-prob6)^b)^1/b)-probweit7
. generate double `probweit5' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7+prob6+prob5)^b)/(((prob17+prob16+prob15+prob14+p
> rob13+prob12+prob11+prob10+prob9+prob8+prob7+prob6+prob5)^b+(1-prob17-prob16-
> prob15-prob14-prob13-prob12-prob11-prob10-proob9-prob8-prob7-prob6-prob5)^b)^
> 1/b)-probweit6
. generate double `probweit4' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7+prob6+prob5+prob4)^b)/(((prob17+prob16+prob15+pr
> ob14+prob13+prob12+prob11+prob10+prob9+prob8+prob7+prob6+prob5+prob4)^b+(1-pr
> ob17-prob16-prob15-prob14-prob13-prob12-prob11-prob10-proob9-prob8-prob7-prob
> 6-prob5-prob4)^b)^1/b)-probweit5
. generate double `probweit3' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7+prob6+prob5+prob4+prob3)^b)/(((prob17+prob16+pro
> b15+prob14+prob13+prob12+prob11+prob10+prob9+prob8+prob7+prob6+prob5+prob4+pr
> ob3)^b+(1-prob17-prob16-prob15-prob14-prob13-prob12-prob11-prob10-proob9-prob
> 8-prob7-prob6-prob5-prob4-prob3)^b)^1/b)-probweit4
. generate double `probweit2' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7+prob6+prob5+prob4+prob3+prob2)^b)/(((prob17+prob
> 16+prob15+prob14+prob13+prob12+prob11+prob10+prob9+prob8+prob7+prob6+prob5+pr
> ob4+prob3+prob2)^b+(1-prob17-prob16-prob15-prob14-prob13-prob12-prob11-prob10
> -proob9-prob8-prob7-prob6-prob5-prob4-prob3-prob2)^b)^1/b)-probweit3
. generate double `probweit1' = ((prob17+prob16+prob15+prob14+prob13+prob12+pro
> b11+prob10+prob9+prob8+prob7+prob6+prob5+prob4+prob3+prob2+prob1)^b)/(((prob1
> 7+prob16+prob15+prob14+prob13+prob12+prob11+prob10+prob9+prob8+prob7+prob6+pr
> ob5+prob4+prob3+prob2+prob1)^b+(1-prob17-prob16-prob15-prob14-prob13-prob12-p
> rob11-prob10-proob9-prob8-prob7-prob6-prob5-prob4-prob3-prob2-prob1)^b)^1/b)-
> probweit2
.
. generate double `val1' = ln(a+prize1)
. generate double `val2' = ln(a+prize2)
. generate double `val3' = ln(a+prize3)
. generate double `val4' = ln(a+prize4)
. generate double `val5' = ln(a+prize5)
. generate double `val6' = ln(a+prize6)
. generate double `val7' = ln(a+prize7)
. generate double `val8' = ln(a+prize8)
. generate double `val9' = ln(a+prize9)
. generate double `val10' = ln(a+prize10)
. generate double `val11' = ln(a+prize11)
. generate double `val12' = ln(a+prize12)
. generate double `val13' = ln(a+prize13)
. generate double `val14' = ln(a+prize14)
. generate double `val15' = ln(a+prize15)
. generate double `val16' = ln(a+prize16)
. generate double `val17' = ln(a+prize17)
. generate double `valB' = ln(a+prizeB)
. generate double `CPB' = `1'*`valB'
. generate double `CPU' = `probweit1'*`val1'+`probweit2'*`val2'+`probwe
> it3'`val3'+`probweit4'`val4'+`probweit5'`val5'+`probweit6'`val6'+`probweit7'`
> val7'+`probweit8'`val8'+`probweit9'`val9'+`probweit10'`val10'+`probweit11'`va
> l11'+`probweit12'`val12'+`probweit13'`val3'+`probweit14'`val4'+`probweit15'`v
> al5'+`probweit16'`val6'+`probweit17'`val7'
.
. generate double `CPDiff' = `CPU' - `CPB'
. quietly replace `lnf' = ln(normal( `CPDiff')) if choice_==0
quietly replace `lnf' = ln(normal(-`CPDiff')) if choice_==1
.
. end
. ml model lf ML_cpt0 (b: ) (a:), technique(bfgs) maximize
b not found
r(111);
.
. ml display
last estimates not found
r(301);
.
. vce, corr
last estimation result not found
r(301);
.
. parmest, list(*)
unrecognized command: parmest
r(199);