|
1 | 1 | #' Dynamic Factor Models |
2 | 2 | #' |
3 | | -#' *dfms* provides efficient estimation of Dynamic Factor Models via the EM Algorithm. |
| 3 | +#' @description |
4 | 4 | #' |
5 | | -#' Estimation can be done in 3 different ways following: |
| 5 | +#' *dfms* provides efficient estimation of Dynamic Factor Models via the EM Algorithm --- following Doz, Giannone & Reichlin (2011, 2012) and Banbura & Modugno (2014). The package has the following contents: |
6 | 6 | #' |
7 | | -#' - Doz, C., Giannone, D., & Reichlin, L. (2011). A two-step estimator for large approximate dynamic factor models based on Kalman filtering. *Journal of Econometrics, 164*(1), 188-205. <doi:10.1016/j.jeconom.2011.02.012> |
| 7 | +#' **Information Criteria** |
8 | 8 | #' |
9 | | -#' - Doz, C., Giannone, D., & Reichlin, L. (2012). A quasi-maximum likelihood approach for large, approximate dynamic factor models. *Review of Economics and Statistics, 94*(4), 1014-1024. <doi:10.1162/REST_a_00225> |
10 | | -#' |
11 | | -#' - Banbura, M., & Modugno, M. (2014). Maximum likelihood estimation of factor models on datasets with arbitrary pattern of missing data. *Journal of Applied Econometrics, 29*(1), 133-160. <doi:10.1002/jae.2306> |
12 | | -#' |
13 | | -#' The default is `em.method = "auto"`, which chooses `"BM"` following Banbura & Modugno (2014) with missing data or mixed frequency, and `"DGR"` following Doz, Giannone & Reichlin (2012) otherwise. Using `em.method = "none"` generates Two-Step estimates following Doz, Giannone & Reichlin (2011). This is extremely efficient on bigger datasets. PCA and Two-Step estimates are also reported in EM-estimation. All methods support missing data, but `em.method = "DGR"` does not model them in EM iterations. |
14 | | -#' |
15 | | -#' @section Package Contents: |
16 | | -#' |
17 | | -#' **Functions to Specify/Estimate Model and Key Methods** |
18 | | -#' |
19 | | -#' \code{\link[=ICr]{ICr()}} --- Information Criteria\cr |
| 9 | +#' \code{\link[=ICr]{ICr()}}\cr |
20 | 10 | #' |
21 | 11 | #' - \code{\link[=plot.ICr]{plot(<ICr>)}}\cr |
22 | 12 | #' - \code{\link[=screeplot.ICr]{screeplot(<ICr>)}}\cr |
23 | 13 | #' |
24 | | -#' \code{\link[=DFM]{DFM()}} --- Estimate the Model\cr |
| 14 | +#' **Fit a Dynamic Factor Model** |
| 15 | +#' |
| 16 | +#' \code{\link[=DFM]{DFM()}}\cr |
25 | 17 | #' |
26 | 18 | #' - \code{\link[=summary.dfm]{summary(<dfm>)}}\cr |
27 | 19 | #' - \code{\link[=plot.dfm]{plot(<dfm>)}}\cr |
28 | 20 | #' - \code{\link[=as.data.frame.dfm]{as.data.frame(<dfm>)}}\cr |
29 | 21 | #' - \code{\link[=residuals.dfm]{residuals(<dfm>)}}\cr |
30 | 22 | #' - \code{\link[=fitted.dfm]{fitted(<dfm>)}} |
31 | 23 | #' |
32 | | -#' \code{\link[=predict.dfm]{predict(<dfm>)}} --- Generate Forecasts\cr |
| 24 | +#' **Generate Forecasts** |
| 25 | +#' |
| 26 | +#' \code{\link[=predict.dfm]{predict(<dfm>)}}\cr |
33 | 27 | #' |
34 | 28 | #' - \code{\link[=plot.dfm_forecast]{plot(<dfm_forecast>)}}\cr |
35 | 29 | #' - \code{\link[=as.data.frame.dfm_forecast]{as.data.frame(<dfm_forecast>)}}\cr |
36 | 30 | #' |
37 | | -#' **Auxiliary Functions** |
| 31 | +#' **Fast Stationary Kalman Filtering and Smoothing** |
38 | 32 | #' |
39 | | -#' \code{\link[=.VAR]{.VAR()}} --- Estimate Vector Autoregression\cr |
40 | 33 | #' \code{\link[=SKF]{SKF()}} --- Stationary Kalman Filter\cr |
41 | 34 | #' \code{\link[=FIS]{FIS()}} --- Fixed Interval Smoother\cr |
42 | 35 | #' \code{\link[=SKFS]{SKFS()}} --- Stationary Kalman Filter + Smoother\cr |
| 36 | +#' |
| 37 | +#' **Helper Functions** |
| 38 | +#' |
| 39 | +#' \code{\link[=.VAR]{.VAR()}} --- (Fast) Barebones Vector-Autoregression\cr |
| 40 | +#' \code{\link[=ainv]{ainv()}} --- Armadillo's Inverse Function\cr |
| 41 | +#' \code{\link[=apinv]{apinv()}} --- Armadillo's Pseudo-Inverse Function\cr |
43 | 42 | #' \code{\link[=tsnarmimp]{tsnarmimp()}} --- Remove and Impute Missing Values in a Multivariate Time Series\cr |
44 | | -#' \code{\link[=ainv]{ainv()}} --- Rcpp Armadillo's Inverse Function\cr |
45 | | -#' \code{\link[=apinv]{apinv()}} --- Rcpp Armadillo's Pseudo-Inverse Function\cr |
| 43 | +#' \code{\link[=em_converged]{em_converged()}} --- Convergence Test for EM-Algorithm\cr |
46 | 44 | #' |
47 | 45 | #' **Data** |
48 | 46 | #' |
49 | 47 | #' \code{\link{BM14_M}} --- Monthly Series by Banbura and Modugno (2014)\cr |
50 | 48 | #' \code{\link{BM14_Q}} --- Quarterly Series by Banbura and Modugno (2014)\cr |
51 | 49 | #' \code{\link{BM14_Models}} --- Series Metadata + Small/Medium/Large Model Specifications\cr |
52 | 50 | #' |
| 51 | +#' @references |
| 52 | +#' Doz, C., Giannone, D., & Reichlin, L. (2011). A two-step estimator for large approximate dynamic factor models based on Kalman filtering. *Journal of Econometrics, 164*(1), 188-205. <doi:10.1016/j.jeconom.2011.02.012> |
| 53 | +#' |
| 54 | +#' Doz, C., Giannone, D., & Reichlin, L. (2012). A quasi-maximum likelihood approach for large, approximate dynamic factor models. *Review of Economics and Statistics, 94*(4), 1014-1024. <doi:10.1162/REST_a_00225> |
| 55 | +#' |
| 56 | +#' Banbura, M., & Modugno, M. (2014). Maximum likelihood estimation of factor models on datasets with arbitrary pattern of missing data. *Journal of Applied Econometrics, 29*(1), 133-160. <doi:10.1002/jae.2306> |
| 57 | +#' |
53 | 58 | #' @docType package |
54 | 59 | #' @name dfms-package |
55 | 60 | #' @aliases dfms |
|
0 commit comments