Dynamic Factor Models
Chandler Lester
12 June 2018
Dynamic Factor Methods:
The Main Idea
- In a general VAR model we often have an system of the form:
\[ Y_{t} = \lambda + H' X_{t}+ w_{t} \] \[ X_{t} = \alpha + F X_{t-1} + v_{t} \]
- If we want include a large number of variables this approach could be very difficult
- The degrees of freedom for the regression will be negatively impacted
- Instead of using this form, we might instead believe that the dynamics of \(X_{t}\) stem from a small number of unobserved variables we call factors
- Intuitively this seems like it may be true
- If we could recover these factors we could use them in our subsequent analysis and reduce our number of parameters significantly
How do we find these factors?
- The basic idea is to decompose \(X_{t}\) into \(K\) common components and \(N\) idiosyncratic components \[X_{t} = \lambda(L) F_{t} + e_{t} \]
\(F_{t}\) is a \(K\times 1\) vector of factors, \(X_{t}\) is demeaned and standardized, and \(\lambda(L)\) is a \(N\times K\) matrix of factor loadings
- This means we have \(K\) factors and \(N\) idiosyncratic components
- or \(K\) “common components” and \(N\) components that capture series specific variation
- We assume that \(K \ll N\)
- One popular way to rewrite the state-space model in this setting is:
\[ y_{t} = a(L)F_{t} + u_{t} \] \[ F_{t} = \Phi_{1}F_{t-1} + \dotso + \Phi_{p}F_{t-p} + \varepsilon_{t}^{f}\] \[ u_{t} = \phi_{1}u_{t-1} + \dotso + \phi_{p}u_{t-p} + v_{t} \]
- We could alter \(F_{t}\) and \(u_{t}\) to follow any \(ARMA(p,q)\) process
What do We Get out of DFMs?
- We might want to include a large number of variables in our model
- Using factors we can capture information from many variables in just a few key ones
- This will allow us to save degrees of freedom, while inlcuding a lot of information
- Getting information on variance decomposition and movements of variables from these models is simple
- This is useful when we are most interested in the impact of several layers of factors
- One example of this is: “International Business Cycles: World, Region, and Country-Specfic Factors” by Kose, Otrok, and Whiteman (2003)
- Dynamic Factor models might not always seem intuitive on their own, since coefficients on factors may seem meaningless at a glance
Additional Models:
FAVAR Models
Factor augmented VAR models, FAVARs, allow for more theortical insight into our model by combining dynamic factors and VARs
Modifying the model from a previous slide, a popular FAVAR would be:
\[ y_{t} = a(L)F_{t} + b(L)\gamma_{t} + u_{t} \] \[ F_{t} = \Phi_{1}F_{t-1} + \dotso + \Phi_{p}F_{t-p} + \varepsilon_{t}^{f}\] \[ \gamma_{t} = \beta_{1}\gamma_{t-1} + \dotso + \beta_{p}\gamma_{t-p} + \varepsilon_{t}^{\gamma}\]
We can estimate this model using methods similar to DFM estimation
This model is more intuitive, since our VAR contains factors and regular data
FAVARs are also intuitive and more useful when we are interested in impulse responses
Additional Models:
TVP-FAVAR Models
We might want to allow coefficients in our model to vary over time, this leads us to time varying parameters FAVARs (TVP-FAVARs) \[ y_{i,t} = \lambda_{i,t}f_{t} + \alpha_{i,t}\gamma_{i,t} + u_{i,t} \] \[ f_{t} = \Phi_{1,t}f_{t-1} + \dotso + \Phi_{p,t}f_{t-p} + \varepsilon_{t}^{f}\] \[ \gamma_{t} = \beta_{1,t}\gamma_{t-1} + \dotso + \beta_{p,t}\gamma_{t-p} + \varepsilon_{t}^{\gamma}\]
- Depending on what we are trying to find allowing parameters to vary over time can be vital to obtaining reasonable results
- TVP-FAVARs can easily be over-parameterized
- Calculation of TVP-FAVARs is only slightly more complex than computation of DFM models
Approaches to Estimating DFMs
- Maximum Likelihood Estimation (frequentist)
- good for when \(n\) is small
- Principal Components Estimation (frequentist)
- good for when \(n\) is large
- Bayesian “State-Space” approach (Kim-Nelson)
- good for when the number of factors \(k\) is small
- Bayesian Otrok-Whiteman approach
- good for when the number of factors \(k\) is large
- good for large data sets
- based on data augmentation techniques
The Otrok-Whiteman Approach
- This approach builds on a key observation, if we could observe the factors under a conjugate prior our DFM would just be a simple set of regressions
- Using this structure we can find the conditional (normal) distribution of the factors given our data and parameters
- Since we know the full set of conditional distributions, we can generate random samples from the joint posterior distribution for the unknown parameters
- This is our Markov Chain Monte Carlo (MCMC) procedure, that we will implement
- This decomposes our problem into independent, simple calculations
- Which cannot be done with other approaches that rely on MLE
More on the Otrok-Whiteman Approach
The general idea behind this approach is to implement a MCMC procedure. Suppose we have a model with world, region, and country factors.
\[ y_{i,t} = a_{i} + b_{i}^{world}f_{t}^{world} + b_{i}^{region}f_{r,t}^{region} + b_{i}^{country}f_{n,t}^{country}+\varepsilon_{i,t}\]
where,
\[f_{k,t} =\varepsilon_{f_{k},t} \hspace{2ex} \text{and} \hspace{2ex} \varepsilon_{f_{k},t} = \phi_{f_{k},1}\varepsilon_{f_{k},t-1} + \phi_{f_{k},2}\varepsilon_{f_{k},t-2}+\dotso+\phi_{f_{k},q}\varepsilon_{f_{k},t-q} + u_{f_{k},t}\]
- Take starting values as given
- Sample parameters conditional on factors
- Sample world factor conditional on parameters and other factors
- Sample region factor conditional on parameters and other factors
- Sample country factor conditional on parameters and other factors
- Iterate steps 1-5 for a specified number of draws
My Code process
I’m working on coding the following model with just a single “world” factor
\[y_{t} = β\cdot F_{t} + γ_{t} \] \[γ_{t} = ψ(L)\cdot γ_{t-1} + u_{t}\] \[ F_{t} = ϕ(L)\cdot F_{t-1} + v_{t}\] where:
\[u_{t} ∼ N(0,Ω) \hspace{2ex} \text{and} \hspace{2ex} v_{t} ∼ N(0,I)\]
This model, and code are based on “Specification and Estimation of Bayesian Dynamic Factor Models: A Monte Carlo Analysis with an Application to Global House Price Comovement” (2015) by Jackson et al.
My Code Process (2)
In my code, I begin by generating data based on my model using the following steps:
- Define key model attributes (length of time series, number of factors, number of lags)
- Generate \(\phi\) values
- Set \(\Omega\)
- Generate \(\psi\) values
- Generate factor loadings
- Generate \(v_{t}\) and then our factors
- Calculate \(u_{t}\) and \(\gamma_{t}\)
- Then calculate \(y_{t}\)
- Check to make sure none of the series’ contain unit roots, if they do reject the draw and repeat steps 1-8
My Code Process (3)
Now that I have a dataset that contains my true factors and factor loadings I can try to back out these values
Implementing the Otrok-Whiteman Approach
I set priors for:
- The mean and precision for my factor loadings
- The mean and precision for my factor
- The mean and precision for \(\phi\)
- And various other parameters
I then demean my dataset and run a Monte-Carlo loop to find the parameters of my model
- I set inital values for some parameters, including my factor
- I use an function called AR to find: \(\beta\) and \(\sigma_{u}\)
- I use a different function called AR Fac. to find: \(\phi\)
- I then draw my factor
- I repeat 1-4 for a number of burn in draws, and then for some additional draws
This process doesn’t take very long, but depends on a lot of code
Accuracy of These Methods
The Jackson et al. paper implements a Monte Carlo analysis to compare the principal components approach, the Bayesian statespace approach, and the Bayesian Gibbs sampling approach
One Factor Setting
In the one factor case all of the methods do fairly well

Two Factor Setting

Accuracy of These Methods (2)
Three Factor Setting


References and Interesting Papers
References for this presentation
- “International Business Cycles: World, Region, and Country-Specific Factors”
- Kose, Otrok, and Whiteman (AER,2003)
- “Specification and Estimation of Bayesian Dynamic Factor Models: A Monte Carlo Analysis with an Application to Global House Price Comovement”
- Jackson et al. (Advances in Econometrics Vol. 35., 2015)
- “Bayesian Multivariate Time Series Methods for Empirical Macroeconomics”
- Koop and Korobilis (Chapter 5, 2010)
Other Papers
- “Measuring the effects of Monetary Policy: a Factor-Augmented Vector Autoregressive (FAVAR) Approach”
- Bernanke, Boivin, and Eliasz (2005)
- “99 Luftballons: Monetary Policy and the House Price Boom across U.S. States”
- Del Negro and Otrok (2005)
- “States and the Business Cycle”
- Owyang, Rapach, and Wall (2008)
- “Monetary Policy in a Data-rich Environment”
- Bernanke and Boivin (2003)