[R-meta] Accounting for uncertainty in a mixed-effects regression
Cesar Terrer Moreno
cesar.terrer at me.com
Fri Feb 2 12:48:56 CET 2018
I have calculated an effect size along a dataset of experiments distributed worldwide through a mixed-effects meta-regression. The effect size in the dataset depends on climate (y ~ temperature + precipitation):
meta <- rma(es, var, data=df, mods= ~ 1 + precip + temp)
As I have data for temperature and precipitation for virtually all points on Earth, I have upscaled this effect and standard error (SE) globally, that is, applying the model to predict the effect for all points on Earth, thus creating a gridded map:
s <- stack(temperature, precipitation) # Raster stack of the maps of temperature and precipitation
s.df <- as.data.frame(s,xy=TRUE) # Transform raster stack to data.frame with coordinates
# predict ES and SE for all points with temperature and precipitation data
pred <- predict(meta, newmods = cbind(s.df$precipitation, s.df$temperature))
The resulting "upscaled" predictions of SE thus represent the meta-analysis derived uncertainty. What this SE does not reflect is the uncertainty derived from the fact that the number of experiments in the dataset used to run the meta-regression is obviously limited, yet I predicted the effect globally, even in areas not covered by experiments. In particular, it is very obvious in the dataset that tropical ecosystems are not well represented, with just a couple of experiments in the meta-analysis. Therefore, the upscaled effect should be more uncertain in tropical regions. In the current version, however, SE is not particularly higher in the tropics than in other areas, because the model just depends on climate, not ecosystem representativeness. I would like to add a further level of uncertainty to SE based on the number of studies per type of ecosystem in the dataset. The idea is that ecosystems that are poorly sampled should have a higher SE than ecosystems with plenty of measurements in the dataset.
Ecosystem type does not appear to explain variation in the effect, reason I haven’t included it as a moderator. This could just be the consequence of the low sample size of some ecosystem types. Regardless, ecosystem type should be forced in the model somehow to account for the uncertainty associated with the low sample size of some types of ecosystem.
I have tried this:
meta.mv <- rma.mv(es, var, data=df, random= ~1|Biome, mods= ~ 1 + MAP + MAT)
pred.mv <- predict(meta.mv,
newmods = cbind(s.df$precipitation, s.df$temperature),
But the predictions of SE in pred.mv still show rather low SE values in poorly sampled areas.
How can I force the model to predict larger errors in ecosystem types with low sample size? Should I include ecosystem type as a random or fixed effect? How should the “predict" function be called?
[[alternative HTML version deleted]]
More information about the R-sig-meta-analysis