ch12.4.do open
file:script:do
# | content |
---|---|
1 [+] | * ITSP 12.4 - |
3 [+] | !cp mynormal_lf.101.ado mynormal_lf.ado |
4 [+] | program drop _all |
5 [+] | which mynormal_lf |
7 [+] | type mynormal_lf.ado |
9 [+] | /* capt program drop mynormal_lf program mynormal_lf version 10.1 args lnf mu lnsigma quietly replace `lnf' = ln(normalden($ML_y1, `mu', exp(`lnsigma'))) end */ |
18 [+] | /* capt program drop mynormal Replay Estimate program mynormal version 10.1 if replay() { if ("`e(cmd)'" != "mynormal") error 301 Replay `0' } else Estimate `0' end program Replay syntax [, Level(cilevel) ] ml display, level(`level') end */ |
36 [+] | !cp mynormal.101.ado mynormal.ado |
37 [+] | program drop _all |
38 [+] | which mynormal |
40 [+] | type mynormal.ado |
42 [+] | /* program Estimate, eclass sortpreserve syntax varlist [if] [in] [, vce(passthru) Level(cilevel) * ] mlopts mlopts, `options' gettoken lhs rhs: varlist marksample touse local diparm diparm(lnsigma, exp label("sigma")) ml model lf mynormal_lf (mu: `lhs' = `rhs') /lnsigma /// if `touse', `vce' `mlopts' maximize `diparm' ereturn local cmd "mynormal" ereturn scalar k_aux = 1 Replay, level(`level') end */ |
57 [+] | sysuse auto , |
58 [+] | mynormal price mpg weight turn |
60 [+] | capt program drop mynormal_lf_d0 |
61 [+] | type mynormal_lf_d0.ado |
63 [+] | /* program mynormal_lf_d0 version 10.1 args todo b lnf tempvar mu tempname lnsigma mleval `mu' = `b', eq(1) mleval `lnsigma' = `b', eq(2) scalar quietly { mlsum `lnf' = ln(normalden($ML_y1,`mu', exp(`lnsigma'))) } end */ |
78 [+] | ml model d0 mynormal_lf_d0 (mu: price = mpg weight turn) /lnsigma , /// maximize nolog diparm(lnsigma, exp label("sigma")) |
80 [+] | ml display |
82 [+] | // !cp mynormal_lf_d0_c1.100.ado mynormal_lf_d0_c1.ado // program drop _all // which mynormal_lf_d0_c1 |
86 [+] | type mynormal_lf_d0_c1.ado |
104 [+] | /* program drop mynormal_lf_d0_c1 program mynormal_lf_d0_c1 version 10.1 args todo b lnf tempvar xb mu tempname a lnsigma mleval `a' = `b', eq(1) scalar mleval `xb' = `b', eq(2) mleval `lnsigma' = `b', eq(3) scalar quietly { generate double `mu' = `xb' - exp(`a')* $x1 mlsum `lnf' = ln(normalden($ML_y1,`mu', exp(`lnsigma'))) } end */ |
121 [+] | global x1 mpg |
122 [+] | qui regress price mpg weight turn |
123 [+] | matrix b0 = e(b) , |
124 [+] | matrix b0[1,1] = ln(-1*b0[1,1]) |
125 [+] | ml model d0 mynormal_lf_d0_c1 (a:) (mu: price = weight turn) /lnsigma , /// maximize nolog diparm(lnsigma, exp label("sigma")) |
127 [+] | ml display |
129 [+] | nlcom -exp([a]_cons) |
* ITSP 12.4 - !cp mynormal_lf.101.ado mynormal_lf.ado program drop _all which mynormal_lf type mynormal_lf.ado /* capt program drop mynormal_lf program mynormal_lf version 10.1 args lnf mu lnsigma quietly replace `lnf' = ln(normalden($ML_y1, `mu', exp(`lnsigma'))) end */ /* capt program drop mynormal Replay Estimate program mynormal version 10.1 if replay() { if ("`e(cmd)'" != "mynormal") error 301 Replay `0' } else Estimate `0' end program Replay syntax [, Level(cilevel) ] ml display, level(`level') end */ !cp mynormal.101.ado mynormal.ado program drop _all which mynormal type mynormal.ado /* program Estimate, eclass sortpreserve syntax varlist [if] [in] [, vce(passthru) Level(cilevel) * ] mlopts mlopts, `options' gettoken lhs rhs: varlist marksample touse local diparm diparm(lnsigma, exp label("sigma")) ml model lf mynormal_lf (mu: `lhs' = `rhs') /lnsigma /// if `touse', `vce' `mlopts' maximize `diparm' ereturn local cmd "mynormal" ereturn scalar k_aux = 1 Replay, level(`level') end */ sysuse auto, clear mynormal price mpg weight turn capt program drop mynormal_lf_d0 type mynormal_lf_d0.ado /* program mynormal_lf_d0 version 10.1 args todo b lnf tempvar mu tempname lnsigma mleval `mu' = `b', eq(1) mleval `lnsigma' = `b', eq(2) scalar quietly { mlsum `lnf' = ln(normalden($ML_y1,`mu', exp(`lnsigma'))) } end */ ml model d0 mynormal_lf_d0 (mu: price = mpg weight turn) /lnsigma, /// maximize nolog diparm(lnsigma, exp label("sigma")) ml display // !cp mynormal_lf_d0_c1.100.ado mynormal_lf_d0_c1.ado // program drop _all // which mynormal_lf_d0_c1 type mynormal_lf_d0_c1.ado /* capt program drop mynormal_lf_d0_c1 program mynormal_lf_d0_c1 version 10.1 args todo b lnf tempvar xb mu tempname a lnsigma mleval `a' = `b', eq(1) scalar mleval `xb' = `b', eq(2) mleval `lnsigma' = `b', eq(3) scalar quietly { generate double `mu' = `xb' + `a'* $x1 mlsum `lnf' = ln(normalden($ML_y1,`mu', exp(`lnsigma'))) } end */ /* program drop mynormal_lf_d0_c1 program mynormal_lf_d0_c1 version 10.1 args todo b lnf tempvar xb mu tempname a lnsigma mleval `a' = `b', eq(1) scalar mleval `xb' = `b', eq(2) mleval `lnsigma' = `b', eq(3) scalar quietly { generate double `mu' = `xb' - exp(`a')* $x1 mlsum `lnf' = ln(normalden($ML_y1,`mu', exp(`lnsigma'))) } end */ global x1 mpg qui regress price mpg weight turn matrix b0 = e(b), ln(e(rmse)) matrix b0[1,1] = ln(-1*b0[1,1]) ml model d0 mynormal_lf_d0_c1 (a:) (mu: price = weight turn) /lnsigma, /// maximize nolog diparm(lnsigma, exp label("sigma")) ml display nlcom -exp([a]_cons)