GCC {GCCfactor} | R Documentation |
Generalised canonical correlation estimation for the global factors
Description
This function is one of the main functions the package, employing the
generalized canonical correlation estimation for both the global factors
\boldsymbol{G}
and, when not explicitly provided, for the number of
global factors r_{0}
. Typically, this function is intended for internal
purposes. However, users one can opt for GCC() instead of multilevel(),
if the users only need to estimate the number of global factors.
Usage
GCC(
data,
standarise = TRUE,
r_max = 10,
r0 = NULL,
ri = NULL,
depvar_header = NULL,
i_header = NULL,
j_header = NULL,
t_header = NULL
)
Arguments
data |
Either a data.frame or a list of data matrices of length |
standarise |
A logical indicating whether the data is standardised before estimation or not. See Details. |
r_max |
An integer indicating the maximum number of factors allowed. See Details. |
r0 |
An integer of the number of global factors. See Details. |
ri |
An array of length |
depvar_header |
A character string specifying the header of the dependent variable. See Details. |
i_header |
A character string specifying the header of the block identifier. See Details. |
j_header |
A character string specifying the header of the individual identifier. See Details. |
t_header |
A character string specifying the header of the time identifier. See Details. |
Details
The user-supplied data.frame should contain at least four columns, namely the
dependent variable (y_{ijt}
), block identifier (i
), individual
identifier (j
), and time (t
). The user needs to supply their corresponding
headers in the data.frame to the function using the parameters "depvar_header",
"i_header", "j_header", and "t_header", respectively. If the data is supplied
as a list, these arguments will not be used.
If either r0 = NULL or ri = NULL, both of them will be estimated. In such case, "r_max" must be supplied. If "r0" and "ri" are supplied then "r_max" is not needed and will be ignored.
If standarise = TRUE, each time series will be standardised so it has zero mean and unit variance. It is recommended to standardise the data before estimation.
See Lin and Shin (2023) for more details.
Value
A list containing the estimated number of global factors \hat{r}_{0}
,
the global factors \widehat{\boldsymbol{G}}
, and the other elements that are
used in multilevel().
References
Lin, R. and Shin, Y., 2022. Generalised Canonical Correlation Estimation of the Multilevel Factor Model. Available at SSRN 4295429.
Examples
panel <- UKhouse # load the data
Y_list <- panel2list(panel, depvar_header = "dlPrice", i_header = "Region",
j_header = "LPA_Type", t_header = "Date")
est_GCC <- GCC(Y_list, r_max = 10)
r0_hat <- est_GCC$r0 # number of global factors
G_hat <- est_GCC$G # global factors