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).
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.
Returns
the first K principle components, i.e. Ft(n), not containing the information R.
Details
The algorithm is as follows:
Extract the first K principal components noted Ft(0) from X.
Regress X on Ft(0) and Rt, and get regression coefficients βR(0) of Rt.
compute X0(0)=Xt−RtβR.
Extract the first K principal components noted Ft(1) from X_t^{(0)}.
repeat step 2 - step 4 until precision you want.
Examples
data('regdata')BGM(X = regdata[,1:115],R = regdata[,ncol(regdata)], K =2)
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.