Package Overview
The hetid
package provides a comprehensive R
implementation of heteroskedasticity-based identification methods for
econometric models with endogenous regressors. When traditional
instrumental variables are unavailable, these methods exploit
heteroskedasticity in the error terms to achieve identification.
Available Methods
The package implements three major identification strategies:
- Lewbel (2012): Uses continuous heteroskedasticity drivers
- Rigobon (2003): Exploits discrete regime changes
- Prono (2014): Leverages time-varying conditional heteroskedasticity (GARCH)
Vignette Guide
Getting Started
-
Getting Started with
hetid
- Basic introduction to the package
- Simple examples using Lewbel’s method
- Data generation and assumption verification
- Read this first if you’re new to the package
Theoretical Background
-
Heteroskedasticity-Based
Identification: Theory and Methods
- Mathematical foundations of all methods
- Detailed assumptions and identification conditions
- Klein & Vella (2010) control function approach
- Essential reading for understanding the methods
Method-Specific Guides
-
GMM Estimation for Lewbel
(2012)
- Advanced GMM implementation
- Efficiency considerations
- Both triangular and simultaneous systems
- For users needing optimal estimation
-
The Rigobon
Method
- Regime-based heteroskedasticity
- Financial contagion example
- Comparison with Lewbel approach
- Best for discrete variance changes
-
The Prono (2014)
Method
- GARCH-based identification
- Time series applications
- Asset pricing examples
- Ideal for financial time series
Validation and Comparison
-
Comparing Lewbel (2012)
Implementations
- Empirical verification against Stata and REndo
- Implementation differences explained
- Matching results across software
- Important for replication studies
Suggested Reading Order
For Practitioners
- Getting Started - Basic usage
- Choose your method:
- Cross-sectional data → Lewbel GMM
- Regime changes → Rigobon
- Time series → Prono
- Package Comparison - Verify your results
For Researchers
- Theory and Methods - Mathematical foundations
- Getting Started - Implementation basics
- All method-specific vignettes for comprehensive understanding
- Package Comparison - Software validation
Quick Decision Guide
Which method should I use?
│
├─ Do you have time series data?
│ ├─ Yes → Is volatility time-varying (GARCH-like)?
│ │ ├─ Yes → Use Prono method
│ │ └─ No → Use Lewbel method
│ └─ No → Do you have discrete regime changes?
│ ├─ Yes → Use Rigobon method
│ └─ No → Use Lewbel method
Key Functions by Method
Lewbel (2012)
-
generate_lewbel_data()
- Generate test data -
verify_lewbel_assumptions()
- Check assumptions -
run_single_lewbel_simulation()
- Point estimation -
calculate_lewbel_bounds()
- Set identification -
lewbel_gmm()
- GMM estimation
Rigobon (2003)
-
generate_rigobon_data()
- Generate regime-based data -
validate_rigobon_assumptions()
- Test assumptions -
run_rigobon_estimation()
- Estimate model -
compare_rigobon_methods()
- Compare with alternatives
Prono (2014)
-
generate_prono_data()
- Generate GARCH data -
run_prono_demo()
- Quick demonstration -
run_single_prono_simulation()
- Single estimation -
run_prono_monte_carlo()
- Monte Carlo analysis
Installation
# Install from CRAN (when available)
install.packages("hetid")
# Install development version from GitHub
# install.packages("devtools")
devtools::install_github("fernando-duarte/heteroskedasticity_identification")