Setup initial file structure
This commit is contained in:
35
Modules/ado/plus/m/metareg_ll.ado
Normal file
35
Modules/ado/plus/m/metareg_ll.ado
Normal file
@ -0,0 +1,35 @@
|
||||
*! v 1.1 26Oct2004
|
||||
*! Roger Harbord
|
||||
/*
|
||||
log-likelihood evaluator (method d0) for metareg v2.
|
||||
Estimates tau2 by REML.
|
||||
Variables :
|
||||
$ML_y1 holds the y-vector of study estimates,
|
||||
$ML_y2 holds the within-study variances
|
||||
$REML_x holds the covariates
|
||||
$REML_nocons is flag "" or "noconstant"
|
||||
*/
|
||||
|
||||
program define metareg_ll
|
||||
version 7
|
||||
args todo b lnf
|
||||
tempvar lnfj v r
|
||||
tempname R tau2
|
||||
mleval `tau2' = `b', scalar
|
||||
quietly {
|
||||
gen double `v' = $ML_y2 +`tau2' /* v_i = sigma_i^2 + tau^2 */
|
||||
capture regress $ML_y1 $REML_x [iw=1/`v'] if $ML_samp, $REML_nocons
|
||||
if _rc == 0 {
|
||||
predict double `r' if $ML_samp, resid
|
||||
gen double `lnfj' = `r'^2/`v' +log(`v')
|
||||
mlsum `lnf' = `lnfj'
|
||||
matrix accum R = $REML_x [iw=1/`v'] if $ML_samp, $REML_nocons
|
||||
/* R = X'V^-1X is reml correction to -2logL */
|
||||
scalar `lnf' = -0.5 * ( `lnf' +log( det(R) ) )
|
||||
}
|
||||
else {
|
||||
scalar `lnf' = .
|
||||
}
|
||||
}
|
||||
|
||||
end
|
Reference in New Issue
Block a user