The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

MAIVE: Meta-Analysis Instrumental Variable Estimator

CRAN status R-CMD-check Codecov test coverage

Spurious Precision in Meta-Analysis of Observational Research
by Zuzana Irsova, Pedro R. D. Bom, Tomas Havranek, and Heiko Rachinger

Project Website: https://meta-analysis.cz/maive/


Overview

MAIVE addresses a fundamental problem in meta-analysis of observational research: spurious precision.

Traditional meta-analysis assigns more weight to studies with lower standard errors, assuming higher precision. However, in observational research, precision can be manipulated through p-hacking and other questionable research practices, invalidating:

MAIVE implements an instrumental variable approach to limit bias caused by spurious precision in meta-analysis.

Installation

From CRAN (coming soon)

install.packages("MAIVE")

Development version

install.packages("devtools")
devtools::install_github("meta-analysis-es/maive")

Load package

library(MAIVE)

Quick Start

# Prepare your data
data <- data.frame(
  bs = c(...),        # Effect sizes
  sebs = c(...),      # Standard errors
  Ns = c(...),        # Sample sizes
  study_id = c(...)   # Study IDs (optional)
)

# Run MAIVE with defaults (PET-PEESE, instrumented SEs, no weights)
result <- maive(
  dat = data,
  method = 3,      # PET-PEESE (default)
  weight = 0,      # No weights (default)
  instrument = 1,  # Instrument SEs (default)
  studylevel = 2,  # Cluster-robust (default)
  SE = 3,          # Wild bootstrap (default)
  AR = 1           # Anderson-Rubin CI (default)
)

# View results
print(result$Estimate)    # MAIVE estimate
print(result$SE)          # Standard error
print(result$Hausman)     # Hausman test
print(result$`F-test`)    # First-stage F-test

Data Structure

The maive() function expects a data frame with:

Column Label Description
1 bs Primary estimates (effect sizes)
2 sebs Standard errors (must be > 0)
3 Ns Sample sizes (must be > 0)
4 study_id Study identification (optional, for clustering/fixed effects)

Key Features

Methods

Weighting Schemes

Robust Inference

Output

The function returns:

Documentation

Example

# Create example data
set.seed(123)
data <- data.frame(
  bs = rnorm(50, mean = 0.3, sd = 0.2),
  sebs = runif(50, min = 0.05, max = 0.3),
  Ns = sample(100:1000, 50, replace = TRUE),
  study_id = rep(1:10, each = 5)
)

# Run MAIVE
result <- maive(data, method = 3, weight = 0, instrument = 1, 
                studylevel = 2, SE = 3, AR = 1)

# Compare with standard estimate
cat("MAIVE Estimate:", result$Estimate, "\n")
cat("Standard Estimate:", result$StdEstimate, "\n")
cat("Hausman Test:", result$Hausman, "\n")

# Use WAIVE for robust estimation with outlier downweighting
result_waive <- waive(data, method = 3, instrument = 1, 
                      studylevel = 2, SE = 3, AR = 1)
cat("WAIVE Estimate:", result_waive$Estimate, "\n")

Citation

If you use MAIVE in your research, please cite:

Irsova, Z., Bom, P. R. D., Havranek, T., & Rachinger, H. (2024). Spurious Precision in Meta-Analysis of Observational Research. Available at: https://meta-analysis.cz/maive/

References

Keane, M., & Neal, T. (2023). Instrument strength in IV estimation and inference: A guide to theory and practice. Journal of Econometrics, 235(2), 1625-1653. https://doi.org/10.1016/j.jeconom.2022.12.009

Tipton, E. (2015). Small sample adjustments for robust variance estimation with cluster-correlated data. Psychological Methods, 20(3), 375–389. https://doi.org/10.1037/met0000019

Contributing

We welcome contributions! Please see our GitHub repository for:

License

MIT License - see LICENSE file for details.

Authors


Questions? Contact the maintainer or visit our project website.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.