Skip to content
Prev 5089 / 5636 Next

[R-meta] Standard error of heterogeneity with rma.uni

Dear Will,

Please see my responses below.

Best,
Wolfgang
SAS uses by default the inverse of the Hessian (i.e., the observed Fisher information matrix) to calculate the SE of tau^2, while rma() uses the expected Fisher information matrix. If you use 'scoring=100' (should be sufficiently large), then SAS will also use the latter and the SEs are the same. Or one can use:

simraw$id <- 1:nrow(simraw)
res2 <- rma.mv(Ydelta, YdeltaSEsq, random = ~ 1 | id, cvvc=TRUE)
round(sqrt(res2$vvc), 4)

to get the SE based on the observed Fisher information matrix.

Which is to be preferred (the observed or expected information) is an open issue. Neither is particularly useful though in the present context, because better CIs for tau^2 can be constructed (e.g., using the Q-profile method, the generalized Q-statistic method, or the profile likelihood method) that do not make use of any SE of tau^2.
No.
No.
Blindly copy-pasting code without the necessary adjustments to variable names isn't going to work.
You can use control=list(tau2.min=-min(simrawnv$YdeltaSEsq)). The tau2.min argument does not make use of non-standard evaluation.
This is not a bug. If we allow tau^2 to go below -min(vi), then the marginal variance becomes negative. Neither the all holy SAS(r) nor metafor can magically make this work.
This seems quite peculiar. Please provide a fully reproducible example replicating this issue.
No, because it is the only sensible thing that can be done.
That 'Wolf' guy seems to know what he is talking about here.
If you think this is going to fix whatever problem you perceive, then here is some code to get you started:

https://www.metafor-project.org/doku.php/tips:bootstrapping_with_ma
As mentioned above, selmodel() does not allow for negative tau^2 values.