-
Notifications
You must be signed in to change notification settings - Fork 1
normal_wishart
The Normal-Wishart VAR implements a Bayesian Vector Autoregression with conjugate Normal-Wishart priors. This specification allows for analytical computation of the posterior distribution, making it computationally efficient while providing a principled way to incorporate prior beliefs about both VAR coefficients and the error covariance matrix.
The Normal-Wishart prior assumes:
- VAR coefficients follow a multivariate normal distribution
- The error covariance matrix follows an inverse Wishart distribution
- The conjugate structure enables closed-form posterior computation
This conjugacy property makes the estimator particularly attractive for applications requiring fast computation or when analytical tractability is important.
-
Sigma: Method of calculating priors on covariance matrix
- Values: "ar" (autoregressive) or "eye" (identity-based)
- Default: "ar"
- Controls how the prior covariance matrix is constructed
-
Autoregression: Prior on first-order autoregression
- Range: [0, 1]
- Default: 0.8
- Controls the belief in random walk behavior for own lags
-
Lambda1: Overall tightness of priors
- Range: (0, ∞)
- Default: 0.1
- Smaller values impose tighter priors (more shrinkage)
-
Lambda2: Variable weighting
- Range: (0, ∞)
- Default: 0.5
- Controls relative weights between own-variable and cross-variable lags
-
Lambda3: Lag decay
- Range: (0, ∞)
- Default: 1
- Controls how quickly prior importance decays with lag length
-
Lambda4: Exogenous variable tightness
- Range: (0, ∞)
- Default: 100
- Controls prior tightness on exogenous variable coefficients
-
Lambda5: Block exogeneity shrinkage
- Range: (0, ∞)
- Default: 0.001
- Controls shrinkage when block exogeneity is imposed
-
Exogenous: Priors on exogenous variables flag
- Default: false
- Enables specialized priors for exogenous variables
-
BlockExogenous: Block exogeneity flag
- Default: false
- Imposes block exogeneity restrictions
-
Burnin: Number of burn-in draws
- Range: [0, ∞)
- Default: 0
- Note: Analytical posterior may not require burn-in
-
StabilityThreshold: Threshold for maximum eigenvalue magnitude
- Range: (0, ∞)
- Default: null (no stability check)
- Ensures VAR stability by rejecting draws with eigenvalues above threshold
-
MaxNumUnstableAttempts: Maximum number of unstable sampling attempts
- Range: [1, ∞)
- Default: 1000
- Maximum attempts to find stable draw before stopping
- Computational efficiency: When fast estimation is required
- Analytical tractability: When closed-form posteriors are needed
- Moderate sample sizes: Works well with typical macroeconomic datasets
- Standard applications: Good baseline choice for many VAR applications
- Time-varying parameters: Use time-varying estimators instead
- Heavy model uncertainty: May want more flexible priors
- Very small samples: May need more informative priors
- Start with default parameter values and adjust based on data characteristics
- Monitor stability if using stability threshold
- Consider cross-validation for hyperparameter selection
- The conjugate structure makes this estimator suitable for real-time applications
- Speed: Very fast due to analytical posterior computation
- Memory: Moderate memory requirements
- Parallelization: Limited parallelization opportunities due to analytical nature
- Numerical stability: Generally stable but monitor condition numbers
- Kadiyala, K.R. and S. Karlsson (1997). "Numerical Methods for Estimation and Inference in Bayesian VAR-models"
- Koop, G. and D. Korobilis (2010). "Bayesian Multivariate Time Series Methods for Empirical Macroeconomics"