GMM Estimation of Life-Cycle Models
GMM Estimation of Life-Cycle Models is done in Life-Cycle Models 45-50 in
pdf: An Introduction to Life-Cycle Models
and GMM is formally described in the appendix.
Once you can solve Life-Cycle models the next obvious question is how to choose the parameter values? An important statistical estimator for Life-Cycle models is the Generalized Method of Moments (GMM). This involves estimating some parameters of the Life-Cycle model, so that the model succeeds in matching some moments —say mean earnings— of the data. Formally, we estimate model parameters \(\theta\) as,
\( \theta^*=argmin_{\theta} (M^d-M^m(\theta))’ W (M^d-M^m(\theta)) \)
where \(M^d\) are the data moments that we target, \(M^m(\theta)\) are the corresponding moments of the model, and \(W\) is a weighting matrix. You can think of this as choosing model parameters \(\theta\) to minimize the (weighted) sum of squares of the difference between the data moments and the model moments—e.g., between mean earnings in the data and mean earnings in the model.
Life-Cycle models 45-50 in the Introduction of Life-Cycle Models show how to perform GMM estimation, needing only around 10 additional lines of code after the model itself has been set up. Life-Cycle model 45 estimates three preference parameters to match the age-conditional mean earnings. The focus is on the steps involved in performing GMM estimation in VFI Toolkit: setting up the weighting matrix, the target (data) moments, the covariance matrix of the target moments, and specifying the names of the parameters to be estimated. Then just one command EstimateLifeCycleModel_MethodOfMoments() does the rest. Life-Cycle model 46 shows how we can parametrize, and thus estimate, the initial distribution of agents and the exogenous shock processes; it also covers how to restrict parameters to be, e.g., positive or valued between 0 and 1. Life-Cycle model 47 demonstrates how we calculate the data moments and their covariance matrix from real-world data, using the PSID panel data set1 (taking advantage of the ImportPSIDdata() command). Life-Cycle model 48 covers lots of options and looks at all the output, which includes the issues of identification and sensitivity. Life-Cycle models 49 and 50 show how to use permanent types with EstimateLifeCycleModel_PType_MethodOfMoments(), showing how you can parametrize the permanent types to estimate unobserved heterogeneity, and how to use parameters that depend on permanent type, as well as target moments that depend on permanent type.
Traditionally, GMM estimation of Life-Cycle models has required a large amount of extra work and knowledge. With VFI Toolkit you can perform GMM estimation of Life-Cycle models in just ~10 lines of code (not counting the empirical work involved in estimating the target moments and their covariance matrix). Have fun! 😀
- Except Life-Cycle model 47, all the other examples all use model-generated data, which has the advantage that we know the parameter values that generate the data and therefore know if we are estimating the true parameter values. ↩︎