Learn R Programming

FAVAR (version 0.1.3)

BGM: Separate \(R\) From \(X\)

Description

\(X\) may include some information related with \(R\). The function extract factors from X which is not related with R by iteration based on Boivin et al. (2009).

Usage

BGM(X, R, K = 2, tolerance = 0.001, nmax = 100)

Arguments

X

a large matrix from which principle components are extracted.

R

a numeric vector which we are interesting in, for example interest rates.

K

the number of extracted principle components.

tolerance

the difference between factors when iterating.

nmax

the max iterations, see details.

Value

the first K principle components, i.e. \(F_t^{(n)}\), not containing the information R.

Details

The algorithm is as follows:

  1. Extract the first K principal components noted \(F_t^{(0)}\) from X.

  2. Regress X on \(F_t^{(0)}\) and \(R_t\), and get regression coefficients \(\beta_R^{(0)}\) of \(R_t\).

  3. compute \(X_0^{(0)} = X_t- R_t \beta_R\).

  4. Extract the first K principal components noted \(F_t^{(1)}\) from X_t^{(0)}.

  5. repeat step 2 - step 4 until precision you want.

References

Boivin, J., M.P. Giannoni and I. Mihov, Sticky Prices and Monetary Policy: Evidence from Disaggregated US Data. American Economic Review, 2009. 99(1): p. 350-384.

Examples

Run this code
# NOT RUN {
data('regdata')
BGM(X = regdata[,1:115],R = regdata[,ncol(regdata)], K = 2)
# }

Run the code above in your browser using DataLab